Step 148: add JavaScript/TypeScript generator

This commit is contained in:
Bill
2026-02-09 18:44:36 -07:00
parent 94b93e474b
commit fa030c0186
11 changed files with 810 additions and 3 deletions

View File

@@ -16,10 +16,12 @@ public:
return {
// Parsers
{"TreeSitterParser", "parser",
"Parses source code (Python, C++, Elisp) into Whetstone AST using tree-sitter grammars",
"Parses source code (Python, C++, Elisp, JavaScript, TypeScript) into Whetstone AST using tree-sitter grammars",
{"parsePython(source)", "parsePythonWithDiagnostics(source)",
"parseCpp(source)", "parseCppWithDiagnostics(source)",
"parseElisp(source)", "parseElispWithDiagnostics(source)"}},
"parseElisp(source)", "parseElispWithDiagnostics(source)",
"parseJavaScript(source)", "parseJavaScriptWithDiagnostics(source)",
"parseTypeScript(source)", "parseTypeScriptWithDiagnostics(source)"}},
// Generators
{"PythonGenerator", "generator",
@@ -34,6 +36,14 @@ public:
"Generates Emacs Lisp source code from Whetstone AST",
{"generate(node)"}},
{"JavaScriptGenerator", "generator",
"Generates JavaScript source code from Whetstone AST",
{"generate(node)"}},
{"TypeScriptGenerator", "generator",
"Generates TypeScript source code from Whetstone AST with type annotations",
{"generate(node)"}},
// Validators
{"AnnotationValidator", "validator",
"Validates memory annotations for correctness: missing intent, aliasing, conflicts",