miller/pkg/parsing/parser/productionstable.go
Adam Lesperance 085e831668
The package version must match the major tag version (#1654)
* Update package version

* Update makefile targets

* Update readme packages

* Remaining old packages via rg/sd
2024-09-20 12:10:11 -04:00

4478 lines
128 KiB
Go

// Code generated by gocc; DO NOT EDIT.
package parser
import "github.com/johnkerl/miller/v6/pkg/dsl"
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' : Root << >>`,
Id: "S'",
NTType: 0,
Index: 0,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Root : StatementBlock << dsl.NewAST(X[0]) >>`,
Id: "Root",
NTType: 1,
Index: 1,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewAST(X[0])
},
},
ProdTabEntry{
String: `StatementBlock : empty << dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock) >>`,
Id: "StatementBlock",
NTType: 2,
Index: 2,
NumSymbols: 0,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `StatementBlock : NonEmptyStatementBlock << dsl.Wrap(X[0]) >>`,
Id: "StatementBlock",
NTType: 2,
Index: 3,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.Wrap(X[0])
},
},
ProdTabEntry{
String: `NonEmptyStatementBlock : BracelessStatement << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock) >>`,
Id: "NonEmptyStatementBlock",
NTType: 3,
Index: 4,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `NonEmptyStatementBlock : BracefulStatement << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock) >>`,
Id: "NonEmptyStatementBlock",
NTType: 3,
Index: 5,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `NonEmptyStatementBlock : ";" StatementBlock << dsl.Wrap(X[1]) >>`,
Id: "NonEmptyStatementBlock",
NTType: 3,
Index: 6,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.Wrap(X[1])
},
},
ProdTabEntry{
String: `NonEmptyStatementBlock : BracelessStatement ";" StatementBlock << dsl.PrependChild(X[2], X[0]) >>`,
Id: "NonEmptyStatementBlock",
NTType: 3,
Index: 7,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.PrependChild(X[2], X[0])
},
},
ProdTabEntry{
String: `NonEmptyStatementBlock : BracefulStatement ";" StatementBlock << dsl.PrependChild(X[2], X[0]) >>`,
Id: "NonEmptyStatementBlock",
NTType: 3,
Index: 8,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.PrependChild(X[2], X[0])
},
},
ProdTabEntry{
String: `NonEmptyStatementBlock : BracefulStatement BracefulStatement StatementBlock << dsl.PrependTwoChildren(X[2], X[0], X[1]) >>`,
Id: "NonEmptyStatementBlock",
NTType: 3,
Index: 9,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.PrependTwoChildren(X[2], X[0], X[1])
},
},
ProdTabEntry{
String: `NonEmptyStatementBlock : BracefulStatement BracelessStatement << dsl.NewASTNodeBinary(nil, X[0], X[1], dsl.NodeTypeStatementBlock) >>`,
Id: "NonEmptyStatementBlock",
NTType: 3,
Index: 10,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(nil, X[0], X[1], dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `NonEmptyStatementBlock : BracefulStatement BracelessStatement ";" << dsl.NewASTNodeBinary(nil, X[0], X[1], dsl.NodeTypeStatementBlock) >>`,
Id: "NonEmptyStatementBlock",
NTType: 3,
Index: 11,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(nil, X[0], X[1], dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `NonEmptyStatementBlock : BracefulStatement BracelessStatement ";" NonEmptyStatementBlock << dsl.PrependTwoChildren(X[3], X[0], X[1]) >>`,
Id: "NonEmptyStatementBlock",
NTType: 3,
Index: 12,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.PrependTwoChildren(X[3], X[0], X[1])
},
},
ProdTabEntry{
String: `StatementBlockInBraces : "{" StatementBlock "}" << dsl.Wrap(X[1]) >>`,
Id: "StatementBlockInBraces",
NTType: 4,
Index: 13,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.Wrap(X[1])
},
},
ProdTabEntry{
String: `BracelessStatement : Assignment << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 14,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : Unset << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 15,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : BareBoolean << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 16,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : FilterStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 17,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : PrintStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 18,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : PrintnStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 19,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : EprintStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 20,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : EprintnStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 21,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : DumpStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 22,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : EdumpStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 23,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : TeeStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 24,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : Emit1Statement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 25,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : EmitStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 26,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : EmitPStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 27,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : EmitFStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 28,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : DoWhileLoop << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 29,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : BreakStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 30,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : ContinueStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 31,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : ReturnStatement << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 32,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracelessStatement : SubroutineCallsite << >>`,
Id: "BracelessStatement",
NTType: 5,
Index: 33,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Assignment : Lvalue "=" Rvalue << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeAssignment) >>`,
Id: "Assignment",
NTType: 6,
Index: 34,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeAssignment)
},
},
ProdTabEntry{
String: `Unset : unset FcnArgs << dsl.AdoptChildren(
dsl.NewASTNodeNestable(
X[0],
dsl.NodeTypeUnset,
),
X[1],
) >>`,
Id: "Unset",
NTType: 7,
Index: 35,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AdoptChildren(
dsl.NewASTNodeNestable(
X[0],
dsl.NodeTypeUnset,
),
X[1],
)
},
},
ProdTabEntry{
String: `Lvalue : Rvalue << >>`,
Id: "Lvalue",
NTType: 8,
Index: 36,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Lvalue : Typedecl LocalVariable << dsl.AppendChild(X[1], X[0]) >>`,
Id: "Lvalue",
NTType: 8,
Index: 37,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AppendChild(X[1], X[0])
},
},
ProdTabEntry{
String: `BareBoolean : Rvalue << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeBareBoolean) >>`,
Id: "BareBoolean",
NTType: 9,
Index: 38,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeBareBoolean)
},
},
ProdTabEntry{
String: `FilterStatement : filter Rvalue << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeFilterStatement) >>`,
Id: "FilterStatement",
NTType: 10,
Index: 39,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeFilterStatement)
},
},
ProdTabEntry{
String: `Redirector : ">" RedirectTarget << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeRedirectWrite) >>`,
Id: "Redirector",
NTType: 11,
Index: 40,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeRedirectWrite)
},
},
ProdTabEntry{
String: `Redirector : ">>" RedirectTarget << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeRedirectAppend) >>`,
Id: "Redirector",
NTType: 11,
Index: 41,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeRedirectAppend)
},
},
ProdTabEntry{
String: `Redirector : "|" RedirectTarget << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeRedirectPipe) >>`,
Id: "Redirector",
NTType: 11,
Index: 42,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeRedirectPipe)
},
},
ProdTabEntry{
String: `RedirectTarget : stdout << dsl.NewASTNodeZary(X[0], dsl.NodeTypeRedirectTargetStdout) >>`,
Id: "RedirectTarget",
NTType: 12,
Index: 43,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(X[0], dsl.NodeTypeRedirectTargetStdout)
},
},
ProdTabEntry{
String: `RedirectTarget : stderr << dsl.NewASTNodeZary(X[0], dsl.NodeTypeRedirectTargetStderr) >>`,
Id: "RedirectTarget",
NTType: 12,
Index: 44,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(X[0], dsl.NodeTypeRedirectTargetStderr)
},
},
ProdTabEntry{
String: `RedirectTarget : Rvalue << >>`,
Id: "RedirectTarget",
NTType: 12,
Index: 45,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `PrintStatement : print << dsl.NewASTNodeBinary(
X[0], // print
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypePrintStatement,
) >>`,
Id: "PrintStatement",
NTType: 13,
Index: 46,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // print
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypePrintStatement,
)
},
},
ProdTabEntry{
String: `PrintStatement : print Redirector << dsl.NewASTNodeBinary(
X[0], // print
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printable
X[1], // redirect
dsl.NodeTypePrintStatement,
) >>`,
Id: "PrintStatement",
NTType: 13,
Index: 47,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // print
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printable
X[1], // redirect
dsl.NodeTypePrintStatement,
)
},
},
ProdTabEntry{
String: `PrintStatement : print FcnArgs << dsl.NewASTNodeBinary(
X[0], // print
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypePrintStatement,
) >>`,
Id: "PrintStatement",
NTType: 13,
Index: 48,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // print
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypePrintStatement,
)
},
},
ProdTabEntry{
String: `PrintStatement : print Redirector "," FcnArgs << dsl.NewASTNodeBinary(
X[0], // print
X[3], // printables
X[1], // redirect
dsl.NodeTypePrintStatement,
) >>`,
Id: "PrintStatement",
NTType: 13,
Index: 49,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // print
X[3], // printables
X[1], // redirect
dsl.NodeTypePrintStatement,
)
},
},
ProdTabEntry{
String: `PrintnStatement : printn << dsl.NewASTNodeBinary(
X[0], // printn
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypePrintnStatement,
) >>`,
Id: "PrintnStatement",
NTType: 14,
Index: 50,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // printn
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypePrintnStatement,
)
},
},
ProdTabEntry{
String: `PrintnStatement : printn Redirector << dsl.NewASTNodeBinary(
X[0], // printn
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printable
X[1], // redirect
dsl.NodeTypePrintnStatement,
) >>`,
Id: "PrintnStatement",
NTType: 14,
Index: 51,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // printn
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printable
X[1], // redirect
dsl.NodeTypePrintnStatement,
)
},
},
ProdTabEntry{
String: `PrintnStatement : printn FcnArgs << dsl.NewASTNodeBinary(
X[0], // printn
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypePrintnStatement,
) >>`,
Id: "PrintnStatement",
NTType: 14,
Index: 52,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // printn
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypePrintnStatement,
)
},
},
ProdTabEntry{
String: `PrintnStatement : printn Redirector "," FcnArgs << dsl.NewASTNodeBinary(
X[0], // printn
X[3], // printables
X[1], // redirect
dsl.NodeTypePrintnStatement,
) >>`,
Id: "PrintnStatement",
NTType: 14,
Index: 53,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // printn
X[3], // printables
X[1], // redirect
dsl.NodeTypePrintnStatement,
)
},
},
ProdTabEntry{
String: `EprintStatement : eprint << dsl.NewASTNodeBinary(
X[0], // eprint
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEprintStatement,
) >>`,
Id: "EprintStatement",
NTType: 15,
Index: 54,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // eprint
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEprintStatement,
)
},
},
ProdTabEntry{
String: `EprintStatement : eprint FcnArgs << dsl.NewASTNodeBinary(
X[0], // eprint
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEprintStatement,
) >>`,
Id: "EprintStatement",
NTType: 15,
Index: 55,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // eprint
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEprintStatement,
)
},
},
ProdTabEntry{
String: `EprintnStatement : eprintn << dsl.NewASTNodeBinary(
X[0], // eprint
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEprintnStatement,
) >>`,
Id: "EprintnStatement",
NTType: 16,
Index: 56,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // eprint
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEprintnStatement,
)
},
},
ProdTabEntry{
String: `EprintnStatement : eprintn FcnArgs << dsl.NewASTNodeBinary(
X[0], // eprintn
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEprintnStatement,
) >>`,
Id: "EprintnStatement",
NTType: 16,
Index: 57,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // eprintn
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEprintnStatement,
)
},
},
ProdTabEntry{
String: `DumpStatement : dump << dsl.NewASTNodeBinary(
X[0], // dump
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no dumpable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeDumpStatement,
) >>`,
Id: "DumpStatement",
NTType: 17,
Index: 58,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // dump
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no dumpable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeDumpStatement,
)
},
},
ProdTabEntry{
String: `DumpStatement : dump Redirector << dsl.NewASTNodeBinary(
X[0], // dump
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no dumpable
X[1], // redirect
dsl.NodeTypeDumpStatement,
) >>`,
Id: "DumpStatement",
NTType: 17,
Index: 59,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // dump
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no dumpable
X[1], // redirect
dsl.NodeTypeDumpStatement,
)
},
},
ProdTabEntry{
String: `DumpStatement : dump FcnArgs << dsl.NewASTNodeBinary(
X[0], // dump
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeDumpStatement,
) >>`,
Id: "DumpStatement",
NTType: 17,
Index: 60,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // dump
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeDumpStatement,
)
},
},
ProdTabEntry{
String: `DumpStatement : dump Redirector "," FcnArgs << dsl.NewASTNodeBinary(
X[0], // dump
X[3], // printables
X[1], // redirect
dsl.NodeTypeDumpStatement,
) >>`,
Id: "DumpStatement",
NTType: 17,
Index: 61,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // dump
X[3], // printables
X[1], // redirect
dsl.NodeTypeDumpStatement,
)
},
},
ProdTabEntry{
String: `EdumpStatement : edump << dsl.NewASTNodeBinary(
X[0], // edump
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no dumpable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEdumpStatement,
) >>`,
Id: "EdumpStatement",
NTType: 18,
Index: 62,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // edump
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no dumpable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEdumpStatement,
)
},
},
ProdTabEntry{
String: `EdumpStatement : edump FcnArgs << dsl.NewASTNodeBinary(
X[0], // edump
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEdumpStatement,
) >>`,
Id: "EdumpStatement",
NTType: 18,
Index: 63,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // edump
X[1], // printables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEdumpStatement,
)
},
},
ProdTabEntry{
String: `TeeStatement : tee Redirector "," FullSrec << dsl.NewASTNodeBinary(X[0], X[3], X[1], dsl.NodeTypeTeeStatement) >>`,
Id: "TeeStatement",
NTType: 19,
Index: 64,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[0], X[3], X[1], dsl.NodeTypeTeeStatement)
},
},
ProdTabEntry{
String: `EmitFStatement : emitf EmittableList << dsl.NewASTNodeBinary(
X[0], // emitf
X[1], // emittables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitFStatement,
) >>`,
Id: "EmitFStatement",
NTType: 20,
Index: 65,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // emitf
X[1], // emittables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitFStatement,
)
},
},
ProdTabEntry{
String: `EmitFStatement : emitf Redirector "," EmittableList << dsl.NewASTNodeBinary(
X[0], // emitf
X[3], // emittables
X[1], // redirect
dsl.NodeTypeEmitFStatement,
) >>`,
Id: "EmitFStatement",
NTType: 20,
Index: 66,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0], // emitf
X[3], // emittables
X[1], // redirect
dsl.NodeTypeEmitFStatement,
)
},
},
ProdTabEntry{
String: `Emit1Statement : emit1 Rvalue << dsl.NewASTNodeUnary(
X[0], // emit
X[1], // Emittable
dsl.NodeTypeEmit1Statement,
) >>`,
Id: "Emit1Statement",
NTType: 21,
Index: 67,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
X[0], // emit
X[1], // Emittable
dsl.NodeTypeEmit1Statement,
)
},
},
ProdTabEntry{
String: `EmitStatement : emit EmittableAsList << dsl.NewASTNodeTernary(
X[0], // emit
X[1], // Emittable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitStatement,
) >>`,
Id: "EmitStatement",
NTType: 22,
Index: 68,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emit
X[1], // Emittable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitStatement,
)
},
},
ProdTabEntry{
String: `EmitStatement : emit Redirector "," EmittableAsList << dsl.NewASTNodeTernary(
X[0], // emit
X[3], // Emittable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
X[1], // redirect
dsl.NodeTypeEmitStatement,
) >>`,
Id: "EmitStatement",
NTType: 22,
Index: 69,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emit
X[3], // Emittable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
X[1], // redirect
dsl.NodeTypeEmitStatement,
)
},
},
ProdTabEntry{
String: `EmitStatement : emit "(" EmittableList ")" << dsl.NewASTNodeTernary(
X[0], // emit
X[2], // emittables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitStatement,
) >>`,
Id: "EmitStatement",
NTType: 22,
Index: 70,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emit
X[2], // emittables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitStatement,
)
},
},
ProdTabEntry{
String: `EmitStatement : emit Redirector "," "(" EmittableList ")" << dsl.NewASTNodeTernary(
X[0], // emit
X[4], // emittables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
X[1], // redirect
dsl.NodeTypeEmitStatement,
) >>`,
Id: "EmitStatement",
NTType: 22,
Index: 71,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emit
X[4], // emittables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
X[1], // redirect
dsl.NodeTypeEmitStatement,
)
},
},
ProdTabEntry{
String: `EmitStatement : emit EmittableAsList "," EmitKeys << dsl.NewASTNodeTernary(
X[0], // emit
X[1], // emittable
X[3], // keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitStatement,
) >>`,
Id: "EmitStatement",
NTType: 22,
Index: 72,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emit
X[1], // emittable
X[3], // keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitStatement,
)
},
},
ProdTabEntry{
String: `EmitStatement : emit Redirector "," EmittableAsList "," EmitKeys << dsl.NewASTNodeTernary(
X[0], // emit
X[3], // emittable
X[5], // keys
X[1], // redirect
dsl.NodeTypeEmitStatement,
) >>`,
Id: "EmitStatement",
NTType: 22,
Index: 73,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emit
X[3], // emittable
X[5], // keys
X[1], // redirect
dsl.NodeTypeEmitStatement,
)
},
},
ProdTabEntry{
String: `EmitStatement : emit "(" EmittableList ")" "," EmitKeys << dsl.NewASTNodeTernary(
X[0], // emit
X[2], // emittable
X[5], // keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitStatement,
) >>`,
Id: "EmitStatement",
NTType: 22,
Index: 74,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emit
X[2], // emittable
X[5], // keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitStatement,
)
},
},
ProdTabEntry{
String: `EmitStatement : emit Redirector "," "(" EmittableList ")" "," EmitKeys << dsl.NewASTNodeTernary(
X[0], // emit
X[4], // emittables
X[7], // keys
X[1], // redirect
dsl.NodeTypeEmitStatement,
) >>`,
Id: "EmitStatement",
NTType: 22,
Index: 75,
NumSymbols: 8,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emit
X[4], // emittables
X[7], // keys
X[1], // redirect
dsl.NodeTypeEmitStatement,
)
},
},
ProdTabEntry{
String: `EmitPStatement : emitp EmittableAsList << dsl.NewASTNodeTernary(
X[0], // emitp
X[1], // emittable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitPStatement,
) >>`,
Id: "EmitPStatement",
NTType: 23,
Index: 76,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emitp
X[1], // emittable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitPStatement,
)
},
},
ProdTabEntry{
String: `EmitPStatement : emitp Redirector "," EmittableAsList << dsl.NewASTNodeTernary(
X[0], // emitp
X[3], // emittable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
X[1], // redirect
dsl.NodeTypeEmitPStatement,
) >>`,
Id: "EmitPStatement",
NTType: 23,
Index: 77,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emitp
X[3], // emittable
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
X[1], // redirect
dsl.NodeTypeEmitPStatement,
)
},
},
ProdTabEntry{
String: `EmitPStatement : emitp "(" EmittableList ")" << dsl.NewASTNodeTernary(
X[0], // emitp
X[2], // emittables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitPStatement,
) >>`,
Id: "EmitPStatement",
NTType: 23,
Index: 78,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emitp
X[2], // emittables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitPStatement,
)
},
},
ProdTabEntry{
String: `EmitPStatement : emitp Redirector "," "(" EmittableList ")" << dsl.NewASTNodeTernary(
X[0], // emitp
X[4], // emittables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
X[1], // redirect
dsl.NodeTypeEmitPStatement,
) >>`,
Id: "EmitPStatement",
NTType: 23,
Index: 79,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emitp
X[4], // emittables
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no keys
X[1], // redirect
dsl.NodeTypeEmitPStatement,
)
},
},
ProdTabEntry{
String: `EmitPStatement : emitp EmittableAsList "," EmitKeys << dsl.NewASTNodeTernary(
X[0], // emitp
X[1], // emittable
X[3], // keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitPStatement,
) >>`,
Id: "EmitPStatement",
NTType: 23,
Index: 80,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emitp
X[1], // emittable
X[3], // keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitPStatement,
)
},
},
ProdTabEntry{
String: `EmitPStatement : emitp Redirector "," EmittableAsList "," EmitKeys << dsl.NewASTNodeTernary(
X[0], // emitp
X[3], // emittable
X[5], // keys
X[1], // redirect
dsl.NodeTypeEmitPStatement,
) >>`,
Id: "EmitPStatement",
NTType: 23,
Index: 81,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emitp
X[3], // emittable
X[5], // keys
X[1], // redirect
dsl.NodeTypeEmitPStatement,
)
},
},
ProdTabEntry{
String: `EmitPStatement : emitp "(" EmittableList ")" "," EmitKeys << dsl.NewASTNodeTernary(
X[0], // emitp
X[2], // emittable
X[5], // keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitPStatement,
) >>`,
Id: "EmitPStatement",
NTType: 23,
Index: 82,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emitp
X[2], // emittable
X[5], // keys
dsl.NewASTNodeNestable(nil, dsl.NodeTypeNoOp), // no redirect
dsl.NodeTypeEmitPStatement,
)
},
},
ProdTabEntry{
String: `EmitPStatement : emitp Redirector "," "(" EmittableList ")" "," EmitKeys << dsl.NewASTNodeTernary(
X[0], // emitp
X[4], // emittable
X[7], // keys
X[1], // redirect
dsl.NodeTypeEmitPStatement,
) >>`,
Id: "EmitPStatement",
NTType: 23,
Index: 83,
NumSymbols: 8,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // emitp
X[4], // emittable
X[7], // keys
X[1], // redirect
dsl.NodeTypeEmitPStatement,
)
},
},
ProdTabEntry{
String: `EmittableList : Emittable << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeEmittableList,
) >>`,
Id: "EmittableList",
NTType: 24,
Index: 84,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeEmittableList,
)
},
},
ProdTabEntry{
String: `EmittableList : Emittable "," EmittableList << dsl.PrependChild(
X[2],
X[0],
) >>`,
Id: "EmittableList",
NTType: 24,
Index: 85,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.PrependChild(
X[2],
X[0],
)
},
},
ProdTabEntry{
String: `EmittableAsList : Emittable << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeEmittableList,
) >>`,
Id: "EmittableAsList",
NTType: 25,
Index: 86,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeEmittableList,
)
},
},
ProdTabEntry{
String: `Emittable : LocalVariable << >>`,
Id: "Emittable",
NTType: 26,
Index: 87,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Emittable : DirectOosvarValue << >>`,
Id: "Emittable",
NTType: 26,
Index: 88,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Emittable : BracedOosvarValue << >>`,
Id: "Emittable",
NTType: 26,
Index: 89,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Emittable : IndirectOosvarValue << >>`,
Id: "Emittable",
NTType: 26,
Index: 90,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Emittable : DirectFieldValue << >>`,
Id: "Emittable",
NTType: 26,
Index: 91,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Emittable : BracedFieldValue << >>`,
Id: "Emittable",
NTType: 26,
Index: 92,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Emittable : IndirectFieldValue << >>`,
Id: "Emittable",
NTType: 26,
Index: 93,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Emittable : FullSrec << >>`,
Id: "Emittable",
NTType: 26,
Index: 94,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Emittable : FullOosvar << >>`,
Id: "Emittable",
NTType: 26,
Index: 95,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `Emittable : MapLiteral << >>`,
Id: "Emittable",
NTType: 26,
Index: 96,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `EmitKeys : Rvalue << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeEmitKeys,
) >>`,
Id: "EmitKeys",
NTType: 27,
Index: 97,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeEmitKeys,
)
},
},
ProdTabEntry{
String: `EmitKeys : Rvalue "," EmitKeys << dsl.PrependChild(
X[2],
X[0],
) >>`,
Id: "EmitKeys",
NTType: 27,
Index: 98,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.PrependChild(
X[2],
X[0],
)
},
},
ProdTabEntry{
String: `FieldValue : DirectFieldValue << >>`,
Id: "FieldValue",
NTType: 28,
Index: 99,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `FieldValue : IndirectFieldValue << >>`,
Id: "FieldValue",
NTType: 28,
Index: 100,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `FieldValue : BracedFieldValue << >>`,
Id: "FieldValue",
NTType: 28,
Index: 101,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `FieldValue : PositionalFieldName << >>`,
Id: "FieldValue",
NTType: 28,
Index: 102,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `FieldValue : PositionalFieldValue << >>`,
Id: "FieldValue",
NTType: 28,
Index: 103,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `DirectFieldValue : field_name << dsl.NewASTNodeStripDollarOrAtSign(X[0], dsl.NodeTypeDirectFieldValue) >>`,
Id: "DirectFieldValue",
NTType: 29,
Index: 104,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeStripDollarOrAtSign(X[0], dsl.NodeTypeDirectFieldValue)
},
},
ProdTabEntry{
String: `IndirectFieldValue : "$[" Rvalue "]" << dsl.NewASTNodeUnary(dsl.NewASTToken("$[]", X[0]), X[1], dsl.NodeTypeIndirectFieldValue) >>`,
Id: "IndirectFieldValue",
NTType: 30,
Index: 105,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(dsl.NewASTToken("$[]", X[0]), X[1], dsl.NodeTypeIndirectFieldValue)
},
},
ProdTabEntry{
String: `BracedFieldValue : braced_field_name << dsl.NewASTNodeStripDollarOrAtSignAndCurlyBraces(X[0], dsl.NodeTypeDirectFieldValue) >>`,
Id: "BracedFieldValue",
NTType: 31,
Index: 106,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeStripDollarOrAtSignAndCurlyBraces(X[0], dsl.NodeTypeDirectFieldValue)
},
},
ProdTabEntry{
String: `PositionalFieldName : "$[[" Rvalue "]" "]" << dsl.NewASTNodeUnary(dsl.NewASTToken("$[]", X[0]), X[1], dsl.NodeTypePositionalFieldName) >>`,
Id: "PositionalFieldName",
NTType: 32,
Index: 107,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(dsl.NewASTToken("$[]", X[0]), X[1], dsl.NodeTypePositionalFieldName)
},
},
ProdTabEntry{
String: `PositionalFieldValue : "$[[[" Rvalue "]" "]" "]" << dsl.NewASTNodeUnary(dsl.NewASTToken("$[]", X[0]), X[1], dsl.NodeTypePositionalFieldValue) >>`,
Id: "PositionalFieldValue",
NTType: 33,
Index: 108,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(dsl.NewASTToken("$[]", X[0]), X[1], dsl.NodeTypePositionalFieldValue)
},
},
ProdTabEntry{
String: `FullSrec : full_srec << dsl.NewASTNode(X[0], dsl.NodeTypeFullSrec) >>`,
Id: "FullSrec",
NTType: 34,
Index: 109,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeFullSrec)
},
},
ProdTabEntry{
String: `OosvarValue : DirectOosvarValue << >>`,
Id: "OosvarValue",
NTType: 35,
Index: 110,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `OosvarValue : IndirectOosvarValue << >>`,
Id: "OosvarValue",
NTType: 35,
Index: 111,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `OosvarValue : BracedOosvarValue << >>`,
Id: "OosvarValue",
NTType: 35,
Index: 112,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `DirectOosvarValue : oosvar_name << dsl.NewASTNodeStripDollarOrAtSign(X[0], dsl.NodeTypeDirectOosvarValue) >>`,
Id: "DirectOosvarValue",
NTType: 36,
Index: 113,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeStripDollarOrAtSign(X[0], dsl.NodeTypeDirectOosvarValue)
},
},
ProdTabEntry{
String: `IndirectOosvarValue : "@[" Rvalue "]" << dsl.NewASTNodeUnary(dsl.NewASTToken("@[]", X[0]), X[1], dsl.NodeTypeIndirectOosvarValue) >>`,
Id: "IndirectOosvarValue",
NTType: 37,
Index: 114,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(dsl.NewASTToken("@[]", X[0]), X[1], dsl.NodeTypeIndirectOosvarValue)
},
},
ProdTabEntry{
String: `BracedOosvarValue : braced_oosvar_name << dsl.NewASTNodeStripDollarOrAtSignAndCurlyBraces(X[0], dsl.NodeTypeDirectOosvarValue) >>`,
Id: "BracedOosvarValue",
NTType: 38,
Index: 115,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeStripDollarOrAtSignAndCurlyBraces(X[0], dsl.NodeTypeDirectOosvarValue)
},
},
ProdTabEntry{
String: `FullOosvar : full_oosvar << dsl.NewASTNode(X[0], dsl.NodeTypeFullOosvar) >>`,
Id: "FullOosvar",
NTType: 39,
Index: 116,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeFullOosvar)
},
},
ProdTabEntry{
String: `FullOosvar : all << dsl.NewASTNode(X[0], dsl.NodeTypeFullOosvar) >>`,
Id: "FullOosvar",
NTType: 39,
Index: 117,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeFullOosvar)
},
},
ProdTabEntry{
String: `LocalVariable : non_sigil_name << dsl.NewASTNode(X[0], dsl.NodeTypeLocalVariable) >>`,
Id: "LocalVariable",
NTType: 40,
Index: 118,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeLocalVariable)
},
},
ProdTabEntry{
String: `Typedecl : arr << dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl) >>`,
Id: "Typedecl",
NTType: 41,
Index: 119,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl)
},
},
ProdTabEntry{
String: `Typedecl : bool << dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl) >>`,
Id: "Typedecl",
NTType: 41,
Index: 120,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl)
},
},
ProdTabEntry{
String: `Typedecl : float << dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl) >>`,
Id: "Typedecl",
NTType: 41,
Index: 121,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl)
},
},
ProdTabEntry{
String: `Typedecl : int << dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl) >>`,
Id: "Typedecl",
NTType: 41,
Index: 122,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl)
},
},
ProdTabEntry{
String: `Typedecl : map << dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl) >>`,
Id: "Typedecl",
NTType: 41,
Index: 123,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl)
},
},
ProdTabEntry{
String: `Typedecl : num << dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl) >>`,
Id: "Typedecl",
NTType: 41,
Index: 124,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl)
},
},
ProdTabEntry{
String: `Typedecl : str << dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl) >>`,
Id: "Typedecl",
NTType: 41,
Index: 125,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl)
},
},
ProdTabEntry{
String: `Typedecl : var << dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl) >>`,
Id: "Typedecl",
NTType: 41,
Index: 126,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl)
},
},
ProdTabEntry{
String: `Typedecl : funct << dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl) >>`,
Id: "Typedecl",
NTType: 41,
Index: 127,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeTypedecl)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "||=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("||", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 128,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("||", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "^^=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("^^", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 129,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("^^", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "&&=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("&&", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 130,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("&&", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "??=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("??", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 131,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("??", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "???=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("???", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 132,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("???", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "|=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("|", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 133,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("|", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "&=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("^", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 134,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("^", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "^=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("^", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 135,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("^", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "<<=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("<<", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 136,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("<<", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue ">>=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken(">"+">", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 137,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken(">"+">", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue ">>>=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken(">"+">"+">", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 138,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken(">"+">"+">", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "+=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("+", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 139,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("+", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue ".=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken(".", X[1]), X[0], X[2], dsl.NodeTypeDotOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 140,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken(".", X[1]), X[0], X[2], dsl.NodeTypeDotOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "-=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("-", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 141,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("-", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "*=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("*", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 142,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("*", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "/=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("/", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 143,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("/", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "//=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("//", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 144,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("//", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "%=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("%", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 145,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("%", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Assignment : Lvalue "**=" Rvalue << dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("**", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
) >>`,
Id: "Assignment",
NTType: 6,
Index: 146,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("=", X[1]),
X[0],
dsl.NewASTNodeBinaryNestable(dsl.NewASTToken("**", X[1]), X[0], X[2], dsl.NodeTypeOperator),
dsl.NodeTypeAssignment,
)
},
},
ProdTabEntry{
String: `Rvalue : PrecedenceChainStart << >>`,
Id: "Rvalue",
NTType: 42,
Index: 147,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `PrecedenceChainStart : TernaryTerm << >>`,
Id: "PrecedenceChainStart",
NTType: 43,
Index: 148,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `TernaryTerm : LogicalOrTerm "?" TernaryTerm ":" TernaryTerm << dsl.NewASTNodeTernary(dsl.NewASTToken("?:", X[1]), X[0], X[2], X[4], dsl.NodeTypeOperator) >>`,
Id: "TernaryTerm",
NTType: 44,
Index: 149,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(dsl.NewASTToken("?:", X[1]), X[0], X[2], X[4], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `TernaryTerm : LogicalOrTerm << >>`,
Id: "TernaryTerm",
NTType: 44,
Index: 150,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `LogicalOrTerm : LogicalOrTerm "||" LogicalXORTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "LogicalOrTerm",
NTType: 45,
Index: 151,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `LogicalOrTerm : LogicalXORTerm << >>`,
Id: "LogicalOrTerm",
NTType: 45,
Index: 152,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `LogicalXORTerm : LogicalXORTerm "^^" LogicalAndTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "LogicalXORTerm",
NTType: 46,
Index: 153,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `LogicalXORTerm : LogicalAndTerm << >>`,
Id: "LogicalXORTerm",
NTType: 46,
Index: 154,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `LogicalAndTerm : LogicalAndTerm "&&" EqneTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "LogicalAndTerm",
NTType: 47,
Index: 155,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `LogicalAndTerm : EqneTerm << >>`,
Id: "LogicalAndTerm",
NTType: 47,
Index: 156,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `EqneTerm : EqneTerm "=~" CmpTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "EqneTerm",
NTType: 48,
Index: 157,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `EqneTerm : EqneTerm "!=~" CmpTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "EqneTerm",
NTType: 48,
Index: 158,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `EqneTerm : EqneTerm "==" CmpTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "EqneTerm",
NTType: 48,
Index: 159,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `EqneTerm : EqneTerm "!=" CmpTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "EqneTerm",
NTType: 48,
Index: 160,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `EqneTerm : EqneTerm "<=>" CmpTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "EqneTerm",
NTType: 48,
Index: 161,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `EqneTerm : CmpTerm << >>`,
Id: "EqneTerm",
NTType: 48,
Index: 162,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `CmpTerm : CmpTerm ">" BitwiseORTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "CmpTerm",
NTType: 49,
Index: 163,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `CmpTerm : CmpTerm ">=" BitwiseORTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "CmpTerm",
NTType: 49,
Index: 164,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `CmpTerm : CmpTerm "<" BitwiseORTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "CmpTerm",
NTType: 49,
Index: 165,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `CmpTerm : CmpTerm "<=" BitwiseORTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "CmpTerm",
NTType: 49,
Index: 166,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `CmpTerm : BitwiseORTerm << >>`,
Id: "CmpTerm",
NTType: 49,
Index: 167,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BitwiseORTerm : BitwiseORTerm "|" BitwiseXORTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "BitwiseORTerm",
NTType: 50,
Index: 168,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `BitwiseORTerm : BitwiseXORTerm << >>`,
Id: "BitwiseORTerm",
NTType: 50,
Index: 169,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BitwiseXORTerm : BitwiseXORTerm "^" BitwiseANDTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "BitwiseXORTerm",
NTType: 51,
Index: 170,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `BitwiseXORTerm : BitwiseANDTerm << >>`,
Id: "BitwiseXORTerm",
NTType: 51,
Index: 171,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BitwiseANDTerm : BitwiseANDTerm "&" BitwiseShiftTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "BitwiseANDTerm",
NTType: 52,
Index: 172,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `BitwiseANDTerm : BitwiseShiftTerm << >>`,
Id: "BitwiseANDTerm",
NTType: 52,
Index: 173,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BitwiseShiftTerm : BitwiseShiftTerm "<<" AddsubdotTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "BitwiseShiftTerm",
NTType: 53,
Index: 174,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `BitwiseShiftTerm : BitwiseShiftTerm ">>" AddsubdotTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "BitwiseShiftTerm",
NTType: 53,
Index: 175,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `BitwiseShiftTerm : BitwiseShiftTerm ">>>" AddsubdotTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "BitwiseShiftTerm",
NTType: 53,
Index: 176,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `BitwiseShiftTerm : AddsubdotTerm << >>`,
Id: "BitwiseShiftTerm",
NTType: 53,
Index: 177,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `AddsubdotTerm : AddsubdotTerm "+" MuldivTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "AddsubdotTerm",
NTType: 54,
Index: 178,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `AddsubdotTerm : AddsubdotTerm "-" MuldivTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "AddsubdotTerm",
NTType: 54,
Index: 179,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `AddsubdotTerm : AddsubdotTerm ".+" MuldivTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "AddsubdotTerm",
NTType: 54,
Index: 180,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `AddsubdotTerm : AddsubdotTerm ".-" MuldivTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "AddsubdotTerm",
NTType: 54,
Index: 181,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `AddsubdotTerm : MuldivTerm << >>`,
Id: "AddsubdotTerm",
NTType: 54,
Index: 182,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MuldivTerm : MuldivTerm "*" DotTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "MuldivTerm",
NTType: 55,
Index: 183,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `MuldivTerm : MuldivTerm "/" DotTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "MuldivTerm",
NTType: 55,
Index: 184,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `MuldivTerm : MuldivTerm "//" DotTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "MuldivTerm",
NTType: 55,
Index: 185,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `MuldivTerm : MuldivTerm "%" DotTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "MuldivTerm",
NTType: 55,
Index: 186,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `MuldivTerm : MuldivTerm ".*" DotTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "MuldivTerm",
NTType: 55,
Index: 187,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `MuldivTerm : MuldivTerm "./" DotTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "MuldivTerm",
NTType: 55,
Index: 188,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `MuldivTerm : MuldivTerm ".//" DotTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "MuldivTerm",
NTType: 55,
Index: 189,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `MuldivTerm : DotTerm << >>`,
Id: "MuldivTerm",
NTType: 55,
Index: 190,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `DotTerm : DotTerm "." UnaryOpTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeDotOperator) >>`,
Id: "DotTerm",
NTType: 56,
Index: 191,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeDotOperator)
},
},
ProdTabEntry{
String: `DotTerm : UnaryOpTerm << >>`,
Id: "DotTerm",
NTType: 56,
Index: 192,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `UnaryOpTerm : "+" UnaryOpTerm << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator) >>`,
Id: "UnaryOpTerm",
NTType: 57,
Index: 193,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `UnaryOpTerm : "-" UnaryOpTerm << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator) >>`,
Id: "UnaryOpTerm",
NTType: 57,
Index: 194,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `UnaryOpTerm : ".+" UnaryOpTerm << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator) >>`,
Id: "UnaryOpTerm",
NTType: 57,
Index: 195,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `UnaryOpTerm : ".-" UnaryOpTerm << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator) >>`,
Id: "UnaryOpTerm",
NTType: 57,
Index: 196,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `UnaryOpTerm : "!" UnaryOpTerm << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator) >>`,
Id: "UnaryOpTerm",
NTType: 57,
Index: 197,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `UnaryOpTerm : "~" UnaryOpTerm << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator) >>`,
Id: "UnaryOpTerm",
NTType: 57,
Index: 198,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `UnaryOpTerm : AbsentCoalesceTerm << >>`,
Id: "UnaryOpTerm",
NTType: 57,
Index: 199,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `AbsentCoalesceTerm : AbsentCoalesceTerm "??" EmptyCoalesceTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "AbsentCoalesceTerm",
NTType: 58,
Index: 200,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `AbsentCoalesceTerm : EmptyCoalesceTerm << >>`,
Id: "AbsentCoalesceTerm",
NTType: 58,
Index: 201,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `EmptyCoalesceTerm : EmptyCoalesceTerm "???" PowTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "EmptyCoalesceTerm",
NTType: 59,
Index: 202,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `EmptyCoalesceTerm : PowTerm << >>`,
Id: "EmptyCoalesceTerm",
NTType: 59,
Index: 203,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `PowTerm : PrecedenceChainEnd "**" PowTerm << dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator) >>`,
Id: "PowTerm",
NTType: 60,
Index: 204,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0], X[2], dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `PowTerm : PrecedenceChainEnd "**" "-" PowTerm << dsl.NewASTNodeBinary( X[1], X[0],
dsl.NewASTNodeUnaryNestable( X[2], X[3], dsl.NodeTypeOperator,), dsl.NodeTypeOperator,) >>`,
Id: "PowTerm",
NTType: 60,
Index: 205,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[1], X[0],
dsl.NewASTNodeUnaryNestable(X[2], X[3], dsl.NodeTypeOperator), dsl.NodeTypeOperator)
},
},
ProdTabEntry{
String: `PowTerm : PrecedenceChainEnd "**" "+" PowTerm << dsl.NewASTNodeBinary(
X[1],
X[0],
dsl.NewASTNodeUnaryNestable(
X[2],
X[3],
dsl.NodeTypeOperator,
),
dsl.NodeTypeOperator,
) >>`,
Id: "PowTerm",
NTType: 60,
Index: 206,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[1],
X[0],
dsl.NewASTNodeUnaryNestable(
X[2],
X[3],
dsl.NodeTypeOperator,
),
dsl.NodeTypeOperator,
)
},
},
ProdTabEntry{
String: `PowTerm : PrecedenceChainEnd << >>`,
Id: "PowTerm",
NTType: 60,
Index: 207,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `PrecedenceChainEnd : "(" Rvalue ")" << dsl.Nestable(X[1]) >>`,
Id: "PrecedenceChainEnd",
NTType: 61,
Index: 208,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.Nestable(X[1])
},
},
ProdTabEntry{
String: `PrecedenceChainEnd : MlrvalOrFunction << >>`,
Id: "PrecedenceChainEnd",
NTType: 61,
Index: 209,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MlrvalOrFunction : FieldValue << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 210,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MlrvalOrFunction : FullSrec << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 211,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MlrvalOrFunction : OosvarValue << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 212,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MlrvalOrFunction : FullOosvar << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 213,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MlrvalOrFunction : LocalVariable << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 214,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MlrvalOrFunction : UnnamedFunctionDefinition << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 215,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MlrvalOrFunction : string_literal << dsl.NewASTNodeStripDoubleQuotePair(X[0], dsl.NodeTypeStringLiteral) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 216,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeStripDoubleQuotePair(X[0], dsl.NodeTypeStringLiteral)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : regex_case_insensitive << dsl.NewASTNode(X[0], dsl.NodeTypeRegexCaseInsensitive) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 217,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeRegexCaseInsensitive)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : int_literal << dsl.NewASTNode(X[0], dsl.NodeTypeIntLiteral) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 218,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeIntLiteral)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : float_literal << dsl.NewASTNode(X[0], dsl.NodeTypeFloatLiteral) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 219,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeFloatLiteral)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : boolean_literal << dsl.NewASTNode(X[0], dsl.NodeTypeBoolLiteral) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 220,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeBoolLiteral)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : null_literal << dsl.NewASTNode(X[0], dsl.NodeTypeNullLiteral) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 221,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeNullLiteral)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : inf_literal << dsl.NewASTNode(X[0], dsl.NodeTypeFloatLiteral) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 222,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeFloatLiteral)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : nan_literal << dsl.NewASTNode(X[0], dsl.NodeTypeFloatLiteral) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 223,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeFloatLiteral)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : const_M_PI << dsl.NewASTNode(
X[0],
dsl.NodeTypeConstant,
) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 224,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(
X[0],
dsl.NodeTypeConstant,
)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : const_M_E << dsl.NewASTNode(
X[0],
dsl.NodeTypeConstant,
) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 225,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(
X[0],
dsl.NodeTypeConstant,
)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : panic << dsl.NewASTNode(X[0], dsl.NodeTypePanic) >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 226,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypePanic)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : ArrayLiteral << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 227,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `ArrayLiteral : "[" "]" << dsl.NewASTNodeZary(
dsl.NewASTToken("[]", X[0]),
dsl.NodeTypeArrayLiteral,
) >>`,
Id: "ArrayLiteral",
NTType: 63,
Index: 228,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(
dsl.NewASTToken("[]", X[0]),
dsl.NodeTypeArrayLiteral,
)
},
},
ProdTabEntry{
String: `ArrayLiteral : "[" ArrayLiteralElements "]" << dsl.AdoptChildren(
dsl.NewASTNodeNestable(
dsl.NewASTToken("[]", X[0]),
dsl.NodeTypeArrayLiteral,
),
X[1],
) >>`,
Id: "ArrayLiteral",
NTType: 63,
Index: 229,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AdoptChildren(
dsl.NewASTNodeNestable(
dsl.NewASTToken("[]", X[0]),
dsl.NodeTypeArrayLiteral,
),
X[1],
)
},
},
ProdTabEntry{
String: `ArrayLiteralElements : Rvalue << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeArrayLiteral,
) >>`,
Id: "ArrayLiteralElements",
NTType: 64,
Index: 230,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeArrayLiteral,
)
},
},
ProdTabEntry{
String: `ArrayLiteralElements : Rvalue "," << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeArrayLiteral,
) >>`,
Id: "ArrayLiteralElements",
NTType: 64,
Index: 231,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeArrayLiteral,
)
},
},
ProdTabEntry{
String: `ArrayLiteralElements : Rvalue "," ArrayLiteralElements << dsl.PrependChild(
X[2],
X[0],
) >>`,
Id: "ArrayLiteralElements",
NTType: 64,
Index: 232,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.PrependChild(
X[2],
X[0],
)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : MapLiteral << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 233,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MapLiteral : "{" "}" << dsl.NewASTNodeZary(
dsl.NewASTToken("{}", X[0]),
dsl.NodeTypeMapLiteral,
) >>`,
Id: "MapLiteral",
NTType: 65,
Index: 234,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(
dsl.NewASTToken("{}", X[0]),
dsl.NodeTypeMapLiteral,
)
},
},
ProdTabEntry{
String: `MapLiteral : "{" MapLiteralKeyValuePairs "}" << dsl.AdoptChildren(
dsl.NewASTNodeNestable(
dsl.NewASTToken("{}", X[0]),
dsl.NodeTypeMapLiteral,
),
X[1],
) >>`,
Id: "MapLiteral",
NTType: 65,
Index: 235,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AdoptChildren(
dsl.NewASTNodeNestable(
dsl.NewASTToken("{}", X[0]),
dsl.NodeTypeMapLiteral,
),
X[1],
)
},
},
ProdTabEntry{
String: `MapLiteralKeyValuePairs : MapLiteralKeyValuePair << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeMapLiteral,
) >>`,
Id: "MapLiteralKeyValuePairs",
NTType: 66,
Index: 236,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeMapLiteral,
)
},
},
ProdTabEntry{
String: `MapLiteralKeyValuePairs : MapLiteralKeyValuePair "," << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeMapLiteral,
) >>`,
Id: "MapLiteralKeyValuePairs",
NTType: 66,
Index: 237,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeMapLiteral,
)
},
},
ProdTabEntry{
String: `MapLiteralKeyValuePairs : MapLiteralKeyValuePair "," MapLiteralKeyValuePairs << dsl.PrependChild(
X[2],
X[0],
) >>`,
Id: "MapLiteralKeyValuePairs",
NTType: 66,
Index: 238,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.PrependChild(
X[2],
X[0],
)
},
},
ProdTabEntry{
String: `MapLiteralKeyValuePair : Rvalue ":" Rvalue << dsl.NewASTNodeBinary(
X[1],
X[0],
X[2],
dsl.NodeTypeMapLiteralKeyValuePair,
) >>`,
Id: "MapLiteralKeyValuePair",
NTType: 67,
Index: 239,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[1],
X[0],
X[2],
dsl.NodeTypeMapLiteralKeyValuePair,
)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : ContextVariable << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 240,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `ContextVariable : ctx_IPS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 241,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_IFS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 242,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_IRS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 243,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_OPS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 244,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_OFS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 245,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_ORS << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 246,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_FLATSEP << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 247,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_NF << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 248,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_NR << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 249,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_FNR << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 250,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_FILENAME << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 251,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `ContextVariable : ctx_FILENUM << dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable) >>`,
Id: "ContextVariable",
NTType: 68,
Index: 252,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeContextVariable)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : ENV << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 253,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `ENV : env "[" Rvalue "]" << dsl.NewASTNodeUnary(
X[0],
X[2],
dsl.NodeTypeEnvironmentVariable,
) >>`,
Id: "ENV",
NTType: 69,
Index: 254,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
X[0],
X[2],
dsl.NodeTypeEnvironmentVariable,
)
},
},
ProdTabEntry{
String: `ENV : env "." non_sigil_name << dsl.NewASTNodeUnary(
X[0],
dsl.NewASTNodeNestable(X[2], dsl.NodeTypeStringLiteral),
dsl.NodeTypeEnvironmentVariable,
) >>`,
Id: "ENV",
NTType: 69,
Index: 255,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
X[0],
dsl.NewASTNodeNestable(X[2], dsl.NodeTypeStringLiteral),
dsl.NodeTypeEnvironmentVariable,
)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : ArrayOrMapIndexAccess << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 256,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MlrvalOrFunction : ArrayOrMapPositionalNameAccess << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 257,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MlrvalOrFunction : ArrayOrMapPositionalValueAccess << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 258,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `MlrvalOrFunction : ArraySliceAccess << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 259,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `ArrayOrMapIndexAccess : MlrvalOrFunction "[" Rvalue "]" << dsl.NewASTNodeBinary(
dsl.NewASTToken("[]", X[1]),
X[0],
X[2],
dsl.NodeTypeArrayOrMapIndexAccess,
) >>`,
Id: "ArrayOrMapIndexAccess",
NTType: 70,
Index: 260,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("[]", X[1]),
X[0],
X[2],
dsl.NodeTypeArrayOrMapIndexAccess,
)
},
},
ProdTabEntry{
String: `ArrayOrMapPositionalNameAccess : MlrvalOrFunction "[[" Rvalue "]" "]" << dsl.NewASTNodeBinary(
dsl.NewASTToken("[]", X[1]),
X[0],
X[2],
dsl.NodeTypeArrayOrMapPositionalNameAccess,
) >>`,
Id: "ArrayOrMapPositionalNameAccess",
NTType: 71,
Index: 261,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("[]", X[1]),
X[0],
X[2],
dsl.NodeTypeArrayOrMapPositionalNameAccess,
)
},
},
ProdTabEntry{
String: `ArrayOrMapPositionalValueAccess : MlrvalOrFunction "[[[" Rvalue "]" "]" "]" << dsl.NewASTNodeBinary(
dsl.NewASTToken("[]", X[1]),
X[0],
X[2],
dsl.NodeTypeArrayOrMapPositionalValueAccess,
) >>`,
Id: "ArrayOrMapPositionalValueAccess",
NTType: 72,
Index: 262,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
dsl.NewASTToken("[]", X[1]),
X[0],
X[2],
dsl.NodeTypeArrayOrMapPositionalValueAccess,
)
},
},
ProdTabEntry{
String: `ArraySliceAccess : MlrvalOrFunction "[" Rvalue ":" Rvalue "]" << dsl.NewASTNodeTernary(
dsl.NewASTToken("[]", X[1]),
X[0],
X[2],
X[4],
dsl.NodeTypeArraySliceAccess,
) >>`,
Id: "ArraySliceAccess",
NTType: 73,
Index: 263,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
dsl.NewASTToken("[]", X[1]),
X[0],
X[2],
X[4],
dsl.NodeTypeArraySliceAccess,
)
},
},
ProdTabEntry{
String: `ArraySliceAccess : MlrvalOrFunction "[" ":" Rvalue "]" << dsl.NewASTNodeTernary(
dsl.NewASTToken("[]", X[1]),
X[0],
dsl.NewASTNodeNestable(
X[2],
dsl.NodeTypeArraySliceEmptyLowerIndex,
),
X[3],
dsl.NodeTypeArraySliceAccess,
) >>`,
Id: "ArraySliceAccess",
NTType: 73,
Index: 264,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
dsl.NewASTToken("[]", X[1]),
X[0],
dsl.NewASTNodeNestable(
X[2],
dsl.NodeTypeArraySliceEmptyLowerIndex,
),
X[3],
dsl.NodeTypeArraySliceAccess,
)
},
},
ProdTabEntry{
String: `ArraySliceAccess : MlrvalOrFunction "[" Rvalue ":" "]" << dsl.NewASTNodeTernary(
dsl.NewASTToken("[]", X[1]),
X[0],
X[2],
dsl.NewASTNodeNestable(
X[3],
dsl.NodeTypeArraySliceEmptyUpperIndex,
),
dsl.NodeTypeArraySliceAccess,
) >>`,
Id: "ArraySliceAccess",
NTType: 73,
Index: 265,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
dsl.NewASTToken("[]", X[1]),
X[0],
X[2],
dsl.NewASTNodeNestable(
X[3],
dsl.NodeTypeArraySliceEmptyUpperIndex,
),
dsl.NodeTypeArraySliceAccess,
)
},
},
ProdTabEntry{
String: `ArraySliceAccess : MlrvalOrFunction "[" ":" "]" << dsl.NewASTNodeTernary(
dsl.NewASTToken("[]", X[1]),
X[0],
dsl.NewASTNodeNestable(
X[2],
dsl.NodeTypeArraySliceEmptyLowerIndex,
),
dsl.NewASTNodeNestable(
X[2],
dsl.NodeTypeArraySliceEmptyUpperIndex,
),
dsl.NodeTypeArraySliceAccess,
) >>`,
Id: "ArraySliceAccess",
NTType: 73,
Index: 266,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
dsl.NewASTToken("[]", X[1]),
X[0],
dsl.NewASTNodeNestable(
X[2],
dsl.NodeTypeArraySliceEmptyLowerIndex,
),
dsl.NewASTNodeNestable(
X[2],
dsl.NodeTypeArraySliceEmptyUpperIndex,
),
dsl.NodeTypeArraySliceAccess,
)
},
},
ProdTabEntry{
String: `MlrvalOrFunction : FunctionCallsite << >>`,
Id: "MlrvalOrFunction",
NTType: 62,
Index: 267,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `FunctionCallsite : FunctionName "(" ")" << dsl.NewASTNodeZary(
X[0],
dsl.NodeTypeFunctionCallsite,
) >>`,
Id: "FunctionCallsite",
NTType: 74,
Index: 268,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(
X[0],
dsl.NodeTypeFunctionCallsite,
)
},
},
ProdTabEntry{
String: `FunctionCallsite : FunctionName "(" FcnArgs ")" << dsl.AdoptChildren(
dsl.NewASTNodeNestable(
X[0],
dsl.NodeTypeFunctionCallsite,
),
X[2],
) >>`,
Id: "FunctionCallsite",
NTType: 74,
Index: 269,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AdoptChildren(
dsl.NewASTNodeNestable(
X[0],
dsl.NodeTypeFunctionCallsite,
),
X[2],
)
},
},
ProdTabEntry{
String: `FunctionName : non_sigil_name << >>`,
Id: "FunctionName",
NTType: 75,
Index: 270,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `FunctionName : int << >>`,
Id: "FunctionName",
NTType: 75,
Index: 271,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `FunctionName : float << >>`,
Id: "FunctionName",
NTType: 75,
Index: 272,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `FcnArgs : Rvalue << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeFunctionCallsite,
) >>`,
Id: "FcnArgs",
NTType: 76,
Index: 273,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeFunctionCallsite,
)
},
},
ProdTabEntry{
String: `FcnArgs : Rvalue "," << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeFunctionCallsite,
) >>`,
Id: "FcnArgs",
NTType: 76,
Index: 274,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeFunctionCallsite,
)
},
},
ProdTabEntry{
String: `FcnArgs : Rvalue "," FcnArgs << dsl.PrependChild(
X[2],
X[0],
) >>`,
Id: "FcnArgs",
NTType: 76,
Index: 275,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.PrependChild(
X[2],
X[0],
)
},
},
ProdTabEntry{
String: `SubroutineCallsite : call SubroutineName "(" ")" << dsl.NewASTNodeZary(
X[1],
dsl.NodeTypeSubroutineCallsite,
) >>`,
Id: "SubroutineCallsite",
NTType: 77,
Index: 276,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(
X[1],
dsl.NodeTypeSubroutineCallsite,
)
},
},
ProdTabEntry{
String: `SubroutineCallsite : call SubroutineName "(" FcnArgs ")" << dsl.AdoptChildren(
dsl.NewASTNodeNestable(
X[1],
dsl.NodeTypeSubroutineCallsite,
),
X[3],
) >>`,
Id: "SubroutineCallsite",
NTType: 77,
Index: 277,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AdoptChildren(
dsl.NewASTNodeNestable(
X[1],
dsl.NodeTypeSubroutineCallsite,
),
X[3],
)
},
},
ProdTabEntry{
String: `SubroutineName : non_sigil_name << >>`,
Id: "SubroutineName",
NTType: 78,
Index: 278,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracefulStatement : BeginBlock << >>`,
Id: "BracefulStatement",
NTType: 79,
Index: 279,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracefulStatement : EndBlock << >>`,
Id: "BracefulStatement",
NTType: 79,
Index: 280,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracefulStatement : CondBlock << >>`,
Id: "BracefulStatement",
NTType: 79,
Index: 281,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracefulStatement : IfChain << >>`,
Id: "BracefulStatement",
NTType: 79,
Index: 282,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracefulStatement : WhileLoop << >>`,
Id: "BracefulStatement",
NTType: 79,
Index: 283,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracefulStatement : ForLoop << >>`,
Id: "BracefulStatement",
NTType: 79,
Index: 284,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracefulStatement : NamedFunctionDefinition << >>`,
Id: "BracefulStatement",
NTType: 79,
Index: 285,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BracefulStatement : SubroutineDefinition << >>`,
Id: "BracefulStatement",
NTType: 79,
Index: 286,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `BeginBlock : begin StatementBlockInBraces << dsl.NewASTNodeUnary(nil, X[1], dsl.NodeTypeBeginBlock) >>`,
Id: "BeginBlock",
NTType: 80,
Index: 287,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[1], dsl.NodeTypeBeginBlock)
},
},
ProdTabEntry{
String: `EndBlock : end StatementBlockInBraces << dsl.NewASTNodeUnary(nil, X[1], dsl.NodeTypeEndBlock) >>`,
Id: "EndBlock",
NTType: 81,
Index: 288,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[1], dsl.NodeTypeEndBlock)
},
},
ProdTabEntry{
String: `CondBlock : Rvalue StatementBlockInBraces << dsl.NewASTNodeBinary(nil, X[0], X[1], dsl.NodeTypeCondBlock) >>`,
Id: "CondBlock",
NTType: 82,
Index: 289,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(nil, X[0], X[1], dsl.NodeTypeCondBlock)
},
},
ProdTabEntry{
String: `IfChain : IfElifStar << >>`,
Id: "IfChain",
NTType: 83,
Index: 290,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `IfChain : IfElifStar ElseBlock << dsl.AppendChild(X[0], X[1]) >>`,
Id: "IfChain",
NTType: 83,
Index: 291,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AppendChild(X[0], X[1])
},
},
ProdTabEntry{
String: `IfElifStar : IfBlock << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeIfChain) >>`,
Id: "IfElifStar",
NTType: 84,
Index: 292,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeIfChain)
},
},
ProdTabEntry{
String: `IfElifStar : IfElifStar ElifBlock << dsl.AppendChild(X[0], X[1]) >>`,
Id: "IfElifStar",
NTType: 84,
Index: 293,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AppendChild(X[0], X[1])
},
},
ProdTabEntry{
String: `IfBlock : if "(" Rvalue ")" StatementBlockInBraces << dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeIfItem) >>`,
Id: "IfBlock",
NTType: 85,
Index: 294,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeIfItem)
},
},
ProdTabEntry{
String: `ElifBlock : elif "(" Rvalue ")" StatementBlockInBraces << dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeIfItem) >>`,
Id: "ElifBlock",
NTType: 86,
Index: 295,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeIfItem)
},
},
ProdTabEntry{
String: `ElseBlock : else StatementBlockInBraces << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeIfItem) >>`,
Id: "ElseBlock",
NTType: 87,
Index: 296,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeIfItem)
},
},
ProdTabEntry{
String: `WhileLoop : while "(" Rvalue ")" StatementBlockInBraces << dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeWhileLoop) >>`,
Id: "WhileLoop",
NTType: 88,
Index: 297,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[0], X[2], X[4], dsl.NodeTypeWhileLoop)
},
},
ProdTabEntry{
String: `DoWhileLoop : do StatementBlockInBraces while "(" Rvalue ")" << dsl.NewASTNodeBinary(X[0], X[1], X[4], dsl.NodeTypeDoWhileLoop) >>`,
Id: "DoWhileLoop",
NTType: 89,
Index: 298,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(X[0], X[1], X[4], dsl.NodeTypeDoWhileLoop)
},
},
ProdTabEntry{
String: `ForLoop : ForLoopOneVariable << >>`,
Id: "ForLoop",
NTType: 90,
Index: 299,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `ForLoop : ForLoopTwoVariable << >>`,
Id: "ForLoop",
NTType: 90,
Index: 300,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `ForLoop : ForLoopMultivariable << >>`,
Id: "ForLoop",
NTType: 90,
Index: 301,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `ForLoop : TripleForLoop << >>`,
Id: "ForLoop",
NTType: 90,
Index: 302,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `ForLoopOneVariable : for "(" LocalVariable in Rvalue ")" StatementBlockInBraces << dsl.NewASTNodeTernary(
X[0], // "for"
X[2], // k, etc.
X[4], // $*, etc.
X[6], // { ... }
dsl.NodeTypeForLoopOneVariable,
); >>`,
Id: "ForLoopOneVariable",
NTType: 91,
Index: 303,
NumSymbols: 7,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0], // "for"
X[2], // k, etc.
X[4], // $*, etc.
X[6], // { ... }
dsl.NodeTypeForLoopOneVariable,
)
},
},
ProdTabEntry{
String: `ForLoopTwoVariable : for "(" LocalVariable "," LocalVariable in Rvalue ")" StatementBlockInBraces << dsl.NewASTNodeQuaternary(
X[0], // "for"
X[2], // k, etc.
X[4], // v, etc.
X[6], // $*, etc.
X[8], // { ... }
dsl.NodeTypeForLoopTwoVariable,
); >>`,
Id: "ForLoopTwoVariable",
NTType: 92,
Index: 304,
NumSymbols: 9,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeQuaternary(
X[0], // "for"
X[2], // k, etc.
X[4], // v, etc.
X[6], // $*, etc.
X[8], // { ... }
dsl.NodeTypeForLoopTwoVariable,
)
},
},
ProdTabEntry{
String: `ForLoopMultivariable : for "(" "(" MultiIndex ")" "," LocalVariable in Rvalue ")" StatementBlockInBraces << dsl.NewASTNodeQuaternary(
X[0], // "for"
X[3], // (k1, k2), etc.
X[6], // v, etc.
X[8], // $*, etc.
X[10], // { ... }
dsl.NodeTypeForLoopMultivariable,
); >>`,
Id: "ForLoopMultivariable",
NTType: 93,
Index: 305,
NumSymbols: 11,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeQuaternary(
X[0], // "for"
X[3], // (k1, k2), etc.
X[6], // v, etc.
X[8], // $*, etc.
X[10], // { ... }
dsl.NodeTypeForLoopMultivariable,
)
},
},
ProdTabEntry{
String: `MultiIndex : LocalVariable "," LocalVariable << dsl.NewASTNodeBinary(
nil,
X[0],
X[2],
dsl.NodeTypeParameterList,
) >>`,
Id: "MultiIndex",
NTType: 94,
Index: 306,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
nil,
X[0],
X[2],
dsl.NodeTypeParameterList,
)
},
},
ProdTabEntry{
String: `MultiIndex : MultiIndex "," LocalVariable << dsl.AppendChild(
X[0],
X[2],
) >>`,
Id: "MultiIndex",
NTType: 94,
Index: 307,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AppendChild(
X[0],
X[2],
)
},
},
ProdTabEntry{
String: `TripleForLoop : for "(" TripleForStart ";" TripleForContinuation ";" TripleForUpdate ")" StatementBlockInBraces << dsl.NewASTNodeQuaternary(
X[0], // for
X[2], // start
X[4], // continuation
X[6], // update
X[8], // body
dsl.NodeTypeTripleForLoop,
); >>`,
Id: "TripleForLoop",
NTType: 95,
Index: 308,
NumSymbols: 9,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeQuaternary(
X[0], // for
X[2], // start
X[4], // continuation
X[6], // update
X[8], // body
dsl.NodeTypeTripleForLoop,
)
},
},
ProdTabEntry{
String: `TripleForStart : empty << dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForStart",
NTType: 96,
Index: 309,
NumSymbols: 0,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `TripleForStart : Assignment << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForStart",
NTType: 96,
Index: 310,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `TripleForStart : TripleForStart "," Assignment << dsl.AppendChild(X[0], X[2]) >>`,
Id: "TripleForStart",
NTType: 96,
Index: 311,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AppendChild(X[0], X[2])
},
},
ProdTabEntry{
String: `TripleForContinuation : empty << dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForContinuation",
NTType: 97,
Index: 312,
NumSymbols: 0,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `TripleForContinuation : TripleForContinuationItem << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForContinuation",
NTType: 97,
Index: 313,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `TripleForContinuation : TripleForContinuation "," TripleForContinuationItem << dsl.AppendChild(X[0], X[2]) >>`,
Id: "TripleForContinuation",
NTType: 97,
Index: 314,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AppendChild(X[0], X[2])
},
},
ProdTabEntry{
String: `TripleForContinuationItem : Assignment << >>`,
Id: "TripleForContinuationItem",
NTType: 98,
Index: 315,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `TripleForContinuationItem : BareBoolean << >>`,
Id: "TripleForContinuationItem",
NTType: 98,
Index: 316,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return X[0], nil
},
},
ProdTabEntry{
String: `TripleForUpdate : empty << dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForUpdate",
NTType: 99,
Index: 317,
NumSymbols: 0,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(nil, dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `TripleForUpdate : Assignment << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock) >>`,
Id: "TripleForUpdate",
NTType: 99,
Index: 318,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeStatementBlock)
},
},
ProdTabEntry{
String: `TripleForUpdate : TripleForUpdate "," Assignment << dsl.AppendChild(X[0], X[2]) >>`,
Id: "TripleForUpdate",
NTType: 99,
Index: 319,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AppendChild(X[0], X[2])
},
},
ProdTabEntry{
String: `BreakStatement : break << dsl.NewASTNodeZary(X[0], dsl.NodeTypeBreak) >>`,
Id: "BreakStatement",
NTType: 100,
Index: 320,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(X[0], dsl.NodeTypeBreak)
},
},
ProdTabEntry{
String: `ContinueStatement : continue << dsl.NewASTNodeZary(X[0], dsl.NodeTypeContinue) >>`,
Id: "ContinueStatement",
NTType: 101,
Index: 321,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(X[0], dsl.NodeTypeContinue)
},
},
ProdTabEntry{
String: `NamedFunctionDefinition : func non_sigil_name "(" FuncOrSubrParameterList ")" StatementBlockInBraces << dsl.NewASTNodeBinary(
X[1],
X[3], // parameter list
X[5], // { ... }
dsl.NodeTypeNamedFunctionDefinition,
); >>`,
Id: "NamedFunctionDefinition",
NTType: 102,
Index: 322,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[1],
X[3], // parameter list
X[5], // { ... }
dsl.NodeTypeNamedFunctionDefinition,
)
},
},
ProdTabEntry{
String: `NamedFunctionDefinition : func non_sigil_name "(" FuncOrSubrParameterList ")" ":" Typedecl StatementBlockInBraces << dsl.NewASTNodeTernary(
X[1],
X[3], // parameter list
X[7], // {...}
X[6], // return type
dsl.NodeTypeNamedFunctionDefinition,
); >>`,
Id: "NamedFunctionDefinition",
NTType: 102,
Index: 323,
NumSymbols: 8,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[1],
X[3], // parameter list
X[7], // {...}
X[6], // return type
dsl.NodeTypeNamedFunctionDefinition,
)
},
},
ProdTabEntry{
String: `UnnamedFunctionDefinition : func "(" FuncOrSubrParameterList ")" StatementBlockInBraces << dsl.NewASTNodeBinary(
X[0],
X[2], // parameter list
X[4], // { ... }
dsl.NodeTypeUnnamedFunctionDefinition,
); >>`,
Id: "UnnamedFunctionDefinition",
NTType: 103,
Index: 324,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[0],
X[2], // parameter list
X[4], // { ... }
dsl.NodeTypeUnnamedFunctionDefinition,
)
},
},
ProdTabEntry{
String: `UnnamedFunctionDefinition : func "(" FuncOrSubrParameterList ")" ":" Typedecl StatementBlockInBraces << dsl.NewASTNodeTernary(
X[0],
X[2], // parameter list
X[6], // {...}
X[5], // return type
dsl.NodeTypeUnnamedFunctionDefinition,
); >>`,
Id: "UnnamedFunctionDefinition",
NTType: 103,
Index: 325,
NumSymbols: 7,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeTernary(
X[0],
X[2], // parameter list
X[6], // {...}
X[5], // return type
dsl.NodeTypeUnnamedFunctionDefinition,
)
},
},
ProdTabEntry{
String: `SubroutineDefinition : subr non_sigil_name "(" FuncOrSubrParameterList ")" StatementBlockInBraces << dsl.NewASTNodeBinary(
X[1],
X[3], // parameter list
X[5], // { ... }
dsl.NodeTypeSubroutineDefinition,
); >>`,
Id: "SubroutineDefinition",
NTType: 104,
Index: 326,
NumSymbols: 6,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeBinary(
X[1],
X[3], // parameter list
X[5], // { ... }
dsl.NodeTypeSubroutineDefinition,
)
},
},
ProdTabEntry{
String: `FuncOrSubrParameterList : empty << dsl.NewASTNodeZary(nil, dsl.NodeTypeParameterList) >>`,
Id: "FuncOrSubrParameterList",
NTType: 105,
Index: 327,
NumSymbols: 0,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(nil, dsl.NodeTypeParameterList)
},
},
ProdTabEntry{
String: `FuncOrSubrParameterList : FuncOrSubrNonEmptyParameterList << dsl.Wrap(X[0]) >>`,
Id: "FuncOrSubrParameterList",
NTType: 105,
Index: 328,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.Wrap(X[0])
},
},
ProdTabEntry{
String: `FuncOrSubrNonEmptyParameterList : FuncOrSubrParameter << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeParameterList) >>`,
Id: "FuncOrSubrNonEmptyParameterList",
NTType: 106,
Index: 329,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeParameterList)
},
},
ProdTabEntry{
String: `FuncOrSubrNonEmptyParameterList : FuncOrSubrParameter "," << dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeParameterList) >>`,
Id: "FuncOrSubrNonEmptyParameterList",
NTType: 106,
Index: 330,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(nil, X[0], dsl.NodeTypeParameterList)
},
},
ProdTabEntry{
String: `FuncOrSubrNonEmptyParameterList : FuncOrSubrParameter "," FuncOrSubrNonEmptyParameterList << dsl.PrependChild(X[2], X[0]) >>`,
Id: "FuncOrSubrNonEmptyParameterList",
NTType: 106,
Index: 331,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.PrependChild(X[2], X[0])
},
},
ProdTabEntry{
String: `FuncOrSubrParameter : UntypedFuncOrSubrParameterName << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeParameter,
) >>`,
Id: "FuncOrSubrParameter",
NTType: 107,
Index: 332,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeParameter,
)
},
},
ProdTabEntry{
String: `FuncOrSubrParameter : TypedFuncOrSubrParameterName << dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeParameter,
) >>`,
Id: "FuncOrSubrParameter",
NTType: 107,
Index: 333,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(
nil,
X[0],
dsl.NodeTypeParameter,
)
},
},
ProdTabEntry{
String: `UntypedFuncOrSubrParameterName : non_sigil_name << dsl.NewASTNode(X[0], dsl.NodeTypeParameterName) >>`,
Id: "UntypedFuncOrSubrParameterName",
NTType: 108,
Index: 334,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNode(X[0], dsl.NodeTypeParameterName)
},
},
ProdTabEntry{
String: `TypedFuncOrSubrParameterName : Typedecl UntypedFuncOrSubrParameterName << dsl.AppendChild(X[1], X[0]) >>`,
Id: "TypedFuncOrSubrParameterName",
NTType: 109,
Index: 335,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.AppendChild(X[1], X[0])
},
},
ProdTabEntry{
String: `ReturnStatement : return Rvalue << dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeReturn) >>`,
Id: "ReturnStatement",
NTType: 110,
Index: 336,
NumSymbols: 2,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeUnary(X[0], X[1], dsl.NodeTypeReturn)
},
},
ProdTabEntry{
String: `ReturnStatement : return << dsl.NewASTNodeZary(X[0], dsl.NodeTypeReturn) >>`,
Id: "ReturnStatement",
NTType: 110,
Index: 337,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return dsl.NewASTNodeZary(X[0], dsl.NodeTypeReturn)
},
},
}