diff --git a/lexer.c b/lexer.c index 1bea430..3f1aa76 100644 --- a/lexer.c +++ b/lexer.c @@ -464,8 +464,6 @@ int lex_do(lex_file *lex) case '[': case ']': - case ',': - case '#': return (lex->tok->ttype = ch); @@ -491,12 +489,22 @@ int lex_do(lex_file *lex) case '|': case '^': case '~': + case ',': return ch; default: break; } } + if (ch == ',') { + if (!lex_tokench(lex, ch) || + !lex_endtoken(lex)) + { + return (lex->tok->ttype = TOKEN_FATAL); + } + return (lex->tok->ttype = TOKEN_OPERATOR); + } + if (ch == '+' || ch == '-' || /* ++, --, +=, -= and -> as well! */ ch == '>' || ch == '<' || /* <<, >>, <=, >= */ ch == '=' || /* == */