X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=lexer.c;h=1a8c17a1f3e414928737277fb7a5a59b76e1e8da;hp=bfdc720eca244a62bb786addbc4105ecdceae14e;hb=641136fee3e2f589f93ad6a7b3213b0247107303;hpb=072bff44e6d574f5f32657875adcbe48fc27cb5b diff --git a/lexer.c b/lexer.c index bfdc720..1a8c17a 100644 --- a/lexer.c +++ b/lexer.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2012, 2013 + * Copyright (C) 2012, 2013, 2014 * Wolfgang Bumiller * * Permission is hereby granted, free of charge, to any person obtaining a copy of @@ -1301,6 +1301,28 @@ int lex_do(lex_file *lex) return (lex->tok.ttype = TOKEN_OPERATOR); } + /* length operator */ + if (ch == 'l') { + if ((nextch = lex_getch(lex)) == 'e') { + if ((nextch = lex_getch(lex)) == 'n') { + if ((nextch = lex_getch(lex)) == 'g') { + if ((nextch = lex_getch(lex)) == 't') { + if ((nextch = lex_getch(lex)) == 'h') { + lex_tokench(lex, 'l'); + lex_tokench(lex, 'e'); + lex_tokench(lex, 'n'); + lex_tokench(lex, 'g'); + lex_tokench(lex, 't'); + lex_tokench(lex, 'h'); + lex_endtoken(lex); + return (lex->tok.ttype = TOKEN_OPERATOR); + } else lex_ungetch(lex, nextch); + } else lex_ungetch(lex, nextch); + } else lex_ungetch(lex, nextch); + } else lex_ungetch(lex, nextch); + } else lex_ungetch(lex, nextch); + } + if (isident_start(ch)) { const char *v;