feat/schema: additional literal types
This commit is contained in:
@@ -17,7 +17,10 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
shift(4), // (
|
||||
nil, // )
|
||||
@@ -30,7 +33,10 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
accept(true), // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
nil, // )
|
||||
@@ -43,7 +49,10 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
reduce(1), // ␚, reduce: Schema
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
shift(4), // (
|
||||
nil, // )
|
||||
@@ -56,7 +65,10 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
reduce(2), // ␚, reduce: ExprList
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
reduce(2), // (, reduce: ExprList
|
||||
nil, // )
|
||||
@@ -69,7 +81,10 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
shift(6), // name
|
||||
nil, // (
|
||||
nil, // )
|
||||
@@ -82,7 +97,10 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
reduce(3), // ␚, reduce: ExprList
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
reduce(3), // (, reduce: ExprList
|
||||
nil, // )
|
||||
@@ -95,10 +113,13 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // number
|
||||
shift(12), // name
|
||||
shift(13), // (
|
||||
shift(14), // )
|
||||
shift(11), // rune
|
||||
shift(12), // int
|
||||
shift(13), // float
|
||||
shift(14), // imaginary
|
||||
shift(15), // name
|
||||
shift(16), // (
|
||||
shift(17), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
@@ -108,9 +129,12 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // number
|
||||
shift(12), // name
|
||||
shift(13), // (
|
||||
shift(11), // rune
|
||||
shift(12), // int
|
||||
shift(13), // float
|
||||
shift(14), // imaginary
|
||||
shift(15), // name
|
||||
shift(16), // (
|
||||
nil, // )
|
||||
nil, // .
|
||||
},
|
||||
@@ -118,14 +142,17 @@ var actionTab = actionTable{
|
||||
actionRow{ // S8
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(9), // string, reduce: Val
|
||||
reduce(9), // number, reduce: Val
|
||||
reduce(9), // name, reduce: Val
|
||||
reduce(9), // (, reduce: Val
|
||||
reduce(9), // ), reduce: Val
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(12), // string, reduce: Val
|
||||
reduce(12), // rune, reduce: Val
|
||||
reduce(12), // int, reduce: Val
|
||||
reduce(12), // float, reduce: Val
|
||||
reduce(12), // imaginary, reduce: Val
|
||||
reduce(12), // name, reduce: Val
|
||||
reduce(12), // (, reduce: Val
|
||||
reduce(12), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S9
|
||||
@@ -133,11 +160,14 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(19), // string
|
||||
shift(20), // number
|
||||
shift(21), // name
|
||||
shift(22), // (
|
||||
shift(23), // )
|
||||
shift(22), // string
|
||||
shift(23), // rune
|
||||
shift(24), // int
|
||||
shift(25), // float
|
||||
shift(26), // imaginary
|
||||
shift(27), // name
|
||||
shift(28), // (
|
||||
shift(29), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
@@ -147,7 +177,10 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(6), // string, reduce: Val
|
||||
reduce(6), // number, reduce: Val
|
||||
reduce(6), // rune, reduce: Val
|
||||
reduce(6), // int, reduce: Val
|
||||
reduce(6), // float, reduce: Val
|
||||
reduce(6), // imaginary, reduce: Val
|
||||
reduce(6), // name, reduce: Val
|
||||
reduce(6), // (, reduce: Val
|
||||
reduce(6), // ), reduce: Val
|
||||
@@ -160,7 +193,10 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(7), // string, reduce: Val
|
||||
reduce(7), // number, reduce: Val
|
||||
reduce(7), // rune, reduce: Val
|
||||
reduce(7), // int, reduce: Val
|
||||
reduce(7), // float, reduce: Val
|
||||
reduce(7), // imaginary, reduce: Val
|
||||
reduce(7), // name, reduce: Val
|
||||
reduce(7), // (, reduce: Val
|
||||
reduce(7), // ), reduce: Val
|
||||
@@ -173,7 +209,10 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(8), // string, reduce: Val
|
||||
reduce(8), // number, reduce: Val
|
||||
reduce(8), // rune, reduce: Val
|
||||
reduce(8), // int, reduce: Val
|
||||
reduce(8), // float, reduce: Val
|
||||
reduce(8), // imaginary, reduce: Val
|
||||
reduce(8), // name, reduce: Val
|
||||
reduce(8), // (, reduce: Val
|
||||
reduce(8), // ), reduce: Val
|
||||
@@ -185,38 +224,47 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
shift(24), // name
|
||||
nil, // (
|
||||
nil, // )
|
||||
shift(25), // .
|
||||
reduce(9), // string, reduce: Val
|
||||
reduce(9), // rune, reduce: Val
|
||||
reduce(9), // int, reduce: Val
|
||||
reduce(9), // float, reduce: Val
|
||||
reduce(9), // imaginary, reduce: Val
|
||||
reduce(9), // name, reduce: Val
|
||||
reduce(9), // (, reduce: Val
|
||||
reduce(9), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S14
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
reduce(12), // ␚, reduce: Expr
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
reduce(12), // (, reduce: Expr
|
||||
nil, // )
|
||||
nil, // ␚
|
||||
reduce(10), // string, reduce: Val
|
||||
reduce(10), // rune, reduce: Val
|
||||
reduce(10), // int, reduce: Val
|
||||
reduce(10), // float, reduce: Val
|
||||
reduce(10), // imaginary, reduce: Val
|
||||
reduce(10), // name, reduce: Val
|
||||
reduce(10), // (, reduce: Val
|
||||
reduce(10), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S15
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // number
|
||||
shift(12), // name
|
||||
shift(13), // (
|
||||
shift(27), // )
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(11), // string, reduce: Val
|
||||
reduce(11), // rune, reduce: Val
|
||||
reduce(11), // int, reduce: Val
|
||||
reduce(11), // float, reduce: Val
|
||||
reduce(11), // imaginary, reduce: Val
|
||||
reduce(11), // name, reduce: Val
|
||||
reduce(11), // (, reduce: Val
|
||||
reduce(11), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S16
|
||||
@@ -224,25 +272,31 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(4), // string, reduce: ValList
|
||||
reduce(4), // number, reduce: ValList
|
||||
reduce(4), // name, reduce: ValList
|
||||
reduce(4), // (, reduce: ValList
|
||||
reduce(4), // ), reduce: ValList
|
||||
nil, // .
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
shift(30), // name
|
||||
nil, // (
|
||||
nil, // )
|
||||
shift(31), // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S17
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(9), // ), reduce: Val
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
reduce(15), // ␚, reduce: Expr
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
reduce(15), // (, reduce: Expr
|
||||
nil, // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S18
|
||||
@@ -250,11 +304,14 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
nil, // (
|
||||
shift(28), // )
|
||||
shift(10), // string
|
||||
shift(11), // rune
|
||||
shift(12), // int
|
||||
shift(13), // float
|
||||
shift(14), // imaginary
|
||||
shift(15), // name
|
||||
shift(16), // (
|
||||
shift(33), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
@@ -263,25 +320,31 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(6), // ), reduce: Val
|
||||
reduce(4), // string, reduce: ValList
|
||||
reduce(4), // rune, reduce: ValList
|
||||
reduce(4), // int, reduce: ValList
|
||||
reduce(4), // float, reduce: ValList
|
||||
reduce(4), // imaginary, reduce: ValList
|
||||
reduce(4), // name, reduce: ValList
|
||||
reduce(4), // (, reduce: ValList
|
||||
reduce(4), // ), reduce: ValList
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S20
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(7), // ), reduce: Val
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(12), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S21
|
||||
@@ -290,10 +353,13 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(8), // ), reduce: Val
|
||||
shift(34), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
@@ -303,24 +369,30 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
shift(29), // name
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
nil, // )
|
||||
shift(30), // .
|
||||
reduce(6), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S23
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
reduce(11), // ␚, reduce: Expr
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
reduce(11), // (, reduce: Expr
|
||||
nil, // )
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(7), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S24
|
||||
@@ -328,11 +400,14 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // number
|
||||
shift(12), // name
|
||||
shift(13), // (
|
||||
shift(32), // )
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(8), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
@@ -341,64 +416,79 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // number
|
||||
shift(12), // name
|
||||
shift(13), // (
|
||||
nil, // )
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(9), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S26
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(5), // string, reduce: ValList
|
||||
reduce(5), // number, reduce: ValList
|
||||
reduce(5), // name, reduce: ValList
|
||||
reduce(5), // (, reduce: ValList
|
||||
reduce(5), // ), reduce: ValList
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(10), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S27
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
reduce(13), // ␚, reduce: Expr
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
reduce(13), // (, reduce: Expr
|
||||
nil, // )
|
||||
nil, // (
|
||||
reduce(11), // ), reduce: Val
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S28
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
reduce(10), // ␚, reduce: Expr
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
reduce(10), // (, reduce: Expr
|
||||
nil, // )
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
shift(35), // name
|
||||
nil, // (
|
||||
nil, // )
|
||||
shift(36), // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S29
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // number
|
||||
shift(12), // name
|
||||
shift(13), // (
|
||||
shift(35), // )
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
reduce(14), // ␚, reduce: Expr
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
reduce(14), // (, reduce: Expr
|
||||
nil, // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S30
|
||||
@@ -407,10 +497,13 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // number
|
||||
shift(12), // name
|
||||
shift(13), // (
|
||||
nil, // )
|
||||
shift(11), // rune
|
||||
shift(12), // int
|
||||
shift(13), // float
|
||||
shift(14), // imaginary
|
||||
shift(15), // name
|
||||
shift(16), // (
|
||||
shift(38), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
@@ -419,64 +512,79 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(19), // string
|
||||
shift(20), // number
|
||||
shift(21), // name
|
||||
shift(22), // (
|
||||
shift(38), // )
|
||||
shift(10), // string
|
||||
shift(11), // rune
|
||||
shift(12), // int
|
||||
shift(13), // float
|
||||
shift(14), // imaginary
|
||||
shift(15), // name
|
||||
shift(16), // (
|
||||
nil, // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S32
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(12), // string, reduce: Expr
|
||||
reduce(12), // number, reduce: Expr
|
||||
reduce(12), // name, reduce: Expr
|
||||
reduce(12), // (, reduce: Expr
|
||||
reduce(12), // ), reduce: Expr
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(5), // string, reduce: ValList
|
||||
reduce(5), // rune, reduce: ValList
|
||||
reduce(5), // int, reduce: ValList
|
||||
reduce(5), // float, reduce: ValList
|
||||
reduce(5), // imaginary, reduce: ValList
|
||||
reduce(5), // name, reduce: ValList
|
||||
reduce(5), // (, reduce: ValList
|
||||
reduce(5), // ), reduce: ValList
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S33
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // number
|
||||
shift(12), // name
|
||||
shift(13), // (
|
||||
shift(39), // )
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
reduce(16), // ␚, reduce: Expr
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
reduce(16), // (, reduce: Expr
|
||||
nil, // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S34
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(19), // string
|
||||
shift(20), // number
|
||||
shift(21), // name
|
||||
shift(22), // (
|
||||
shift(41), // )
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
reduce(13), // ␚, reduce: Expr
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
reduce(13), // (, reduce: Expr
|
||||
nil, // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S35
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(12), // ), reduce: Expr
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // rune
|
||||
shift(12), // int
|
||||
shift(13), // float
|
||||
shift(14), // imaginary
|
||||
shift(15), // name
|
||||
shift(16), // (
|
||||
shift(41), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S36
|
||||
@@ -485,10 +593,13 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // number
|
||||
shift(12), // name
|
||||
shift(13), // (
|
||||
shift(42), // )
|
||||
shift(11), // rune
|
||||
shift(12), // int
|
||||
shift(13), // float
|
||||
shift(14), // imaginary
|
||||
shift(15), // name
|
||||
shift(16), // (
|
||||
nil, // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
@@ -497,11 +608,14 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
nil, // (
|
||||
shift(43), // )
|
||||
shift(22), // string
|
||||
shift(23), // rune
|
||||
shift(24), // int
|
||||
shift(25), // float
|
||||
shift(26), // imaginary
|
||||
shift(27), // name
|
||||
shift(28), // (
|
||||
shift(44), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
@@ -510,25 +624,31 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(11), // string, reduce: Expr
|
||||
reduce(11), // number, reduce: Expr
|
||||
reduce(11), // name, reduce: Expr
|
||||
reduce(11), // (, reduce: Expr
|
||||
reduce(11), // ), reduce: Expr
|
||||
reduce(15), // string, reduce: Expr
|
||||
reduce(15), // rune, reduce: Expr
|
||||
reduce(15), // int, reduce: Expr
|
||||
reduce(15), // float, reduce: Expr
|
||||
reduce(15), // imaginary, reduce: Expr
|
||||
reduce(15), // name, reduce: Expr
|
||||
reduce(15), // (, reduce: Expr
|
||||
reduce(15), // ), reduce: Expr
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S39
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(13), // string, reduce: Expr
|
||||
reduce(13), // number, reduce: Expr
|
||||
reduce(13), // name, reduce: Expr
|
||||
reduce(13), // (, reduce: Expr
|
||||
reduce(13), // ), reduce: Expr
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // rune
|
||||
shift(12), // int
|
||||
shift(13), // float
|
||||
shift(14), // imaginary
|
||||
shift(15), // name
|
||||
shift(16), // (
|
||||
shift(45), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S40
|
||||
@@ -536,11 +656,14 @@ var actionTab = actionTable{
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
nil, // (
|
||||
shift(44), // )
|
||||
shift(22), // string
|
||||
shift(23), // rune
|
||||
shift(24), // int
|
||||
shift(25), // float
|
||||
shift(26), // imaginary
|
||||
shift(27), // name
|
||||
shift(28), // (
|
||||
shift(47), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
@@ -550,49 +673,157 @@ var actionTab = actionTable{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(11), // ), reduce: Expr
|
||||
reduce(15), // ), reduce: Expr
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S42
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(13), // ), reduce: Expr
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
shift(10), // string
|
||||
shift(11), // rune
|
||||
shift(12), // int
|
||||
shift(13), // float
|
||||
shift(14), // imaginary
|
||||
shift(15), // name
|
||||
shift(16), // (
|
||||
shift(48), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S43
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(10), // string, reduce: Expr
|
||||
reduce(10), // number, reduce: Expr
|
||||
reduce(10), // name, reduce: Expr
|
||||
reduce(10), // (, reduce: Expr
|
||||
reduce(10), // ), reduce: Expr
|
||||
nil, // .
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
shift(49), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S44
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(14), // string, reduce: Expr
|
||||
reduce(14), // rune, reduce: Expr
|
||||
reduce(14), // int, reduce: Expr
|
||||
reduce(14), // float, reduce: Expr
|
||||
reduce(14), // imaginary, reduce: Expr
|
||||
reduce(14), // name, reduce: Expr
|
||||
reduce(14), // (, reduce: Expr
|
||||
reduce(14), // ), reduce: Expr
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S45
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(16), // string, reduce: Expr
|
||||
reduce(16), // rune, reduce: Expr
|
||||
reduce(16), // int, reduce: Expr
|
||||
reduce(16), // float, reduce: Expr
|
||||
reduce(16), // imaginary, reduce: Expr
|
||||
reduce(16), // name, reduce: Expr
|
||||
reduce(16), // (, reduce: Expr
|
||||
reduce(16), // ), reduce: Expr
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S46
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
shift(50), // )
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S47
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // number
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(10), // ), reduce: Expr
|
||||
reduce(14), // ), reduce: Expr
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S48
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(16), // ), reduce: Expr
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S49
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
reduce(13), // string, reduce: Expr
|
||||
reduce(13), // rune, reduce: Expr
|
||||
reduce(13), // int, reduce: Expr
|
||||
reduce(13), // float, reduce: Expr
|
||||
reduce(13), // imaginary, reduce: Expr
|
||||
reduce(13), // name, reduce: Expr
|
||||
reduce(13), // (, reduce: Expr
|
||||
reduce(13), // ), reduce: Expr
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
actionRow{ // S50
|
||||
canRecover: false,
|
||||
actions: [numSymbols]action{
|
||||
nil, // INVALID
|
||||
nil, // ␚
|
||||
nil, // string
|
||||
nil, // rune
|
||||
nil, // int
|
||||
nil, // float
|
||||
nil, // imaginary
|
||||
nil, // name
|
||||
nil, // (
|
||||
reduce(13), // ), reduce: Expr
|
||||
nil, // .
|
||||
},
|
||||
},
|
||||
|
||||
@@ -70,8 +70,8 @@ var gotoTab = gotoTable{
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
15, // ValList
|
||||
16, // Val
|
||||
18, // ValList
|
||||
19, // Val
|
||||
8, // Expr
|
||||
},
|
||||
gotoRow{ // S8
|
||||
@@ -87,8 +87,8 @@ var gotoTab = gotoTable{
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
18, // Val
|
||||
17, // Expr
|
||||
21, // Val
|
||||
20, // Expr
|
||||
},
|
||||
gotoRow{ // S10
|
||||
-1, // S'
|
||||
@@ -135,8 +135,8 @@ var gotoTab = gotoTable{
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
26, // Val
|
||||
8, // Expr
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S16
|
||||
-1, // S'
|
||||
@@ -159,8 +159,8 @@ var gotoTab = gotoTable{
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
32, // Val
|
||||
8, // Expr
|
||||
},
|
||||
gotoRow{ // S19
|
||||
-1, // S'
|
||||
@@ -207,16 +207,16 @@ var gotoTab = gotoTable{
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
31, // Val
|
||||
8, // Expr
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S25
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
33, // ValList
|
||||
16, // Val
|
||||
8, // Expr
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S26
|
||||
-1, // S'
|
||||
@@ -247,24 +247,24 @@ var gotoTab = gotoTable{
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
34, // Val
|
||||
8, // Expr
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S30
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
36, // ValList
|
||||
16, // Val
|
||||
-1, // ValList
|
||||
37, // Val
|
||||
8, // Expr
|
||||
},
|
||||
gotoRow{ // S31
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
37, // Val
|
||||
17, // Expr
|
||||
39, // ValList
|
||||
19, // Val
|
||||
8, // Expr
|
||||
},
|
||||
gotoRow{ // S32
|
||||
-1, // S'
|
||||
@@ -279,18 +279,10 @@ var gotoTab = gotoTable{
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
26, // Val
|
||||
8, // Expr
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S34
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
40, // Val
|
||||
17, // Expr
|
||||
},
|
||||
gotoRow{ // S35
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
@@ -298,12 +290,20 @@ var gotoTab = gotoTable{
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S36
|
||||
gotoRow{ // S35
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
26, // Val
|
||||
40, // Val
|
||||
8, // Expr
|
||||
},
|
||||
gotoRow{ // S36
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
42, // ValList
|
||||
19, // Val
|
||||
8, // Expr
|
||||
},
|
||||
gotoRow{ // S37
|
||||
@@ -311,8 +311,8 @@ var gotoTab = gotoTable{
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
43, // Val
|
||||
20, // Expr
|
||||
},
|
||||
gotoRow{ // S38
|
||||
-1, // S'
|
||||
@@ -327,16 +327,16 @@ var gotoTab = gotoTable{
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
32, // Val
|
||||
8, // Expr
|
||||
},
|
||||
gotoRow{ // S40
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
46, // Val
|
||||
20, // Expr
|
||||
},
|
||||
gotoRow{ // S41
|
||||
-1, // S'
|
||||
@@ -351,8 +351,8 @@ var gotoTab = gotoTable{
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
32, // Val
|
||||
8, // Expr
|
||||
},
|
||||
gotoRow{ // S43
|
||||
-1, // S'
|
||||
@@ -370,4 +370,52 @@ var gotoTab = gotoTable{
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S45
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S46
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S47
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S48
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S49
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
gotoRow{ // S50
|
||||
-1, // S'
|
||||
-1, // Schema
|
||||
-1, // ExprList
|
||||
-1, // ValList
|
||||
-1, // Val
|
||||
-1, // Expr
|
||||
},
|
||||
}
|
||||
|
||||
@@ -11,9 +11,9 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
numProductions = 14
|
||||
numStates = 45
|
||||
numSymbols = 14
|
||||
numProductions = 17
|
||||
numStates = 51
|
||||
numSymbols = 17
|
||||
)
|
||||
|
||||
// Stack
|
||||
|
||||
@@ -93,20 +93,50 @@ var productionsTable = ProdTab{
|
||||
},
|
||||
},
|
||||
ProdTabEntry{
|
||||
String: `Val : number << ast.NewNumberVal(X[0].(*token.Token)) >>`,
|
||||
String: `Val : rune << ast.NewRuneVal(X[0].(*token.Token)) >>`,
|
||||
Id: "Val",
|
||||
NTType: 4,
|
||||
Index: 7,
|
||||
NumSymbols: 1,
|
||||
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
||||
return ast.NewNumberVal(X[0].(*token.Token))
|
||||
return ast.NewRuneVal(X[0].(*token.Token))
|
||||
},
|
||||
},
|
||||
ProdTabEntry{
|
||||
String: `Val : int << ast.NewIntVal(X[0].(*token.Token)) >>`,
|
||||
Id: "Val",
|
||||
NTType: 4,
|
||||
Index: 8,
|
||||
NumSymbols: 1,
|
||||
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
||||
return ast.NewIntVal(X[0].(*token.Token))
|
||||
},
|
||||
},
|
||||
ProdTabEntry{
|
||||
String: `Val : float << ast.NewFloatVal(X[0].(*token.Token)) >>`,
|
||||
Id: "Val",
|
||||
NTType: 4,
|
||||
Index: 9,
|
||||
NumSymbols: 1,
|
||||
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
||||
return ast.NewFloatVal(X[0].(*token.Token))
|
||||
},
|
||||
},
|
||||
ProdTabEntry{
|
||||
String: `Val : imaginary << ast.NewComplexVal(X[0].(*token.Token)) >>`,
|
||||
Id: "Val",
|
||||
NTType: 4,
|
||||
Index: 10,
|
||||
NumSymbols: 1,
|
||||
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
||||
return ast.NewComplexVal(X[0].(*token.Token))
|
||||
},
|
||||
},
|
||||
ProdTabEntry{
|
||||
String: `Val : name << ast.NewNameVal(X[0].(*token.Token)) >>`,
|
||||
Id: "Val",
|
||||
NTType: 4,
|
||||
Index: 8,
|
||||
Index: 11,
|
||||
NumSymbols: 1,
|
||||
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
||||
return ast.NewNameVal(X[0].(*token.Token))
|
||||
@@ -116,7 +146,7 @@ var productionsTable = ProdTab{
|
||||
String: `Val : Expr << ast.NewExprVal(X[0]) >>`,
|
||||
Id: "Val",
|
||||
NTType: 4,
|
||||
Index: 9,
|
||||
Index: 12,
|
||||
NumSymbols: 1,
|
||||
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
||||
return ast.NewExprVal(X[0])
|
||||
@@ -126,7 +156,7 @@ var productionsTable = ProdTab{
|
||||
String: `Expr : "(" name Val Val ")" << ast.NewExpr(X[1].(*token.Token), X[2], X[3]) >>`,
|
||||
Id: "Expr",
|
||||
NTType: 5,
|
||||
Index: 10,
|
||||
Index: 13,
|
||||
NumSymbols: 5,
|
||||
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
||||
return ast.NewExpr(X[1].(*token.Token), X[2], X[3])
|
||||
@@ -136,7 +166,7 @@ var productionsTable = ProdTab{
|
||||
String: `Expr : "(" name Val ")" << ast.NewExpr(X[1].(*token.Token), X[2], nil) >>`,
|
||||
Id: "Expr",
|
||||
NTType: 5,
|
||||
Index: 11,
|
||||
Index: 14,
|
||||
NumSymbols: 4,
|
||||
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
||||
return ast.NewExpr(X[1].(*token.Token), X[2], nil)
|
||||
@@ -146,7 +176,7 @@ var productionsTable = ProdTab{
|
||||
String: `Expr : "(" name ")" << ast.NewExpr(X[1].(*token.Token), nil, nil) >>`,
|
||||
Id: "Expr",
|
||||
NTType: 5,
|
||||
Index: 12,
|
||||
Index: 15,
|
||||
NumSymbols: 3,
|
||||
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
||||
return ast.NewExpr(X[1].(*token.Token), nil, nil)
|
||||
@@ -156,7 +186,7 @@ var productionsTable = ProdTab{
|
||||
String: `Expr : "(" "." ValList ")" << ast.ListExpr(X[2]) >>`,
|
||||
Id: "Expr",
|
||||
NTType: 5,
|
||||
Index: 13,
|
||||
Index: 16,
|
||||
NumSymbols: 4,
|
||||
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
|
||||
return ast.ListExpr(X[2])
|
||||
|
||||
Reference in New Issue
Block a user