aboutsummaryrefslogtreecommitdiff
path: root/driver/parser/semantic_action_test.go
diff options
context:
space:
mode:
authorRyo Nihei <nihei.dev@gmail.com>2022-11-06 21:31:46 +0900
committerRyo Nihei <nihei.dev@gmail.com>2022-11-10 00:40:16 +0900
commitf89d021bbe134e3efa0d015a41e9712960cdd009 (patch)
tree28c6d49611f09dad186b0f6fc4c1a42864a2f7cb /driver/parser/semantic_action_test.go
parentSplit SymbolTable's APIs into reader/writer (diff)
downloadcotia-f89d021bbe134e3efa0d015a41e9712960cdd009.tar.gz
cotia-f89d021bbe134e3efa0d015a41e9712960cdd009.tar.xz
Import source code of lexer generator
From: https://github.com/nihei9/maleeni
Diffstat (limited to '')
-rw-r--r--driver/parser/semantic_action_test.go (renamed from driver/semantic_action_test.go)18
1 files changed, 7 insertions, 11 deletions
diff --git a/driver/semantic_action_test.go b/driver/parser/semantic_action_test.go
index 3d5f711..c98a12f 100644
--- a/driver/semantic_action_test.go
+++ b/driver/parser/semantic_action_test.go
@@ -1,4 +1,4 @@
-package driver
+package parser
import (
"fmt"
@@ -7,6 +7,7 @@ import (
"github.com/nihei9/vartan/grammar"
spec "github.com/nihei9/vartan/spec/grammar"
+ "github.com/nihei9/vartan/spec/grammar/parser"
)
type testSemAct struct {
@@ -15,7 +16,7 @@ type testSemAct struct {
}
func (a *testSemAct) Shift(tok VToken, recovered bool) {
- t := a.gram.ParsingTable.Terminals[tok.TerminalID()]
+ t := a.gram.Syntactic.Terminals[tok.TerminalID()]
if recovered {
a.actLog = append(a.actLog, fmt.Sprintf("shift/%v/recovered", t))
} else {
@@ -24,8 +25,8 @@ func (a *testSemAct) Shift(tok VToken, recovered bool) {
}
func (a *testSemAct) Reduce(prodNum int, recovered bool) {
- lhsSym := a.gram.ParsingTable.LHSSymbols[prodNum]
- lhsText := a.gram.ParsingTable.NonTerminals[lhsSym]
+ lhsSym := a.gram.Syntactic.LHSSymbols[prodNum]
+ lhsText := a.gram.Syntactic.NonTerminals[lhsSym]
if recovered {
a.actLog = append(a.actLog, fmt.Sprintf("reduce/%v/recovered", lhsText))
} else {
@@ -181,7 +182,7 @@ char
}
for _, tt := range tests {
t.Run(tt.caption, func(t *testing.T) {
- ast, err := spec.Parse(strings.NewReader(tt.specSrc))
+ ast, err := parser.Parse(strings.NewReader(tt.specSrc))
if err != nil {
t.Fatal(err)
}
@@ -189,12 +190,7 @@ char
b := grammar.GrammarBuilder{
AST: ast,
}
- g, err := b.Build()
- if err != nil {
- t.Fatal(err)
- }
-
- gram, _, err := grammar.Compile(g)
+ gram, _, err := b.Build()
if err != nil {
t.Fatal(err)
}