Results 545 comments of David Neto

* [ ] Absorb trivial choice, of the form ` x | y` , where x and y are single symbols - this would fix assignment_statement/0.1 and lhs_expression/0.0/0/0.0 Then all...

Regarding trivial choice, there is a very useful one that we want to keep: ``` type_decl : ident_pattern_token | type_decl_without_ident ``` So only do the replacement on nonterminals that were...

We want to avoid absorption of `ident` too much, because its placement plays a role in determining where identifier resolution occurs. Current result is the following (with definitions of tokens...

We still have two epsilons (ie. empty string is a possible match for a terminal). ``` additive_expression.rest: minus unary_expression multiplicative_expression.rest additive_expression.rest | plus unary_expression multiplicative_expression.rest additive_expression.rest | ε ``` Given...

There's great opportunity to also introduce comparison_operator and shift_operator.

Fixing some nagging things with deduplicating, we get this result (omitting token definitions): [wgsl.recursive.txt](https://github.com/gpuweb/gpuweb/files/9294870/wgsl.recursive.txt)

The only generated rule still in there is: ``` variable_statement/3.1: ident | ident colon type_decl ```

Now if someone could come up with a better name for that. How aboue `ident_optionally_typed` or `optionally_typed_ident`

I've created new rule: ``` optionally_typed_ident: ident ( comma type_decl )? ``` And replaced all instances of `( ident | variable_type_decl )` which was messy and common (because of type...

#3299 pulls out the grammar changes so they can land first.