Domingo Alvarez Duarte
Domingo Alvarez Duarte
Trying to create an `LL(1)` parser with https://mingodad.github.io/CocoR-Typescript (and family) I found that this definition is problematic: ``` sized_type_literal [iuf][1-9][0-9]* ``` It's ambiguous with this: ``` identifier [A-Za-z_][A-Za-z0-9_]* ``` So...
Also there isn't any definition for `floating point` numbers .
It was an experiment because I was thinking that `Carbon` **would try to cut as much ambiguity as possible** and maybe even be able to be parsed by LL(1) parser...
I think so, to have a clean global view of the grammar without the code.
And don't forget that the railroad diagrams generated by https://www.bottlecaps.de/rr/ui are navigable and cross referenced.
Also another one is `struct_literal` and `struct_type_literal` both allow `{}` (empty open/close curly braces), how to distinguish which is which in such cases ?
It seems that this repository is not correctly synced because we have in https://github.com/carbon-language/carbon-lang/blob/trunk/third_party/examples/re2/re2.carbon this declaration: ``` private interface Parse4ary; ``` But there isn't any token `private` on the lexer/grammar...
Also in the same `re2.carbon` there is this declarations that doesn't exists in the grammar: ``` class RE2 { // We convert user-passed pointers into special Arg objects class Arg;...
Thank you for reply ! It's a bit confusing because if they are types it's strange that they appear as `primary_expression`.
Thanks again for reply ! Well as you've described it's different from C++ and maybe I will not be the only one to be confused with this, I can grasp...