-
Notifications
You must be signed in to change notification settings - Fork 156
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inconsistent array casting #854
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. |
`[.. 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.
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: