skip WHITESPACE '\s+' token NUM '[0-9]+' token VAR '[A-Za-z_][A-Za-z0-9_]*' token OP '\+|-' token MOP '\*|/' token IN '==>' token OUT '<==' token ASSIGN '->' token LOOP '\?\?' token IF '\?' token ELSE '\|' token LPAREN '\(' token RPAREN '\)' token LBRACE '\{' token RBRACE '\}' token SEMI ';' token OP '\+|-' token MOP '\*|/' % ::= **= InputStmt ::= OutputStmt ::= AssignStmt ::= ControlStmt ::= IfStmt ::= LoopStmt ::= ::= ::= **= ::= **= ::= | %