| author | |
| committer | |
| log | 028028ede3df4537223a2d10b2648e16f48a8826 |
| tree | 59beb4e36bfa21ac9f242ac1b670c37a84ac55df |
| parent | 68bed7b46102c02e23bc833c3eb0fdd6749230d0 |
std.zig.AstSmith.pegSuffixOp is also fixed to match the grammar.3 files changed, 11 insertions(+), 9 deletions(-)
doc/langref.html.in+1-1| ... | @@ -8079,7 +8079,7 @@ PrefixTypeOp | ... | @@ -8079,7 +8079,7 @@ PrefixTypeOp |
| 8079 | / ArrayTypeStart | 8079 | / ArrayTypeStart |
| 8080 | 8080 | ||
| 8081 | SuffixOp | 8081 | SuffixOp |
| 8082 | <- LBRACKET Expr (DOT2 (Expr? (COLON Expr)?)?)? RBRACKET | 8082 | <- LBRACKET Expr (DOT2 Expr? (COLON Expr)?)? RBRACKET |
| 8083 | / DOT IDENTIFIER | 8083 | / DOT IDENTIFIER |
| 8084 | / DOTASTERISK | 8084 | / DOTASTERISK |
| 8085 | / DOTQUESTIONMARK | 8085 | / DOTQUESTIONMARK |
lib/std/zig/AstSmith.zig+9-7| ... | @@ -1810,7 +1810,7 @@ fn pegPrefixTypeOp(a: *AstSmith) SourceError!void { | ... | @@ -1810,7 +1810,7 @@ fn pegPrefixTypeOp(a: *AstSmith) SourceError!void { |
| 1810 | } | 1810 | } |
| 1811 | 1811 | ||
| 1812 | /// SuffixOp | 1812 | /// SuffixOp |
| 1813 | /// <- LBRACKET Expr (DOT2 (Expr? (COLON Expr)?)?)? RBRACKET | 1813 | /// <- LBRACKET Expr (DOT2 Expr? (COLON Expr)?)? RBRACKET |
| 1814 | /// / DOT IDENTIFIER | 1814 | /// / DOT IDENTIFIER |
| 1815 | /// / DOTASTERISK | 1815 | /// / DOTASTERISK |
| 1816 | /// / DOTQUESTIONMARK | 1816 | /// / DOTQUESTIONMARK |
| ... | @@ -1820,12 +1820,14 @@ fn pegSuffixOp(a: *AstSmith) SourceError!void { | ... | @@ -1820,12 +1820,14 @@ fn pegSuffixOp(a: *AstSmith) SourceError!void { |
| 1820 | try a.pegToken(.l_bracket); | 1820 | try a.pegToken(.l_bracket); |
| 1821 | try a.pegExpr(); | 1821 | try a.pegExpr(); |
| 1822 | 1822 | ||
| 1823 | const components = a.smith.value(u2); | 1823 | if (a.smith.value(bool)) { |
| 1824 | if (components >= 1) try a.pegToken(.ellipsis2); | 1824 | try a.pegToken(.ellipsis2); |
| 1825 | if (components >= 2) try a.pegExpr(); | 1825 | if (a.smith.value(bool)) |
| 1826 | if (components >= 3) { | 1826 | try a.pegExpr(); |
| 1827 | try a.pegToken(.colon); | 1827 | if (a.smith.value(bool)) { |
| 1828 | try a.pegExpr(); | 1828 | try a.pegToken(.colon); |
| 1829 | try a.pegExpr(); | ||
| 1830 | } | ||
| 1829 | } | 1831 | } |
| 1830 | 1832 | ||
| 1831 | try a.pegToken(.r_bracket); | 1833 | try a.pegToken(.r_bracket); |
lib/std/zig/Parse.zig+1-1| ... | @@ -3137,7 +3137,7 @@ fn parsePtrModifiers(p: *Parse) !PtrModifiers { | ... | @@ -3137,7 +3137,7 @@ fn parsePtrModifiers(p: *Parse) !PtrModifiers { |
| 3137 | } | 3137 | } |
| 3138 | 3138 | ||
| 3139 | /// SuffixOp | 3139 | /// SuffixOp |
| 3140 | /// <- LBRACKET Expr (DOT2 (Expr? (COLON Expr)?)?)? RBRACKET | 3140 | /// <- LBRACKET Expr (DOT2 Expr? (COLON Expr)?)? RBRACKET |
| 3141 | /// / DOT IDENTIFIER | 3141 | /// / DOT IDENTIFIER |
| 3142 | /// / DOTASTERISK | 3142 | /// / DOTASTERISK |
| 3143 | /// / DOTQUESTIONMARK | 3143 | /// / DOTQUESTIONMARK |