Skip to content

Instantly share code, notes, and snippets.

@kevinrobayna
Created May 7, 2014 19:27
Show Gist options
  • Save kevinrobayna/1f14f8d9094e983e6c0a to your computer and use it in GitHub Desktop.
Save kevinrobayna/1f14f8d9094e983e6c0a to your computer and use it in GitHub Desktop.
%lex
%%
[\s\t\n\r] /** SKIP WHITESPACE */
<<EOF>> return 'EOF'
a return 'T_A';
b return 'T_B';
/lex
%%
S_A
: { return false; }
| T_A S_B
| T_B S_C
;
S_B
: { return false; }
| T_B S_D
;
S_C
: { return false; }
| T_A S_D
;
S_D
: EOF { return true;}
;
@crguezl
Copy link

crguezl commented May 7, 2014

            %lex
            %%

            \s+ /** SKIP WHITESPACE */
            .   return yytext;
            /lex

            %%

            S_A
                 : 'a' 'b' { console.log($1+$2);}
            ;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment