@@ -18,33 +18,22 @@ import java.util.Stack;
1818%eof{ return ;
1919%eof}
2020
21- %state YYINITIAL
22- %state IN_BLOCK
2321
24- // Common macros
2522WHITESPACE = [ \t\f]
2623NEWLINE = \r\n|\r|\n
2724COMMENT = ";" [^\n] *
2825
29- // Identifier patterns
3026IDENTIFIER = [ _a- zA- Z][ a- zA- Z0- 9_\-\\ ] *
3127NUMBER = [ 0- 9] +
32- // TEXT = [^\s{\}(\)\[\]<\>\|\#\'\`\-\+\?\@][^\s{\}(\)\[\]<\>]*
33- SYMBOL = [ \-\+\~\?\<\>\@ ]
34-
3528QUOTTED_STRING = "\" " ( \\\" | [^ \" ] )* "\" "
3629
37- // Special symbols
38- LBRACE = "{"
39- RBRACE = "}"
4030LPAREN = "("
4131RPAREN = ")"
42- LBRACKET = "["
43- RBRACKET = "]"
4432DOLLAR_SIGN = "$"
4533EQUALS_SIGN = "="
4634COLON = ":"
4735SLASH = "/"
36+ DASH = "-"
4837
4938%{
5039private Stack<Integer > stack = new Stack<> ();
@@ -59,34 +48,28 @@ public void yypopState() {
5948}
6049%}
6150
62- %%
6351
64- <YYINITIAL, IN_BLOCK> {
65- {LBRACE} { yypushState( IN_BLOCK ); return PHPOpTypes . LBRACE ; }
66- {RBRACE} { yypopState(); return PHPOpTypes . RBRACE ; }
52+ %state YYINITIAL
53+
54+ %%
6755
68- // Special symbols
56+ <YYINITIAL> {
6957 {LPAREN} { return PHPOpTypes . LPAREN ; }
7058 {RPAREN} { return PHPOpTypes . RPAREN ; }
71- {LBRACKET} { return PHPOpTypes . LBRACKET ; }
72- {RBRACKET} { return PHPOpTypes . RBRACKET ; }
7359 {DOLLAR_SIGN} { return PHPOpTypes . DOLLAR_SIGN ; }
7460 {EQUALS_SIGN} { return PHPOpTypes . EQUALS_SIGN ; }
7561
76- // Common elements
77- {IDENTIFIER } { return PHPOpTypes . IDENTIFIER ; }
78- {COLON } { return PHPOpTypes . COLON ; }
79- {SLASH } { return PHPOpTypes . SLASH ; }
62+ {IDENTIFIER} { return PHPOpTypes . IDENTIFIER ; }
63+ {COLON } { return PHPOpTypes . COLON ; }
64+ {SLASH } { return PHPOpTypes . SLASH ; }
65+ {DASH } { return PHPOpTypes . DASH ; }
8066 {NUMBER} { return PHPOpTypes . NUMBER ; }
81- {SYMBOL} { return PHPOpTypes . SYMBOL ; }
82- // {TEXT}|{QUOTTED_STRING} { return PHPOpTypes.TEXT; }
83- {QUOTTED_STRING} { return PHPOpTypes . TEXT ; }
67+ {QUOTTED_STRING} { return PHPOpTypes . TEXT ; }
8468
85- // Whitespace and comments
8669 {WHITESPACE} { return TokenType . WHITE_SPACE ; }
8770 {NEWLINE} { return PHPOpTypes . EOL ; }
8871 {COMMENT} { return PHPOpTypes . COMMENT ; }
8972}
9073
9174// Catch any other character
92- [^] { return TokenType . BAD_CHARACTER ; }
75+ [^] { return TokenType . BAD_CHARACTER ; }
0 commit comments