aboutsummaryrefslogtreecommitdiff
path: root/grammar/symbol/symbol_test.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--grammar/symbol/symbol_test.go (renamed from grammar/symbol_test.go)50
1 files changed, 25 insertions, 25 deletions
diff --git a/grammar/symbol_test.go b/grammar/symbol/symbol_test.go
index b9bcbdf..31c3edd 100644
--- a/grammar/symbol_test.go
+++ b/grammar/symbol/symbol_test.go
@@ -1,19 +1,19 @@
-package grammar
+package symbol
import "testing"
func TestSymbol(t *testing.T) {
- tab := newSymbolTable()
- w := tab.writer()
- _, _ = w.registerStartSymbol("expr'")
- _, _ = w.registerNonTerminalSymbol("expr")
- _, _ = w.registerNonTerminalSymbol("term")
- _, _ = w.registerNonTerminalSymbol("factor")
- _, _ = w.registerTerminalSymbol("id")
- _, _ = w.registerTerminalSymbol("add")
- _, _ = w.registerTerminalSymbol("mul")
- _, _ = w.registerTerminalSymbol("l_paren")
- _, _ = w.registerTerminalSymbol("r_paren")
+ tab := NewSymbolTable()
+ w := tab.Writer()
+ _, _ = w.RegisterStartSymbol("expr'")
+ _, _ = w.RegisterNonTerminalSymbol("expr")
+ _, _ = w.RegisterNonTerminalSymbol("term")
+ _, _ = w.RegisterNonTerminalSymbol("factor")
+ _, _ = w.RegisterTerminalSymbol("id")
+ _, _ = w.RegisterTerminalSymbol("add")
+ _, _ = w.RegisterTerminalSymbol("mul")
+ _, _ = w.RegisterTerminalSymbol("l_paren")
+ _, _ = w.RegisterTerminalSymbol("r_paren")
nonTermTexts := []string{
"", // Nil
@@ -81,13 +81,13 @@ func TestSymbol(t *testing.T) {
}
for _, tt := range tests {
t.Run(tt.text, func(t *testing.T) {
- r := tab.reader()
- sym, ok := r.toSymbol(tt.text)
+ r := tab.Reader()
+ sym, ok := r.ToSymbol(tt.text)
if !ok {
t.Fatalf("symbol was not found")
}
testSymbolProperty(t, sym, tt.isNil, tt.isStart, tt.isEOF, tt.isNonTerminal, tt.isTerminal)
- text, ok := r.toText(sym)
+ text, ok := r.ToText(sym)
if !ok {
t.Fatalf("text was not found")
}
@@ -98,16 +98,16 @@ func TestSymbol(t *testing.T) {
}
t.Run("EOF", func(t *testing.T) {
- testSymbolProperty(t, symbolEOF, false, false, true, false, true)
+ testSymbolProperty(t, SymbolEOF, false, false, true, false, true)
})
t.Run("Nil", func(t *testing.T) {
- testSymbolProperty(t, symbolNil, true, false, false, false, false)
+ testSymbolProperty(t, SymbolNil, true, false, false, false, false)
})
t.Run("texts of non-terminals", func(t *testing.T) {
- r := tab.reader()
- ts, err := r.nonTerminalTexts()
+ r := tab.Reader()
+ ts, err := r.NonTerminalTexts()
if err != nil {
t.Fatal(err)
}
@@ -122,8 +122,8 @@ func TestSymbol(t *testing.T) {
})
t.Run("texts of terminals", func(t *testing.T) {
- r := tab.reader()
- ts, err := r.terminalTexts()
+ r := tab.Reader()
+ ts, err := r.TerminalTexts()
if err != nil {
t.Fatal(err)
}
@@ -138,13 +138,13 @@ func TestSymbol(t *testing.T) {
})
}
-func testSymbolProperty(t *testing.T, sym symbol, isNil, isStart, isEOF, isNonTerminal, isTerminal bool) {
+func testSymbolProperty(t *testing.T, sym Symbol, isNil, isStart, isEOF, isNonTerminal, isTerminal bool) {
t.Helper()
- if v := sym.isNil(); v != isNil {
+ if v := sym.IsNil(); v != isNil {
t.Fatalf("isNil property is mismatched; want: %v, got: %v", isNil, v)
}
- if v := sym.isStart(); v != isStart {
+ if v := sym.IsStart(); v != isStart {
t.Fatalf("isStart property is mismatched; want: %v, got: %v", isStart, v)
}
if v := sym.isEOF(); v != isEOF {
@@ -153,7 +153,7 @@ func testSymbolProperty(t *testing.T, sym symbol, isNil, isStart, isEOF, isNonTe
if v := sym.isNonTerminal(); v != isNonTerminal {
t.Fatalf("isNonTerminal property is mismatched; want: %v, got: %v", isNonTerminal, v)
}
- if v := sym.isTerminal(); v != isTerminal {
+ if v := sym.IsTerminal(); v != isTerminal {
t.Fatalf("isTerminal property is mismatched; want: %v, got: %v", isTerminal, v)
}
}