feat/schema: additional literal types

This commit is contained in:
mae
2026-01-28 02:08:12 -06:00
parent 11fcbeb31a
commit dc87bef1c2
11 changed files with 7007 additions and 1484 deletions

View File

@@ -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, // .
},
},