X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Fparser.re;h=fb460803bf37af692f85bdbaa5180bfdfcc573be;hp=b56385d49e0f42c5e7a4d4ed32b6485f9eeb6c22;hb=0eb2c3dc52fd9fde9413a544c3ea7ebfe1ec0e89;hpb=ff0048963fcbcddc9de14a3e1c370fcc81d12af7 diff --git a/src/parser.re b/src/parser.re index b56385d..fb46080 100644 --- a/src/parser.re +++ b/src/parser.re @@ -1,3 +1,28 @@ +/******************************************************************************* + Copyright (c) 2016, Michael Wallner . + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*******************************************************************************/ + #include "php_psi_stdinc.h" #include #include @@ -255,6 +280,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 +297,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 +341,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);}