X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=Usermode%2FLibraries%2Flibspiderscript.so_src%2Flex.c;h=bd1712b41b46d153ff6cd79bf1a209be3fdb1cb0;hb=ec4d050568da0f3f18a20969bd118b5c67f03ee2;hp=fd395e0f2d188f07a65473ceaea20184630c7555;hpb=8a8a744341df513d00d2e60adf5e88636856e65b;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libspiderscript.so_src/lex.c b/Usermode/Libraries/libspiderscript.so_src/lex.c index fd395e0f..bd1712b4 100644 --- a/Usermode/Libraries/libspiderscript.so_src/lex.c +++ b/Usermode/Libraries/libspiderscript.so_src/lex.c @@ -165,14 +165,36 @@ int GetToken(tParser *File) case '/': ret = TOK_DIV; break; case '*': ret = TOK_MUL; break; - case '+': ret = TOK_PLUS; break; + case '+': + if( *File->CurPos == '+' ) { + File->CurPos ++; + ret = TOK_INCREMENT; + break; + } + if( *File->CurPos == '=' ) { + File->CurPos ++; + ret = TOK_ASSIGN_PLUS; + break; + } + ret = TOK_PLUS; + break; case '-': + if( *File->CurPos == '-' ) { + File->CurPos ++; + ret = TOK_DECREMENT; + break; + } + if( *File->CurPos == '=' ) { + File->CurPos ++; + ret = TOK_ASSIGN_MINUS; + break; + } if( *File->CurPos == '>' ) { File->CurPos ++; ret = TOK_ELEMENT; + break; } - else - ret = TOK_MINUS; + ret = TOK_MINUS; break; // Strings @@ -210,6 +232,28 @@ int GetToken(tParser *File) ret = TOK_ASSIGN; break; + // Less-Than + case '<': + // Less-Than or Equal + if( *File->CurPos == '=' ) { + File->CurPos ++; + ret = TOK_LTE; + break; + } + ret = TOK_LT; + break; + + // Greater-Than + case '>': + // Greater-Than or Equal + if( *File->CurPos == '=' ) { + File->CurPos ++; + ret = TOK_GTE; + break; + } + ret = TOK_GT; + break; + // Variables // \$[0-9]+ or \$[_a-zA-Z][_a-zA-Z0-9]* case '$':