fix/schema: fix string literals

This commit is contained in:
mae
2026-01-28 19:52:13 -06:00
parent dc87bef1c2
commit 73fd1dd90d
12 changed files with 5285 additions and 3720 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -70,8 +70,8 @@ var gotoTab = gotoTable{
-1, // S'
-1, // Schema
-1, // ExprList
18, // ValList
19, // Val
19, // ValList
20, // Val
8, // Expr
},
gotoRow{ // S8
@@ -87,8 +87,8 @@ var gotoTab = gotoTable{
-1, // Schema
-1, // ExprList
-1, // ValList
21, // Val
20, // Expr
22, // Val
21, // Expr
},
gotoRow{ // S10
-1, // S'
@@ -159,16 +159,16 @@ var gotoTab = gotoTable{
-1, // Schema
-1, // ExprList
-1, // ValList
32, // Val
8, // Expr
-1, // Val
-1, // Expr
},
gotoRow{ // S19
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
-1, // Val
-1, // Expr
34, // Val
8, // Expr
},
gotoRow{ // S20
-1, // S'
@@ -255,32 +255,32 @@ var gotoTab = gotoTable{
-1, // Schema
-1, // ExprList
-1, // ValList
37, // Val
8, // Expr
-1, // Val
-1, // Expr
},
gotoRow{ // S31
-1, // S'
-1, // Schema
-1, // ExprList
39, // ValList
19, // Val
8, // Expr
-1, // ValList
-1, // Val
-1, // Expr
},
gotoRow{ // S32
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
-1, // Val
-1, // Expr
39, // Val
8, // Expr
},
gotoRow{ // S33
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
-1, // Val
-1, // Expr
41, // ValList
20, // Val
8, // Expr
},
gotoRow{ // S34
-1, // S'
@@ -295,50 +295,42 @@ var gotoTab = gotoTable{
-1, // Schema
-1, // ExprList
-1, // ValList
40, // Val
8, // Expr
-1, // Val
-1, // Expr
},
gotoRow{ // S36
-1, // S'
-1, // Schema
-1, // ExprList
42, // ValList
19, // Val
8, // Expr
-1, // ValList
-1, // Val
-1, // Expr
},
gotoRow{ // S37
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
43, // Val
20, // Expr
42, // Val
8, // Expr
},
gotoRow{ // S38
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
-1, // Val
-1, // Expr
44, // ValList
20, // Val
8, // Expr
},
gotoRow{ // S39
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
32, // Val
8, // Expr
45, // Val
21, // Expr
},
gotoRow{ // S40
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
46, // Val
20, // Expr
},
gotoRow{ // S41
-1, // S'
-1, // Schema
-1, // ExprList
@@ -346,13 +338,21 @@ var gotoTab = gotoTable{
-1, // Val
-1, // Expr
},
gotoRow{ // S41
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
34, // Val
8, // Expr
},
gotoRow{ // S42
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
32, // Val
8, // Expr
48, // Val
21, // Expr
},
gotoRow{ // S43
-1, // S'
@@ -367,8 +367,8 @@ var gotoTab = gotoTable{
-1, // Schema
-1, // ExprList
-1, // ValList
-1, // Val
-1, // Expr
34, // Val
8, // Expr
},
gotoRow{ // S45
-1, // S'
@@ -418,4 +418,20 @@ var gotoTab = gotoTable{
-1, // Val
-1, // Expr
},
gotoRow{ // S51
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
-1, // Val
-1, // Expr
},
gotoRow{ // S52
-1, // S'
-1, // Schema
-1, // ExprList
-1, // ValList
-1, // Val
-1, // Expr
},
}

View File

@@ -11,9 +11,9 @@ import (
)
const (
numProductions = 17
numStates = 51
numSymbols = 17
numProductions = 18
numStates = 53
numSymbols = 18
)
// Stack

View File

@@ -83,7 +83,7 @@ var productionsTable = ProdTab{
},
},
ProdTabEntry{
String: `Val : string << ast.NewStringVal(X[0].(*token.Token)) >>`,
String: `Val : raw_string << ast.NewStringVal(X[0].(*token.Token)) >>`,
Id: "Val",
NTType: 4,
Index: 6,
@@ -93,11 +93,21 @@ var productionsTable = ProdTab{
},
},
ProdTabEntry{
String: `Val : rune << ast.NewRuneVal(X[0].(*token.Token)) >>`,
String: `Val : interpreted_string << ast.NewIStringVal(X[0].(*token.Token)) >>`,
Id: "Val",
NTType: 4,
Index: 7,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.NewIStringVal(X[0].(*token.Token))
},
},
ProdTabEntry{
String: `Val : rune << ast.NewRuneVal(X[0].(*token.Token)) >>`,
Id: "Val",
NTType: 4,
Index: 8,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.NewRuneVal(X[0].(*token.Token))
},
@@ -106,7 +116,7 @@ var productionsTable = ProdTab{
String: `Val : int << ast.NewIntVal(X[0].(*token.Token)) >>`,
Id: "Val",
NTType: 4,
Index: 8,
Index: 9,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.NewIntVal(X[0].(*token.Token))
@@ -116,7 +126,7 @@ var productionsTable = ProdTab{
String: `Val : float << ast.NewFloatVal(X[0].(*token.Token)) >>`,
Id: "Val",
NTType: 4,
Index: 9,
Index: 10,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.NewFloatVal(X[0].(*token.Token))
@@ -126,7 +136,7 @@ var productionsTable = ProdTab{
String: `Val : imaginary << ast.NewComplexVal(X[0].(*token.Token)) >>`,
Id: "Val",
NTType: 4,
Index: 10,
Index: 11,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.NewComplexVal(X[0].(*token.Token))
@@ -136,7 +146,7 @@ var productionsTable = ProdTab{
String: `Val : name << ast.NewNameVal(X[0].(*token.Token)) >>`,
Id: "Val",
NTType: 4,
Index: 11,
Index: 12,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.NewNameVal(X[0].(*token.Token))
@@ -146,7 +156,7 @@ var productionsTable = ProdTab{
String: `Val : Expr << ast.NewExprVal(X[0]) >>`,
Id: "Val",
NTType: 4,
Index: 12,
Index: 13,
NumSymbols: 1,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.NewExprVal(X[0])
@@ -156,7 +166,7 @@ var productionsTable = ProdTab{
String: `Expr : "(" name Val Val ")" << ast.NewExpr(X[1].(*token.Token), X[2], X[3]) >>`,
Id: "Expr",
NTType: 5,
Index: 13,
Index: 14,
NumSymbols: 5,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.NewExpr(X[1].(*token.Token), X[2], X[3])
@@ -166,7 +176,7 @@ var productionsTable = ProdTab{
String: `Expr : "(" name Val ")" << ast.NewExpr(X[1].(*token.Token), X[2], nil) >>`,
Id: "Expr",
NTType: 5,
Index: 14,
Index: 15,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.NewExpr(X[1].(*token.Token), X[2], nil)
@@ -176,7 +186,7 @@ var productionsTable = ProdTab{
String: `Expr : "(" name ")" << ast.NewExpr(X[1].(*token.Token), nil, nil) >>`,
Id: "Expr",
NTType: 5,
Index: 15,
Index: 16,
NumSymbols: 3,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.NewExpr(X[1].(*token.Token), nil, nil)
@@ -186,7 +196,7 @@ var productionsTable = ProdTab{
String: `Expr : "(" "." ValList ")" << ast.ListExpr(X[2]) >>`,
Id: "Expr",
NTType: 5,
Index: 16,
Index: 17,
NumSymbols: 4,
ReduceFunc: func(X []Attrib, C interface{}) (Attrib, error) {
return ast.ListExpr(X[2])