impl: add {pre,post}_assert statements
[m6w6/ext-psi] / src / parser.re
index b56385d49e0f42c5e7a4d4ed32b6485f9eeb6c22..df2d102716025b9df8dcab16634eec88d51a333a 100644 (file)
@@ -255,6 +255,10 @@ token_t psi_parser_scan(struct psi_parser *P)
                "}" {RETURN(PSI_T_RBRACE);}
                "[" {RETURN(PSI_T_LBRACKET);}
                "]" {RETURN(PSI_T_RBRACKET);}
+               "!=" {RETURN(PSI_T_CMP_NE);}
+               "==" {RETURN(PSI_T_CMP_EQ);}
+               "&&" {RETURN(PSI_T_AND);}
+               "||" {RETURN(PSI_T_OR);}
                "=" {RETURN(PSI_T_EQUALS);}
                "*" {RETURN(PSI_T_ASTERISK);}
                "~" {RETURN(PSI_T_TILDE);}
@@ -268,6 +272,10 @@ token_t psi_parser_scan(struct psi_parser *P)
                "^" {RETURN(PSI_T_CARET);}
                "<<" {RETURN(PSI_T_LSHIFT);}
                ">>" {RETURN(PSI_T_RSHIFT);}
+               "<=" {RETURN(PSI_T_CMP_LE);}
+               ">=" {RETURN(PSI_T_CMP_GE);}
+               "<" {RETURN(PSI_T_LCHEVR);}
+               ">" {RETURN(PSI_T_RCHEVR);}
                "..." {RETURN(PSI_T_ELLIPSIS);}
                [\r\n] { NEWLINE(nextline); }
                [\t ]+ { continue; }
@@ -308,6 +316,8 @@ token_t psi_parser_scan(struct psi_parser *P)
                'LIB' {RETURN(PSI_T_LIB);}
                'LET' {RETURN(PSI_T_LET);}
                'SET' {RETURN(PSI_T_SET);}
+               'PRE_ASSERT' {RETURN(PSI_T_PRE_ASSERT);}
+               'POST_ASSERT' {RETURN(PSI_T_POST_ASSERT);}
                'RETURN' {RETURN(PSI_T_RETURN);}
                'FREE' {RETURN(PSI_T_FREE);}
                'TEMP' {RETURN(PSI_T_TEMP);}