rspivak / slimit

SlimIt - a JavaScript minifier/parser in Python
MIT License
551 stars 94 forks source link

Unexpected token (DIV, '/') at 1:23 between LexToken(RPAREN,')',1,21) and LexToken(BXOR,'^',1,24) #54

Open autumnjolitz opened 11 years ago

autumnjolitz commented 11 years ago

Try this valid javascript: for (index in [1,2,3]) /^salign$/i.test('salign')

Try to parse it:

>>> from slimit.parser import Parser
>>> parser = Parser()
>>> tree = parser.parse('for (index in [1,2,3]) /^salign$/i.test(\'salign\')')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/slimit/parser.py", line 93, in parse
    return self.parser.parse(text, lexer=self.lexer, debug=debug)
  File "/Library/Python/2.7/site-packages/ply/yacc.py", line 265, in parse
    return self.parseopt_notrack(input,lexer,debug,tracking,tokenfunc)
  File "/Library/Python/2.7/site-packages/ply/yacc.py", line 1047, in parseopt_notrack
    tok = self.errorfunc(errtoken)
  File "/Library/Python/2.7/site-packages/slimit/parser.py", line 116, in p_error
    self._raise_syntax_error(token)
  File "/Library/Python/2.7/site-packages/slimit/parser.py", line 89, in _raise_syntax_error
    self.lexer.prev_token, self.lexer.token())
SyntaxError: Unexpected token (DIV, '/') at 1:23 between LexToken(RPAREN,')',1,21) and LexToken(BXOR,'^',1,24)
>>> ```
dogasantos commented 9 years ago

and it still broken