sucessful parser

This commit is contained in:
2024-08-12 14:19:48 +02:00
parent b79b00e2d9
commit 4ed12bc3f8
7 changed files with 64 additions and 31 deletions
+1 -13
View File
@@ -3,22 +3,10 @@ package main
import (
"fmt"
"github.com/antlr4-go/antlr/v4"
"github.com/antlr4-go/antlr"
"github.com/wyst-lang/wyst/parser"
)
func Parse(code string) (antlr.ParseTree, *parser.WystParser) {
chars := antlr.NewInputStream(code)
lexer := parser.NewWystLexer(chars)
stream := antlr.NewCommonTokenStream(lexer, 0)
p := parser.NewWystParser(stream)
// p.AddErrorListener(antlr.NewDiagnosticErrorListener(true).WithContext(p))
tree := p.Expr()
return tree, p
}
func iterateTree(node antlr.Tree, wparser *parser.WystParser, depth int) {
if ruleContext, ok := node.(antlr.RuleContext); ok {
ruleIndex := ruleContext.GetRuleIndex()