/* description: Parses words out of html, ignouring html in the parse, but returning it in the end */ //phpOption parserClass:JisonParser_Phraser //phpOption lexerClass:JisonParser_Phraser_Lexer /* lexical grammar */ %lex %% "<"(.|\n)*?">"+ return 'TAG' (\w|\d)+ return 'WORD' (.|\n|\s) return 'CHAR' <> return 'EOF' /lex %start html %% /* language grammar */ html : contents EOF {return $1;} ; contents : content {$$ = $1;} | contents content { $$ = $1 + $2; //js //php $$ = $1 . $2; } ; content : TAG { $$ = Phraser.tagHandler($1);//js //php $$ = $this->tagHandler($1); } | WORD { $$ = Phraser.wordHandler($1);//js //php $$ = $this->wordHandler($1); } | CHAR { $$ = Phraser.charHandler($1);//js //php $$ = $this->charHandler($1); } ;