diff options
Diffstat (limited to 'grammar/lr0_test.go')
-rw-r--r-- | grammar/lr0_test.go | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/grammar/lr0_test.go b/grammar/lr0_test.go index 0d0b134..99d4e5b 100644 --- a/grammar/lr0_test.go +++ b/grammar/lr0_test.go @@ -5,12 +5,13 @@ import ( "strings" "testing" - spec "github.com/nihei9/vartan/spec/grammar" + "github.com/nihei9/vartan/grammar/symbol" + "github.com/nihei9/vartan/spec/grammar/parser" ) type expectedLRState struct { kernelItems []*lrItem - nextStates map[symbol][]*lrItem + nextStates map[symbol.Symbol][]*lrItem reducibleProds []*production emptyProdItems []*lrItem } @@ -41,15 +42,14 @@ id: "[A-Za-z_][0-9A-Za-z_]*"; var gram *Grammar var automaton *lr0Automaton { - ast, err := spec.Parse(strings.NewReader(src)) + ast, err := parser.Parse(strings.NewReader(src)) if err != nil { t.Fatal(err) } b := GrammarBuilder{ AST: ast, } - - gram, err = b.Build() + gram, err = b.build() if err != nil { t.Fatal(err) } @@ -118,7 +118,7 @@ id: "[A-Za-z_][0-9A-Za-z_]*"; expectedStates := []*expectedLRState{ { kernelItems: expectedKernels[0], - nextStates: map[symbol][]*lrItem{ + nextStates: map[symbol.Symbol][]*lrItem{ genSym("expr"): expectedKernels[1], genSym("term"): expectedKernels[2], genSym("factor"): expectedKernels[3], @@ -129,7 +129,7 @@ id: "[A-Za-z_][0-9A-Za-z_]*"; }, { kernelItems: expectedKernels[1], - nextStates: map[symbol][]*lrItem{ + nextStates: map[symbol.Symbol][]*lrItem{ genSym("add"): expectedKernels[6], }, reducibleProds: []*production{ @@ -138,7 +138,7 @@ id: "[A-Za-z_][0-9A-Za-z_]*"; }, { kernelItems: expectedKernels[2], - nextStates: map[symbol][]*lrItem{ + nextStates: map[symbol.Symbol][]*lrItem{ genSym("mul"): expectedKernels[7], }, reducibleProds: []*production{ @@ -147,14 +147,14 @@ id: "[A-Za-z_][0-9A-Za-z_]*"; }, { kernelItems: expectedKernels[3], - nextStates: map[symbol][]*lrItem{}, + nextStates: map[symbol.Symbol][]*lrItem{}, reducibleProds: []*production{ genProd("term", "factor"), }, }, { kernelItems: expectedKernels[4], - nextStates: map[symbol][]*lrItem{ + nextStates: map[symbol.Symbol][]*lrItem{ genSym("expr"): expectedKernels[8], genSym("term"): expectedKernels[2], genSym("factor"): expectedKernels[3], @@ -165,14 +165,14 @@ id: "[A-Za-z_][0-9A-Za-z_]*"; }, { kernelItems: expectedKernels[5], - nextStates: map[symbol][]*lrItem{}, + nextStates: map[symbol.Symbol][]*lrItem{}, reducibleProds: []*production{ genProd("factor", "id"), }, }, { kernelItems: expectedKernels[6], - nextStates: map[symbol][]*lrItem{ + nextStates: map[symbol.Symbol][]*lrItem{ genSym("term"): expectedKernels[9], genSym("factor"): expectedKernels[3], genSym("l_paren"): expectedKernels[4], @@ -182,7 +182,7 @@ id: "[A-Za-z_][0-9A-Za-z_]*"; }, { kernelItems: expectedKernels[7], - nextStates: map[symbol][]*lrItem{ + nextStates: map[symbol.Symbol][]*lrItem{ genSym("factor"): expectedKernels[10], genSym("l_paren"): expectedKernels[4], genSym("id"): expectedKernels[5], @@ -191,7 +191,7 @@ id: "[A-Za-z_][0-9A-Za-z_]*"; }, { kernelItems: expectedKernels[8], - nextStates: map[symbol][]*lrItem{ + nextStates: map[symbol.Symbol][]*lrItem{ genSym("add"): expectedKernels[6], genSym("r_paren"): expectedKernels[11], }, @@ -199,7 +199,7 @@ id: "[A-Za-z_][0-9A-Za-z_]*"; }, { kernelItems: expectedKernels[9], - nextStates: map[symbol][]*lrItem{ + nextStates: map[symbol.Symbol][]*lrItem{ genSym("mul"): expectedKernels[7], }, reducibleProds: []*production{ @@ -208,14 +208,14 @@ id: "[A-Za-z_][0-9A-Za-z_]*"; }, { kernelItems: expectedKernels[10], - nextStates: map[symbol][]*lrItem{}, + nextStates: map[symbol.Symbol][]*lrItem{}, reducibleProds: []*production{ genProd("term", "term", "mul", "factor"), }, }, { kernelItems: expectedKernels[11], - nextStates: map[symbol][]*lrItem{}, + nextStates: map[symbol.Symbol][]*lrItem{}, reducibleProds: []*production{ genProd("factor", "l_paren", "expr", "r_paren"), }, @@ -246,7 +246,7 @@ b: "bar"; var gram *Grammar var automaton *lr0Automaton { - ast, err := spec.Parse(strings.NewReader(src)) + ast, err := parser.Parse(strings.NewReader(src)) if err != nil { t.Fatal(err) } @@ -254,7 +254,7 @@ b: "bar"; b := GrammarBuilder{ AST: ast, } - gram, err = b.Build() + gram, err = b.build() if err != nil { t.Fatal(err) } @@ -298,7 +298,7 @@ b: "bar"; expectedStates := []*expectedLRState{ { kernelItems: expectedKernels[0], - nextStates: map[symbol][]*lrItem{ + nextStates: map[symbol.Symbol][]*lrItem{ genSym("s"): expectedKernels[1], genSym("foo"): expectedKernels[2], }, @@ -311,14 +311,14 @@ b: "bar"; }, { kernelItems: expectedKernels[1], - nextStates: map[symbol][]*lrItem{}, + nextStates: map[symbol.Symbol][]*lrItem{}, reducibleProds: []*production{ genProd("s'", "s"), }, }, { kernelItems: expectedKernels[2], - nextStates: map[symbol][]*lrItem{ + nextStates: map[symbol.Symbol][]*lrItem{ genSym("bar"): expectedKernels[3], genSym("b"): expectedKernels[4], }, @@ -331,14 +331,14 @@ b: "bar"; }, { kernelItems: expectedKernels[3], - nextStates: map[symbol][]*lrItem{}, + nextStates: map[symbol.Symbol][]*lrItem{}, reducibleProds: []*production{ genProd("s", "foo", "bar"), }, }, { kernelItems: expectedKernels[4], - nextStates: map[symbol][]*lrItem{}, + nextStates: map[symbol.Symbol][]*lrItem{}, reducibleProds: []*production{ genProd("bar", "b"), }, |