Inconsistent array casting #854
Closed
Comments
Just FYI: |
|
Lexer black magic rewrite is to blame. Specifically, IMHO this kind of thing belong to the parser. However a refactor would be non-trivial and requires attention from @vendethiel . I also agree that this should remain open as it is certainly a bug. |
I am going to patch this temporarily with a grammar fix. |
summivox
added a commit
to summivox/LiveScript
that referenced
this issue
Mar 22, 2016
`[.. for [to 10]]` is wrongly rewritten by lexer into `[.. for [from 0 to 10]]` (not quite, see below). Patching the lexer could be non-trivial as said rewriting is currently ad-hoc (`forange` in `lexer.ls`, see gkz#854 for discussion). This temporary solution relaxes the grammar and allow the malformed lexer output. Caveat: `[from x to y]` is *not* supported directly from source despite the change in grammar due to the same lexer hack. The `from` is currently considered a literal rather than a `FROM` token. A possibly cleaner solution is to getting rid of `forange` and support `from` elision in a separate lexer rewrite step or in parser instead.
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Short arrays aren't enough to loop
[to 10]
does what expected and so does[.. for [0 to 10]]
But in contrast...
[.. for [to 10]]
throwsThe text was updated successfully, but these errors were encountered: