| 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 | 8079 | / ArrayTypeStart |
| 8080 | 8080 | |
| 8081 | 8081 | SuffixOp |
| 8082 | <- LBRACKET Expr (DOT2 (Expr? (COLON Expr)?)?)? RBRACKET | |
| 8082 | <- LBRACKET Expr (DOT2 Expr? (COLON Expr)?)? RBRACKET | |
| 8083 | 8083 | / DOT IDENTIFIER |
| 8084 | 8084 | / DOTASTERISK |
| 8085 | 8085 | / DOTQUESTIONMARK |
lib/std/zig/AstSmith.zig+9-7| ... | ... | @@ -1810,7 +1810,7 @@ fn pegPrefixTypeOp(a: *AstSmith) SourceError!void { |
| 1810 | 1810 | } |
| 1811 | 1811 | |
| 1812 | 1812 | /// SuffixOp |
| 1813 | /// <- LBRACKET Expr (DOT2 (Expr? (COLON Expr)?)?)? RBRACKET | |
| 1813 | /// <- LBRACKET Expr (DOT2 Expr? (COLON Expr)?)? RBRACKET | |
| 1814 | 1814 | /// / DOT IDENTIFIER |
| 1815 | 1815 | /// / DOTASTERISK |
| 1816 | 1816 | /// / DOTQUESTIONMARK |
| ... | ... | @@ -1820,12 +1820,14 @@ fn pegSuffixOp(a: *AstSmith) SourceError!void { |
| 1820 | 1820 | try a.pegToken(.l_bracket); |
| 1821 | 1821 | try a.pegExpr(); |
| 1822 | 1822 | |
| 1823 | const components = a.smith.value(u2); | |
| 1824 | if (components >= 1) try a.pegToken(.ellipsis2); | |
| 1825 | if (components >= 2) try a.pegExpr(); | |
| 1826 | if (components >= 3) { | |
| 1827 | try a.pegToken(.colon); | |
| 1828 | try a.pegExpr(); | |
| 1823 | if (a.smith.value(bool)) { | |
| 1824 | try a.pegToken(.ellipsis2); | |
| 1825 | if (a.smith.value(bool)) | |
| 1826 | try a.pegExpr(); | |
| 1827 | if (a.smith.value(bool)) { | |
| 1828 | try a.pegToken(.colon); | |
| 1829 | try a.pegExpr(); | |
| 1830 | } | |
| 1829 | 1831 | } |
| 1830 | 1832 | |
| 1831 | 1833 | try a.pegToken(.r_bracket); |
lib/std/zig/Parse.zig+1-1| ... | ... | @@ -3137,7 +3137,7 @@ fn parsePtrModifiers(p: *Parse) !PtrModifiers { |
| 3137 | 3137 | } |
| 3138 | 3138 | |
| 3139 | 3139 | /// SuffixOp |
| 3140 | /// <- LBRACKET Expr (DOT2 (Expr? (COLON Expr)?)?)? RBRACKET | |
| 3140 | /// <- LBRACKET Expr (DOT2 Expr? (COLON Expr)?)? RBRACKET | |
| 3141 | 3141 | /// / DOT IDENTIFIER |
| 3142 | 3142 | /// / DOTASTERISK |
| 3143 | 3143 | /// / DOTQUESTIONMARK |