aboutsummaryrefslogtreecommitdiff
path: root/driver/spec.go
diff options
context:
space:
mode:
authorRyo Nihei <nihei.dev@gmail.com>2022-03-27 02:32:22 +0900
committerRyo Nihei <nihei.dev@gmail.com>2022-03-27 20:25:04 +0900
commitd0431e3a435e2ad3180d945f66098c04ed0faf22 (patch)
tree2963de49b509e639153091cf259eae4cfc51814e /driver/spec.go
parentUse a lexer via interface (diff)
downloadcotia-d0431e3a435e2ad3180d945f66098c04ed0faf22.tar.gz
cotia-d0431e3a435e2ad3180d945f66098c04ed0faf22.tar.xz
Add vartan-go command
Diffstat (limited to 'driver/spec.go')
-rw-r--r--driver/spec.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/driver/spec.go b/driver/spec.go
index a935577..6127e73 100644
--- a/driver/spec.go
+++ b/driver/spec.go
@@ -48,6 +48,10 @@ func (g *grammarImpl) ErrorTrapperState(state int) bool {
return g.g.ParsingTable.ErrorTrapperStates[state] != 0
}
+func (g *grammarImpl) NonTerminal(nonTerminal int) string {
+ return g.g.ParsingTable.NonTerminals[nonTerminal]
+}
+
func (g *grammarImpl) LHS(prod int) int {
return g.g.ParsingTable.LHSSymbols[prod]
}
@@ -67,3 +71,7 @@ func (g *grammarImpl) Terminal(terminal int) string {
func (g *grammarImpl) TerminalAlias(terminal int) string {
return g.g.LexicalSpecification.Maleeni.KindAliases[terminal]
}
+
+func (g *grammarImpl) ASTAction(prod int) []int {
+ return g.g.ASTAction.Entries[prod]
+}