lib/parser/ext/lexer.lex in fancy-0.3.2 vs lib/parser/ext/lexer.lex in fancy-0.3.3
- old
+ new
@@ -21,10 +21,11 @@
double_lit {int_lit}\.{digit}+
hex_lit 0[xX]{hexdigit}+
bin_lit 0[bB]{bindigit}+
oct_lit 0[oO]{octdigit}+
string_lit L?\"(\\.|[^\\"])*\"
+backtick_lit L?`(\\.|[^`])*`
multiline_string L?\"\"\"(\\.|[^\\"])*\"\"\"
lparen \(
rparen \)
at @
atat @@
@@ -54,11 +55,11 @@
case "case"
identifier @?@?({lower}|[_&*])({letter}|{digit}|{special_under})*
selector ({letter}|[_&*])({letter}|{digit}|{special_under})*":"
constant {capital}({letter}|{digit}|{special_under})*
nested_constant ({constant}::)+{constant}
-symbol_lit \'({identifier}|{operator}|:|"[]")+
+symbol_lit \'({identifier}|{operator}|{constant}|:|"[]")+
ruby_send_open {identifier}{lparen}
ruby_oper_open {operator}{lparen}
regexp_lit "/".*"/"
comma ,
@@ -97,9 +98,13 @@
return DOUBLE_LITERAL;
}
{string_lit} {
yylval.object = rb_str_new2(yytext);
return STRING_LITERAL;
+ }
+{backtick_lit} {
+ yylval.object = rb_str_new2(yytext);
+ return BACKTICK_LITERAL;
}
{multiline_string} {
yylval.object = rb_str_new2(yytext);
return MULTI_STRING_LITERAL;
}