161 lines
3.4 KiB
Go
161 lines
3.4 KiB
Go
// Code generated by gocc; DO NOT EDIT.
|
|
|
|
package parser
|
|
|
|
type (
|
|
ProdTab [numProductions]ProdTabEntry
|
|
ProdTabEntry struct {
|
|
String string
|
|
Id string
|
|
NTType int
|
|
Index int
|
|
NumSymbols int
|
|
ReduceFunc func([]Attrib, interface{}) (Attrib, error)
|
|
}
|
|
Attrib interface {
|
|
}
|
|
)
|
|
|
|
var productionsTable = ProdTab{
|
|
ProdTabEntry{
|
|
String: `S' : Schema << >>`,
|
|
Id: "S'",
|
|
NTType: 0,
|
|
Index: 0,
|
|
NumSymbols: 1,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `Schema : ExprList << >>`,
|
|
Id: "Schema",
|
|
NTType: 1,
|
|
Index: 1,
|
|
NumSymbols: 1,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `ExprList : Expr << >>`,
|
|
Id: "ExprList",
|
|
NTType: 2,
|
|
Index: 2,
|
|
NumSymbols: 1,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `ExprList : ExprList Expr << >>`,
|
|
Id: "ExprList",
|
|
NTType: 2,
|
|
Index: 3,
|
|
NumSymbols: 2,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `ValList : Val << >>`,
|
|
Id: "ValList",
|
|
NTType: 3,
|
|
Index: 4,
|
|
NumSymbols: 1,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `ValList : ValList Val << >>`,
|
|
Id: "ValList",
|
|
NTType: 3,
|
|
Index: 5,
|
|
NumSymbols: 2,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `Val : string << >>`,
|
|
Id: "Val",
|
|
NTType: 4,
|
|
Index: 6,
|
|
NumSymbols: 1,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `Val : number << >>`,
|
|
Id: "Val",
|
|
NTType: 4,
|
|
Index: 7,
|
|
NumSymbols: 1,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `Val : name << >>`,
|
|
Id: "Val",
|
|
NTType: 4,
|
|
Index: 8,
|
|
NumSymbols: 1,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `Val : Expr << >>`,
|
|
Id: "Val",
|
|
NTType: 4,
|
|
Index: 9,
|
|
NumSymbols: 1,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `Expr : "(" name Val Val ")" << >>`,
|
|
Id: "Expr",
|
|
NTType: 5,
|
|
Index: 10,
|
|
NumSymbols: 5,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `Expr : "(" name Val ")" << >>`,
|
|
Id: "Expr",
|
|
NTType: 5,
|
|
Index: 11,
|
|
NumSymbols: 4,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `Expr : "(" name ")" << >>`,
|
|
Id: "Expr",
|
|
NTType: 5,
|
|
Index: 12,
|
|
NumSymbols: 3,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
ProdTabEntry{
|
|
String: `Expr : "(" "." ValList ")" << >>`,
|
|
Id: "Expr",
|
|
NTType: 5,
|
|
Index: 13,
|
|
NumSymbols: 4,
|
|
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
|
return X[0], nil
|
|
},
|
|
},
|
|
}
|