go: parse.sx — unary prefix operators + 11 tests [nothing]
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 34s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 34s
Adds Go unary prefix operators per Go spec § Operators: +x -x !x ^x *p &v <-ch gp-parse-unary is recursive (so !!x and -^x chain correctly) and sits between gp-parse-expr and gp-parse-primary — unary therefore always binds tighter than any binary op without needing a unary entry in the precedence table. Symbols +, -, *, &, ^ are shared between unary and binary forms; the positional split (expression-start sees unary, mid-expression sees binary) disambiguates them cleanly with no lookback. Unary nodes are single-arg ast-app: (ast-app (ast-var OP) (list OPERAND)) parse 37/37, total 166/166. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"language": "go",
|
||||
"total_pass": 155,
|
||||
"total": 155,
|
||||
"total_pass": 166,
|
||||
"total": 166,
|
||||
"suites": [
|
||||
{"name":"lex","pass":129,"total":129,"status":"ok"},
|
||||
{"name":"parse","pass":26,"total":26,"status":"ok"},
|
||||
{"name":"parse","pass":37,"total":37,"status":"ok"},
|
||||
{"name":"types","pass":0,"total":0,"status":"pending"},
|
||||
{"name":"eval","pass":0,"total":0,"status":"pending"},
|
||||
{"name":"runtime","pass":0,"total":0,"status":"pending"},
|
||||
|
||||
Reference in New Issue
Block a user