Step 151: add Go parser and generator

This commit is contained in:
Bill
2026-02-09 19:08:42 -07:00
parent 7ef0c4a8ad
commit b4cf14f3ae
12 changed files with 1159 additions and 3 deletions

View File

@@ -16,14 +16,15 @@ public:
return {
// Parsers
{"TreeSitterParser", "parser",
"Parses source code (Python, C++, Elisp, JavaScript, TypeScript, Java, Rust) into Whetstone AST using tree-sitter grammars",
"Parses source code (Python, C++, Elisp, JavaScript, TypeScript, Java, Rust, Go) into Whetstone AST using tree-sitter grammars",
{"parsePython(source)", "parsePythonWithDiagnostics(source)",
"parseCpp(source)", "parseCppWithDiagnostics(source)",
"parseElisp(source)", "parseElispWithDiagnostics(source)",
"parseJavaScript(source)", "parseJavaScriptWithDiagnostics(source)",
"parseTypeScript(source)", "parseTypeScriptWithDiagnostics(source)",
"parseJava(source)", "parseJavaWithDiagnostics(source)",
"parseRust(source)", "parseRustWithDiagnostics(source)"}},
"parseRust(source)", "parseRustWithDiagnostics(source)",
"parseGo(source)", "parseGoWithDiagnostics(source)"}},
// Generators
{"PythonGenerator", "generator",
@@ -54,6 +55,10 @@ public:
"Generates Rust source code from Whetstone AST",
{"generate(node)"}},
{"GoGenerator", "generator",
"Generates Go source code from Whetstone AST",
{"generate(node)"}},
// Validators
{"AnnotationValidator", "validator",
"Validates memory annotations for correctness: missing intent, aliasing, conflicts",