feat/schema: add parser

This commit is contained in:
mae
2026-01-26 20:52:51 -06:00
parent 2526d34f21
commit 5f9467e851
13 changed files with 2860 additions and 913 deletions

View File

@@ -0,0 +1,599 @@
// Code generated by gocc; DO NOT EDIT.
package parser
type (
actionTable [numStates]actionRow
actionRow struct {
canRecover bool
actions [numSymbols]action
}
)
var actionTab = actionTable{
actionRow{ // S0
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
shift(4), // (
nil, // )
nil, // .
},
},
actionRow{ // S1
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
accept(true), // ␚
nil, // string
nil, // number
nil, // name
nil, // (
nil, // )
nil, // .
},
},
actionRow{ // S2
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
reduce(1), // ␚, reduce: Schema
nil, // string
nil, // number
nil, // name
shift(4), // (
nil, // )
nil, // .
},
},
actionRow{ // S3
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
reduce(2), // ␚, reduce: ExprList
nil, // string
nil, // number
nil, // name
reduce(2), // (, reduce: ExprList
nil, // )
nil, // .
},
},
actionRow{ // S4
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
shift(6), // name
nil, // (
nil, // )
shift(7), // .
},
},
actionRow{ // S5
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
reduce(3), // ␚, reduce: ExprList
nil, // string
nil, // number
nil, // name
reduce(3), // (, reduce: ExprList
nil, // )
nil, // .
},
},
actionRow{ // S6
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(10), // string
shift(11), // number
shift(12), // name
shift(13), // (
shift(14), // )
nil, // .
},
},
actionRow{ // S7
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(10), // string
shift(11), // number
shift(12), // name
shift(13), // (
nil, // )
nil, // .
},
},
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, // .
},
},
actionRow{ // S9
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(19), // string
shift(20), // number
shift(21), // name
shift(22), // (
shift(23), // )
nil, // .
},
},
actionRow{ // S10
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
reduce(6), // string, reduce: Val
reduce(6), // number, reduce: Val
reduce(6), // name, reduce: Val
reduce(6), // (, reduce: Val
reduce(6), // ), reduce: Val
nil, // .
},
},
actionRow{ // S11
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
reduce(7), // string, reduce: Val
reduce(7), // number, reduce: Val
reduce(7), // name, reduce: Val
reduce(7), // (, reduce: Val
reduce(7), // ), reduce: Val
nil, // .
},
},
actionRow{ // S12
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
reduce(8), // string, reduce: Val
reduce(8), // number, reduce: Val
reduce(8), // name, reduce: Val
reduce(8), // (, reduce: Val
reduce(8), // ), reduce: Val
nil, // .
},
},
actionRow{ // S13
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
shift(24), // name
nil, // (
nil, // )
shift(25), // .
},
},
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, // .
},
},
actionRow{ // S15
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(10), // string
shift(11), // number
shift(12), // name
shift(13), // (
shift(27), // )
nil, // .
},
},
actionRow{ // S16
canRecover: false,
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, // .
},
},
actionRow{ // S17
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
nil, // (
reduce(9), // ), reduce: Val
nil, // .
},
},
actionRow{ // S18
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
nil, // (
shift(28), // )
nil, // .
},
},
actionRow{ // S19
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
nil, // (
reduce(6), // ), reduce: Val
nil, // .
},
},
actionRow{ // S20
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
nil, // (
reduce(7), // ), reduce: Val
nil, // .
},
},
actionRow{ // S21
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
nil, // (
reduce(8), // ), reduce: Val
nil, // .
},
},
actionRow{ // S22
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
shift(29), // name
nil, // (
nil, // )
shift(30), // .
},
},
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, // .
},
},
actionRow{ // S24
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(10), // string
shift(11), // number
shift(12), // name
shift(13), // (
shift(32), // )
nil, // .
},
},
actionRow{ // S25
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(10), // string
shift(11), // number
shift(12), // name
shift(13), // (
nil, // )
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, // .
},
},
actionRow{ // S27
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
reduce(13), // ␚, reduce: Expr
nil, // string
nil, // number
nil, // name
reduce(13), // (, reduce: Expr
nil, // )
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, // .
},
},
actionRow{ // S29
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(10), // string
shift(11), // number
shift(12), // name
shift(13), // (
shift(35), // )
nil, // .
},
},
actionRow{ // S30
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(10), // string
shift(11), // number
shift(12), // name
shift(13), // (
nil, // )
nil, // .
},
},
actionRow{ // S31
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(19), // string
shift(20), // number
shift(21), // name
shift(22), // (
shift(38), // )
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, // .
},
},
actionRow{ // S33
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(10), // string
shift(11), // number
shift(12), // name
shift(13), // (
shift(39), // )
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, // .
},
},
actionRow{ // S35
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
nil, // (
reduce(12), // ), reduce: Expr
nil, // .
},
},
actionRow{ // S36
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
shift(10), // string
shift(11), // number
shift(12), // name
shift(13), // (
shift(42), // )
nil, // .
},
},
actionRow{ // S37
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
nil, // (
shift(43), // )
nil, // .
},
},
actionRow{ // S38
canRecover: false,
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
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, // .
},
},
actionRow{ // S40
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
nil, // (
shift(44), // )
nil, // .
},
},
actionRow{ // S41
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
nil, // (
reduce(11), // ), 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, // .
},
},
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, // .
},
},
actionRow{ // S44
canRecover: false,
actions: [numSymbols]action{
nil, // INVALID
nil, // ␚
nil, // string
nil, // number
nil, // name
nil, // (
reduce(10), // ), reduce: Expr
nil, // .
},
},
}