forked from GitHub/gf-core
Meta variables are now treated as functions with name ? in SISR, VoiceXML and JavaScript linearization. VoiceXML now returns the partial result when update() is false.
This commit is contained in:
@@ -5,7 +5,7 @@ function Fun(name) {
|
|||||||
}
|
}
|
||||||
Fun.prototype.print = function () { return this.show(0); } ;
|
Fun.prototype.print = function () { return this.show(0); } ;
|
||||||
Fun.prototype.show = function (prec) {
|
Fun.prototype.show = function (prec) {
|
||||||
if (this.name == '?') {
|
if (this.isMeta()) {
|
||||||
if (isUndefined(this.type)) {
|
if (isUndefined(this.type)) {
|
||||||
return '?';
|
return '?';
|
||||||
} else {
|
} else {
|
||||||
@@ -44,7 +44,22 @@ Fun.prototype.getChildren = function () {
|
|||||||
}
|
}
|
||||||
return a;
|
return a;
|
||||||
} ;
|
} ;
|
||||||
|
Fun.prototype.isMeta = function() {
|
||||||
|
return this.name == '?';
|
||||||
|
} ;
|
||||||
|
Fun.prototype.isComplete = function() {
|
||||||
|
if (this.isMeta()) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
var cs = this.getChildren();
|
||||||
|
for (var i in cs) {
|
||||||
|
if (!cs[i].isComplete()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} ;
|
||||||
|
|
||||||
/* Concrete syntax terms */
|
/* Concrete syntax terms */
|
||||||
|
|
||||||
@@ -103,17 +118,13 @@ Abstract.prototype.copyTree = function(x, type) {
|
|||||||
return this.annotate(this.copyTree_(x), type);
|
return this.annotate(this.copyTree_(x), type);
|
||||||
};
|
};
|
||||||
Abstract.prototype.copyTree_ = function(x) {
|
Abstract.prototype.copyTree_ = function(x) {
|
||||||
if (typeof x == 'string' && x == '?') {
|
var t = new Fun(x.name);
|
||||||
return new Fun('?');
|
for (var i = 0; ; i++) {
|
||||||
} else {
|
var c = x['arg' + i];
|
||||||
var t = new Fun(x.name);
|
if (isUndefined(c)) { break; }
|
||||||
for (var i = 0; ; i++) {
|
t.setChild(i, this.copyTree(c));
|
||||||
var c = x['arg' + i];
|
|
||||||
if (isUndefined(c)) { break; }
|
|
||||||
t.setChild(i, this.copyTree(c));
|
|
||||||
}
|
|
||||||
return t;
|
|
||||||
}
|
}
|
||||||
|
return t;
|
||||||
} ;
|
} ;
|
||||||
Abstract.prototype.parseTree = function(str, type) {
|
Abstract.prototype.parseTree = function(str, type) {
|
||||||
return this.annotate(this.parseTree_(str.match(/[\w\']+|\(|\)|\?/g), 0), type);
|
return this.annotate(this.parseTree_(str.match(/[\w\']+|\(|\)|\?/g), 0), type);
|
||||||
@@ -155,7 +166,7 @@ Concrete.prototype.addRule = function (name, f) { this.rules[name] = f; };
|
|||||||
Concrete.prototype.lindef = function (cat, v) { return this.rules["_d"+cat]([new Str(v)]); } ;
|
Concrete.prototype.lindef = function (cat, v) { return this.rules["_d"+cat]([new Str(v)]); } ;
|
||||||
Concrete.prototype.linearize = function (tree) { return this.linearizeToTerm(tree).print(); };
|
Concrete.prototype.linearize = function (tree) { return this.linearizeToTerm(tree).print(); };
|
||||||
Concrete.prototype.linearizeToTerm = function (tree) {
|
Concrete.prototype.linearizeToTerm = function (tree) {
|
||||||
if (tree.name == '?') {
|
if (tree.isMeta()) {
|
||||||
if (isUndefined(tree.type)) {
|
if (isUndefined(tree.type)) {
|
||||||
return new Meta();
|
return new Meta();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -45,6 +45,11 @@ data Expr =
|
|||||||
| EThis
|
| EThis
|
||||||
| EFun [Ident] [Stmt]
|
| EFun [Ident] [Stmt]
|
||||||
| EArray [Expr]
|
| EArray [Expr]
|
||||||
|
| EObj [Property]
|
||||||
| ESeq [Expr]
|
| ESeq [Expr]
|
||||||
deriving (Eq,Ord,Show)
|
deriving (Eq,Ord,Show)
|
||||||
|
|
||||||
|
data Property =
|
||||||
|
Prop Ident Expr
|
||||||
|
deriving (Eq,Ord,Show)
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ SDeclOrExpr. Stmt ::= DeclOrExpr ";" ;
|
|||||||
separator Stmt "" ;
|
separator Stmt "" ;
|
||||||
|
|
||||||
Decl. DeclOrExpr ::= "var" [DeclVar];
|
Decl. DeclOrExpr ::= "var" [DeclVar];
|
||||||
DExpr. DeclOrExpr ::= Expr ;
|
DExpr. DeclOrExpr ::= Expr1 ;
|
||||||
|
|
||||||
DVar. DeclVar ::= Ident ;
|
DVar. DeclVar ::= Ident ;
|
||||||
DInit. DeclVar ::= Ident "=" Expr ;
|
DInit. DeclVar ::= Ident "=" Expr ;
|
||||||
@@ -39,6 +39,7 @@ ENull. Expr16 ::= "null" ;
|
|||||||
EThis. Expr16 ::= "this" ;
|
EThis. Expr16 ::= "this" ;
|
||||||
EFun. Expr16 ::= "function" "(" [Ident] ")" "{" [Stmt] "}" ;
|
EFun. Expr16 ::= "function" "(" [Ident] ")" "{" [Stmt] "}" ;
|
||||||
EArray. Expr16 ::= "[" [Expr] "]" ;
|
EArray. Expr16 ::= "[" [Expr] "]" ;
|
||||||
|
EObj. Expr16 ::= "{" [Property] "}" ;
|
||||||
|
|
||||||
eseq1. Expr16 ::= "(" Expr "," [Expr] ")";
|
eseq1. Expr16 ::= "(" Expr "," [Expr] ")";
|
||||||
internal ESeq. Expr16 ::= "(" [Expr] ")" ;
|
internal ESeq. Expr16 ::= "(" [Expr] ")" ;
|
||||||
@@ -47,3 +48,5 @@ define eseq1 x xs = ESeq (x:xs);
|
|||||||
separator Expr "," ;
|
separator Expr "," ;
|
||||||
coercions Expr 16 ;
|
coercions Expr 16 ;
|
||||||
|
|
||||||
|
Prop. Property ::= Ident ":" Expr ;
|
||||||
|
separator Property "," ;
|
||||||
@@ -24,16 +24,16 @@ import GHC.Exts
|
|||||||
import GlaExts
|
import GlaExts
|
||||||
#endif
|
#endif
|
||||||
alex_base :: AlexAddr
|
alex_base :: AlexAddr
|
||||||
alex_base = AlexA# "\xf8\xff\xff\xff\xfd\xff\xff\xff\x02\x00\x00\x00\x00\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x73\x00\x00\x00\x01\x01\x00\x00\x4e\x00\x00\x00\x13\x01\x00\x00\x58\x00\x00\x00\x66\x00\x00\x00\x70\x00\x00\x00\x7d\x00\x00\x00"#
|
alex_base = AlexA# "\x01\x00\x00\x00\x39\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\x9a\x00\x00\x00\x00\x00\x00\x00\x15\x01\x00\x00\xd3\x00\x00\x00\x35\x00\x00\x00\xe5\x00\x00\x00\x3f\x00\x00\x00\xf0\x00\x00\x00\x1b\x01\x00\x00\x6d\x01\x00\x00"#
|
||||||
|
|
||||||
alex_table :: AlexAddr
|
alex_table :: AlexAddr
|
||||||
alex_table = AlexA# "\x00\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x03\x00\x03\x00\x02\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x03\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x03\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x00\xff\xff\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x05\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0c\x00\x00\x00\x00\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x07\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x06\x00\x00\x00\x00\x00\x00\x00\x04\x00\x06\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
|
alex_table = AlexA# "\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x02\x00\xff\xff\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x03\x00\x03\x00\xff\xff\xff\xff\x03\x00\xff\xff\x03\x00\xff\xff\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x03\x00\x03\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x03\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\x02\x00\x0b\x00\x00\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x08\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x03\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x06\x00\x00\x00\x00\x00\xff\xff\x04\x00\x06\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\xff\xff\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x0d\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x07\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x00\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x04\x00\x0c\x00\x00\x00\x00\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
|
||||||
|
|
||||||
alex_check :: AlexAddr
|
alex_check :: AlexAddr
|
||||||
alex_check = AlexA# "\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\x22\x00\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x28\x00\x29\x00\x20\x00\xff\xff\x2c\x00\xff\xff\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\x3b\x00\xff\xff\x3d\x00\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x5b\x00\xff\xff\x5d\x00\xff\xff\xff\xff\xff\xff\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x7b\x00\xff\xff\x7d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x2e\x00\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x22\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\x5c\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\x27\x00\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x22\x00\xff\xff\xff\xff\xff\xff\x5f\x00\x27\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x65\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\xff\xff\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xff\xff\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
|
alex_check = AlexA# "\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x04\x00\x05\x00\x06\x00\x07\x00\x08\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x1f\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x29\x00\x2a\x00\x2b\x00\x2c\x00\x2d\x00\x2e\x00\x2f\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x3a\x00\x3b\x00\x3c\x00\x3d\x00\x3e\x00\x3f\x00\x40\x00\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\x0a\x00\x0b\x00\x0c\x00\x0d\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x20\x00\xff\xff\xff\xff\x5b\x00\x5c\x00\x5d\x00\x5e\x00\x5f\x00\x60\x00\x20\x00\x2e\x00\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\x7b\x00\x7c\x00\x7d\x00\x7e\x00\x7f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x84\x00\x85\x00\x86\x00\x87\x00\x88\x00\x89\x00\x8a\x00\x8b\x00\x8c\x00\x8d\x00\x8e\x00\x8f\x00\x90\x00\x91\x00\x92\x00\x93\x00\x94\x00\x95\x00\x96\x00\x97\x00\x98\x00\x99\x00\x9a\x00\x9b\x00\x9c\x00\x9d\x00\x9e\x00\x9f\x00\xa0\x00\xa1\x00\xa2\x00\xa3\x00\xa4\x00\xa5\x00\xa6\x00\xa7\x00\xa8\x00\xa9\x00\xaa\x00\xab\x00\xac\x00\xad\x00\xae\x00\xaf\x00\xb0\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xb5\x00\xb6\x00\xb7\x00\xb8\x00\xb9\x00\xba\x00\xbb\x00\xbc\x00\xbd\x00\xbe\x00\xbf\x00\x27\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xd7\x00\xff\xff\xff\xff\x41\x00\x42\x00\x43\x00\x44\x00\x45\x00\x46\x00\x47\x00\x48\x00\x49\x00\x4a\x00\x4b\x00\x4c\x00\x4d\x00\x4e\x00\x4f\x00\x50\x00\x51\x00\x52\x00\x53\x00\x54\x00\x55\x00\x56\x00\x57\x00\x58\x00\x59\x00\x5a\x00\x22\x00\xff\xff\xff\xff\xf7\x00\x5f\x00\x27\x00\x61\x00\x62\x00\x63\x00\x64\x00\x65\x00\x66\x00\x67\x00\x68\x00\x69\x00\x6a\x00\x6b\x00\x6c\x00\x6d\x00\x6e\x00\x6f\x00\x70\x00\x71\x00\x72\x00\x73\x00\x74\x00\x75\x00\x76\x00\x77\x00\x78\x00\x79\x00\x7a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\x0a\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x5c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x22\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x6e\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x74\x00\xff\xff\xff\xff\x65\x00\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xc0\x00\xc1\x00\xc2\x00\xc3\x00\xc4\x00\xc5\x00\xc6\x00\xc7\x00\xc8\x00\xc9\x00\xca\x00\xcb\x00\xcc\x00\xcd\x00\xce\x00\xcf\x00\xd0\x00\xd1\x00\xd2\x00\xd3\x00\xd4\x00\xd5\x00\xd6\x00\x5c\x00\xd8\x00\xd9\x00\xda\x00\xdb\x00\xdc\x00\xdd\x00\xde\x00\xdf\x00\xe0\x00\xe1\x00\xe2\x00\xe3\x00\xe4\x00\xe5\x00\xe6\x00\xe7\x00\xe8\x00\xe9\x00\xea\x00\xeb\x00\xec\x00\xed\x00\xee\x00\xef\x00\xf0\x00\xf1\x00\xf2\x00\xf3\x00\xf4\x00\xf5\x00\xf6\x00\xff\xff\xf8\x00\xf9\x00\xfa\x00\xfb\x00\xfc\x00\xfd\x00\xfe\x00\xff\x00\x2d\x00\xff\xff\xff\xff\x30\x00\x31\x00\x32\x00\x33\x00\x34\x00\x35\x00\x36\x00\x37\x00\x38\x00\x39\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
|
||||||
|
|
||||||
alex_deflt :: AlexAddr
|
alex_deflt :: AlexAddr
|
||||||
alex_deflt = AlexA# "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
|
alex_deflt = AlexA# "\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
|
||||||
|
|
||||||
alex_accept = listArray (0::Int,13) [[],[],[(AlexAccSkip)],[(AlexAcc (alex_action_1))],[(AlexAcc (alex_action_2))],[(AlexAcc (alex_action_3))],[],[],[(AlexAcc (alex_action_4))],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_5))],[],[],[]]
|
alex_accept = listArray (0::Int,13) [[],[],[(AlexAccSkip)],[(AlexAcc (alex_action_1))],[(AlexAcc (alex_action_2))],[(AlexAcc (alex_action_3))],[],[],[(AlexAcc (alex_action_4))],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_5))],[],[],[]]
|
||||||
{-# LINE 32 "LexJS.x" #-}
|
{-# LINE 32 "LexJS.x" #-}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ $i = [$l $d _ '] -- identifier character
|
|||||||
$u = [\0-\255] -- universal: any character
|
$u = [\0-\255] -- universal: any character
|
||||||
|
|
||||||
@rsyms = -- symbols and non-identifier-like reserved words
|
@rsyms = -- symbols and non-identifier-like reserved words
|
||||||
\( | \) | \{ | \} | \, | \; | \= | \. | \[ | \]
|
\( | \) | \{ | \} | \, | \; | \= | \. | \[ | \] | \:
|
||||||
|
|
||||||
:-
|
:-
|
||||||
|
|
||||||
|
|||||||
@@ -204,6 +204,18 @@ happyIn34 x = unsafeCoerce# x
|
|||||||
happyOut34 :: (HappyAbsSyn ) -> (Expr)
|
happyOut34 :: (HappyAbsSyn ) -> (Expr)
|
||||||
happyOut34 x = unsafeCoerce# x
|
happyOut34 x = unsafeCoerce# x
|
||||||
{-# INLINE happyOut34 #-}
|
{-# INLINE happyOut34 #-}
|
||||||
|
happyIn35 :: (Property) -> (HappyAbsSyn )
|
||||||
|
happyIn35 x = unsafeCoerce# x
|
||||||
|
{-# INLINE happyIn35 #-}
|
||||||
|
happyOut35 :: (HappyAbsSyn ) -> (Property)
|
||||||
|
happyOut35 x = unsafeCoerce# x
|
||||||
|
{-# INLINE happyOut35 #-}
|
||||||
|
happyIn36 :: ([Property]) -> (HappyAbsSyn )
|
||||||
|
happyIn36 x = unsafeCoerce# x
|
||||||
|
{-# INLINE happyIn36 #-}
|
||||||
|
happyOut36 :: (HappyAbsSyn ) -> ([Property])
|
||||||
|
happyOut36 x = unsafeCoerce# x
|
||||||
|
{-# INLINE happyOut36 #-}
|
||||||
happyInTok :: Token -> (HappyAbsSyn )
|
happyInTok :: Token -> (HappyAbsSyn )
|
||||||
happyInTok x = unsafeCoerce# x
|
happyInTok x = unsafeCoerce# x
|
||||||
{-# INLINE happyInTok #-}
|
{-# INLINE happyInTok #-}
|
||||||
@@ -212,21 +224,21 @@ happyOutTok x = unsafeCoerce# x
|
|||||||
{-# INLINE happyOutTok #-}
|
{-# INLINE happyOutTok #-}
|
||||||
|
|
||||||
happyActOffsets :: HappyAddr
|
happyActOffsets :: HappyAddr
|
||||||
happyActOffsets = HappyA# "\x00\x00\x91\x00\x00\x00\x8a\x00\x97\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\x9a\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xbb\x01\x00\x00\xbb\x01\x00\x00\x11\x00\x75\x00\x00\x00\xad\x01\x00\x00\x00\x00\x75\x00\x00\x00\x00\x00\x00\x00\x82\x00\x9b\x00\x00\x00\x81\x00\x00\x00\x85\x00\x84\x00\x83\x00\x57\x00\x78\x00\x7e\x00\x81\x01\x05\x00\xbb\x01\x56\x00\xbb\x01\xbb\x01\x00\x00\x00\x00\x59\x00\x00\x00\x66\x00\x00\x00\xbb\x01\x00\x00\x00\x00\xbb\x01\x00\x00\x7c\x00\x65\x00\x35\x00\xbb\x01\x00\x00\x35\x00\xbb\x01\x00\x00\x00\x00\x64\x00\x63\x00\x61\x00\x34\x00\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x00\x00\x6b\x01\x00\x00\x55\x01\x00\x00\x00\x00"#
|
happyActOffsets = HappyA# "\x00\x00\xb3\x00\x00\x00\x94\x00\xe6\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00\xbf\x00\x29\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14\x02\xfe\xff\x14\x02\x00\x00\x36\x00\x98\x00\x00\x00\xfd\x01\x00\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\xbe\x00\xa9\x00\x00\x00\xa5\x00\x00\x00\x96\x00\x00\x00\xa8\x00\xa7\x00\xa6\x00\x92\x00\x85\x00\x89\x00\x81\x00\xcf\x01\x88\x00\x87\x00\x2a\x00\x14\x02\x76\x00\x14\x02\x14\x02\x00\x00\x00\x00\x7f\x00\x00\x00\x86\x00\x00\x00\x14\x02\x00\x00\x5c\x00\x00\x00\x00\x00\x14\x02\x14\x02\x00\x00\x82\x00\x6d\x00\x5a\x00\x14\x02\x00\x00\x5a\x00\x14\x02\x00\x00\x00\x00\x6b\x00\x6a\x00\x68\x00\x56\x00\x00\x00\x00\x00\x00\x00\x67\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x00\x00\xb8\x01\x00\x00\x08\x00\x00\x00\x00\x00"#
|
||||||
|
|
||||||
happyGotoOffsets :: HappyAddr
|
happyGotoOffsets :: HappyAddr
|
||||||
happyGotoOffsets = HappyA# "\x23\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x37\x01\x3d\x00\xbb\x00\x00\x00\x45\x00\x31\x00\x00\x00\x18\x01\x00\x00\x00\x00\xda\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x20\x00\x00\x00\x9c\x00\x2b\x00\xf9\x00\xd2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7d\x00\x00\x00\x00\x00\x5e\x00\x00\x00\x00\x00\x00\x00\x43\x00\x3f\x00\x00\x00\xcd\x01\xda\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x25\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1d\x00\x00\x00\x00\x00\xff\xff\x20\x00\x00\x00\x20\x00\x00\x00\x00\x00"#
|
happyGotoOffsets = HappyA# "\x48\x00\x00\x00\x00\x00\x00\x00\x26\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9a\x01\x01\x00\xff\x00\x00\x00\x51\x00\x38\x00\x00\x00\x7b\x01\x00\x00\x00\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x00\x00\x00\x00\xe0\x00\x00\x00\x00\x00\x00\x00\xc1\x00\x2d\x00\x5c\x01\x2c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x00\x00\x00\x03\x00\x00\x00\x00\x00\x3d\x01\x83\x00\x00\x00\x00\x00\x00\x00\x07\x00\x64\x00\x00\x00\x04\x00\x1e\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\xff\xff\x45\x00\x00\x00\x45\x00\x00\x00\x00\x00"#
|
||||||
|
|
||||||
happyDefActions :: HappyAddr
|
happyDefActions :: HappyAddr
|
||||||
happyDefActions = HappyA# "\xf7\xff\x00\x00\xfe\xff\x00\x00\xfa\xff\xdd\xff\xdc\xff\xdb\xff\xda\xff\xf6\xff\xf8\xff\x00\x00\xc2\xff\xe4\xff\xe2\xff\xde\xff\xeb\xff\xce\xff\xcd\xff\xcc\xff\xcb\xff\xca\xff\xc9\xff\xc8\xff\xc7\xff\xc6\xff\xc5\xff\xc4\xff\xc3\xff\x00\x00\xee\xff\xd1\xff\xd8\xff\x00\x00\x00\x00\xd7\xff\x00\x00\xd6\xff\xd9\xff\xe8\xff\xfd\xff\xfc\xff\xfb\xff\xea\xff\xe7\xff\xec\xff\x00\x00\xf1\xff\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\xd0\xff\x00\x00\x00\x00\xd1\xff\x00\x00\x00\x00\x00\x00\xef\xff\xe5\xff\x00\x00\xe1\xff\x00\x00\xd2\xff\xd1\xff\xed\xff\xf2\xff\xd1\xff\xd4\xff\xf4\xff\x00\x00\xf5\xff\xd1\xff\xf0\xff\xe8\xff\x00\x00\xe9\xff\xe6\xff\x00\x00\x00\x00\x00\x00\xf5\xff\xcf\xff\x00\x00\xdf\xff\xe0\xff\xd3\xff\xf3\xff\xee\xff\x00\x00\xe3\xff\xee\xff\x00\x00\xd5\xff\x00\x00\xf9\xff"#
|
happyDefActions = HappyA# "\xf7\xff\x00\x00\xfe\xff\x00\x00\xfa\xff\xdd\xff\xdc\xff\xdb\xff\xda\xff\xf6\xff\xf8\xff\x00\x00\xc1\xff\xe4\xff\xe2\xff\xde\xff\xeb\xff\xcc\xff\xcb\xff\xca\xff\xc9\xff\xc8\xff\xc7\xff\xc6\xff\xc5\xff\xc4\xff\xc3\xff\xc2\xff\x00\x00\xee\xff\xd0\xff\xd8\xff\x00\x00\x00\x00\xd7\xff\x00\x00\xd6\xff\xd9\xff\xe8\xff\xfd\xff\xfc\xff\xfb\xff\xea\xff\xe7\xff\xec\xff\x00\x00\xcd\xff\xbf\xff\xf1\xff\x00\x00\x00\x00\x00\x00\xf5\xff\x00\x00\xcf\xff\x00\x00\x00\x00\xbe\xff\x00\x00\x00\x00\xd0\xff\x00\x00\x00\x00\x00\x00\xef\xff\xe5\xff\x00\x00\xe1\xff\x00\x00\xd1\xff\xd0\xff\xd3\xff\xbf\xff\xed\xff\xf2\xff\x00\x00\xd0\xff\xd4\xff\xf4\xff\x00\x00\xf5\xff\xd0\xff\xf0\xff\xe8\xff\x00\x00\xe9\xff\xe6\xff\x00\x00\x00\x00\x00\x00\xf5\xff\xce\xff\xc0\xff\xbd\xff\x00\x00\xdf\xff\xe0\xff\xd2\xff\xf3\xff\xee\xff\x00\x00\xe3\xff\xee\xff\x00\x00\xd5\xff\x00\x00\xf9\xff"#
|
||||||
|
|
||||||
happyCheck :: HappyAddr
|
happyCheck :: HappyAddr
|
||||||
happyCheck = HappyA# "\xff\xff\x00\x00\x01\x00\x02\x00\x03\x00\x01\x00\x05\x00\x02\x00\x09\x00\x08\x00\x05\x00\x0a\x00\x08\x00\x09\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x01\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x13\x00\x00\x00\x09\x00\x04\x00\x08\x00\x06\x00\x0a\x00\x00\x00\x07\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x00\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x00\x00\x00\x00\x09\x00\x13\x00\x13\x00\x03\x00\x07\x00\x07\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x02\x00\x0a\x00\x03\x00\x02\x00\x02\x00\x02\x00\x02\x00\x13\x00\x13\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x05\x00\x0a\x00\x05\x00\x01\x00\x01\x00\x01\x00\x06\x00\x13\x00\x07\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x05\x00\x07\x00\x18\x00\x06\x00\x13\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x01\x00\xff\xff\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x01\x00\xff\xff\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x01\x00\xff\xff\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x01\x00\xff\xff\xff\xff\xff\xff\xff\xff\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\x0b\x00\x0c\x00\x0d\x00\x0e\x00\x01\x00\x10\x00\x11\x00\xff\xff\x13\x00\x14\x00\x15\x00\x16\x00\x09\x00\xff\xff\x0b\x00\x0c\x00\x0d\x00\x0e\x00\xff\xff\x10\x00\x11\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\x0b\x00\x0c\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\x0b\x00\x0c\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
|
happyCheck = HappyA# "\xff\xff\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x09\x00\x01\x00\x09\x00\x03\x00\x04\x00\x07\x00\x07\x00\x0b\x00\x0c\x00\x09\x00\x14\x00\x09\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x1f\x00\x20\x00\x1f\x00\x20\x00\x1f\x00\x20\x00\x00\x00\x01\x00\x02\x00\x03\x00\x01\x00\x05\x00\x02\x00\x00\x00\x08\x00\x05\x00\x0a\x00\x08\x00\x09\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x01\x00\x00\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x00\x00\x14\x00\x00\x00\x04\x00\x08\x00\x06\x00\x0a\x00\x07\x00\x00\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x0b\x00\x0c\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x03\x00\x02\x00\x14\x00\x03\x00\x02\x00\x02\x00\x14\x00\x02\x00\x14\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x05\x00\x02\x00\x0a\x00\x14\x00\x04\x00\x0b\x00\x05\x00\x05\x00\x0a\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x14\x00\x01\x00\x01\x00\x01\x00\x14\x00\x06\x00\x14\x00\x19\x00\x05\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\x07\x00\x07\x00\x14\x00\x06\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\x08\x00\xff\xff\x0a\x00\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00\x01\x00\xff\xff\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x01\x00\xff\xff\x03\x00\x04\x00\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\x06\x00\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\xff\xff\x11\x00\x12\x00\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x01\x00\xff\xff\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x09\x00\xff\xff\xff\xff\x0c\x00\x0d\x00\x0e\x00\x0f\x00\xff\xff\x11\x00\x12\x00\xff\xff\x14\x00\x15\x00\x16\x00\x17\x00\x00\x00\x01\x00\x02\x00\x03\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0d\x00\x0e\x00\x0f\x00\x10\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"#
|
||||||
|
|
||||||
happyTable :: HappyAddr
|
happyTable :: HappyAddr
|
||||||
happyTable = HappyA# "\x00\x00\x05\x00\x06\x00\x07\x00\x08\x00\x39\x00\x09\x00\x42\x00\x60\x00\x0a\x00\x43\x00\x0b\x00\x3a\x00\x3b\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x34\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x05\x00\x06\x00\x07\x00\x08\x00\x03\x00\x47\x00\x5e\x00\x03\x00\x43\x00\x04\x00\x0b\x00\x3f\x00\x59\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x31\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x05\x00\x06\x00\x07\x00\x08\x00\x47\x00\x47\x00\x32\x00\x36\x00\x03\x00\x03\x00\x5e\x00\x51\x00\x48\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x50\x00\x35\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x05\x00\x06\x00\x07\x00\x08\x00\x59\x00\x58\x00\x5b\x00\x5c\x00\x5d\x00\x53\x00\x57\x00\x03\x00\x03\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x54\x00\x35\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x05\x00\x06\x00\x07\x00\x08\x00\x54\x00\x47\x00\x46\x00\x4a\x00\x4b\x00\x34\x00\x4c\x00\x03\x00\x4e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x55\x00\x35\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x05\x00\x06\x00\x07\x00\x08\x00\x4d\x00\x3c\x00\xff\xff\x3d\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x40\x00\x35\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x34\x00\x35\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x4e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x3e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x37\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\x1e\x00\x00\x00\x1f\x00\x62\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x21\x00\x31\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x03\x00\x29\x00\x2a\x00\x2b\x00\x1e\x00\x00\x00\x1f\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x21\x00\x31\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x03\x00\x29\x00\x2a\x00\x2b\x00\x1e\x00\x00\x00\x1f\x00\x45\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x21\x00\x31\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x03\x00\x29\x00\x2a\x00\x2b\x00\x1e\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x28\x00\x03\x00\x29\x00\x2a\x00\x2b\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x00\x00\x00\x00\x00\x20\x00\x00\x00\x21\x00\x31\x00\x23\x00\x24\x00\x1e\x00\x26\x00\x27\x00\x00\x00\x03\x00\x29\x00\x2a\x00\x2b\x00\x20\x00\x00\x00\x21\x00\x31\x00\x23\x00\x24\x00\x00\x00\x26\x00\x27\x00\x2b\x00\x03\x00\x29\x00\x2a\x00\x2b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x2c\x00\x4f\x00\x2b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x00\x00\x2c\x00\x2d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
|
happyTable = HappyA# "\x00\x00\x37\x00\xbf\xff\x37\x00\x2a\x00\x37\x00\x4e\x00\x4e\x00\x69\x00\x1d\x00\x38\x00\x1e\x00\x6b\x00\x62\x00\x58\x00\x2b\x00\x56\x00\x1f\x00\x03\x00\x67\x00\x20\x00\x32\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x03\x00\x28\x00\x29\x00\x2a\x00\x39\x00\x3a\x00\x39\x00\x5d\x00\x39\x00\x3a\x00\x05\x00\x06\x00\x07\x00\x08\x00\x3d\x00\x09\x00\x46\x00\x43\x00\x0a\x00\x47\x00\x0b\x00\x3e\x00\x3f\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x35\x00\x32\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x4e\x00\x03\x00\x2a\x00\x03\x00\x49\x00\x04\x00\x0b\x00\x4f\x00\x33\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x2b\x00\x2c\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x67\x00\x62\x00\x03\x00\x64\x00\x65\x00\x66\x00\x03\x00\x5a\x00\x03\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x57\x00\x36\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x5b\x00\x60\x00\x61\x00\x03\x00\x48\x00\x4c\x00\x49\x00\x4d\x00\x4e\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x5b\x00\x36\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x03\x00\x51\x00\x52\x00\x35\x00\x03\x00\x53\x00\x03\x00\xff\xff\x54\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x5e\x00\x36\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x55\x00\x40\x00\x03\x00\x41\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x44\x00\x36\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x49\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x00\x00\x10\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x35\x00\x36\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x55\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x5c\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x42\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x2d\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x3b\x00\x2e\x00\x11\x00\x12\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1d\x00\x00\x00\x1e\x00\x69\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x03\x00\x28\x00\x29\x00\x2a\x00\x1d\x00\x00\x00\x1e\x00\x4b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x03\x00\x28\x00\x29\x00\x2a\x00\x1d\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x21\x00\x22\x00\x23\x00\x24\x00\x25\x00\x26\x00\x27\x00\x03\x00\x28\x00\x29\x00\x2a\x00\x1d\x00\x00\x00\x30\x00\x00\x00\x00\x00\x31\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x22\x00\x23\x00\x00\x00\x25\x00\x26\x00\x00\x00\x03\x00\x28\x00\x29\x00\x2a\x00\x1d\x00\x00\x00\x30\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x00\x00\x20\x00\x32\x00\x22\x00\x23\x00\x00\x00\x25\x00\x26\x00\x00\x00\x03\x00\x28\x00\x29\x00\x2a\x00\x05\x00\x06\x00\x07\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x41\x00\x0d\x00\x0e\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"#
|
||||||
|
|
||||||
happyReduceArr = array (1, 61) [
|
happyReduceArr = array (1, 66) [
|
||||||
(1 , happyReduce_1),
|
(1 , happyReduce_1),
|
||||||
(2 , happyReduce_2),
|
(2 , happyReduce_2),
|
||||||
(3 , happyReduce_3),
|
(3 , happyReduce_3),
|
||||||
@@ -287,11 +299,16 @@ happyReduceArr = array (1, 61) [
|
|||||||
(58 , happyReduce_58),
|
(58 , happyReduce_58),
|
||||||
(59 , happyReduce_59),
|
(59 , happyReduce_59),
|
||||||
(60 , happyReduce_60),
|
(60 , happyReduce_60),
|
||||||
(61 , happyReduce_61)
|
(61 , happyReduce_61),
|
||||||
|
(62 , happyReduce_62),
|
||||||
|
(63 , happyReduce_63),
|
||||||
|
(64 , happyReduce_64),
|
||||||
|
(65 , happyReduce_65),
|
||||||
|
(66 , happyReduce_66)
|
||||||
]
|
]
|
||||||
|
|
||||||
happy_n_terms = 25 :: Int
|
happy_n_terms = 26 :: Int
|
||||||
happy_n_nonterms = 31 :: Int
|
happy_n_nonterms = 33 :: Int
|
||||||
|
|
||||||
happyReduce_1 = happySpecReduce_1 0# happyReduction_1
|
happyReduce_1 = happySpecReduce_1 0# happyReduction_1
|
||||||
happyReduction_1 happy_x_1
|
happyReduction_1 happy_x_1
|
||||||
@@ -445,7 +462,7 @@ happyReduction_19 happy_x_2
|
|||||||
|
|
||||||
happyReduce_20 = happySpecReduce_1 10# happyReduction_20
|
happyReduce_20 = happySpecReduce_1 10# happyReduction_20
|
||||||
happyReduction_20 happy_x_1
|
happyReduction_20 happy_x_1
|
||||||
= case happyOut22 happy_x_1 of { happy_var_1 ->
|
= case happyOut23 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn14
|
happyIn14
|
||||||
(DExpr happy_var_1
|
(DExpr happy_var_1
|
||||||
)}
|
)}
|
||||||
@@ -643,8 +660,17 @@ happyReduction_43 happy_x_3
|
|||||||
(EArray happy_var_2
|
(EArray happy_var_2
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_44 = happyReduce 5# 16# happyReduction_44
|
happyReduce_44 = happySpecReduce_3 16# happyReduction_44
|
||||||
happyReduction_44 (happy_x_5 `HappyStk`
|
happyReduction_44 happy_x_3
|
||||||
|
happy_x_2
|
||||||
|
happy_x_1
|
||||||
|
= case happyOut36 happy_x_2 of { happy_var_2 ->
|
||||||
|
happyIn20
|
||||||
|
(EObj happy_var_2
|
||||||
|
)}
|
||||||
|
|
||||||
|
happyReduce_45 = happyReduce 5# 16# happyReduction_45
|
||||||
|
happyReduction_45 (happy_x_5 `HappyStk`
|
||||||
happy_x_4 `HappyStk`
|
happy_x_4 `HappyStk`
|
||||||
happy_x_3 `HappyStk`
|
happy_x_3 `HappyStk`
|
||||||
happy_x_2 `HappyStk`
|
happy_x_2 `HappyStk`
|
||||||
@@ -656,8 +682,8 @@ happyReduction_44 (happy_x_5 `HappyStk`
|
|||||||
(eseq1_ happy_var_2 happy_var_4
|
(eseq1_ happy_var_2 happy_var_4
|
||||||
) `HappyStk` happyRest}}
|
) `HappyStk` happyRest}}
|
||||||
|
|
||||||
happyReduce_45 = happySpecReduce_3 16# happyReduction_45
|
happyReduce_46 = happySpecReduce_3 16# happyReduction_46
|
||||||
happyReduction_45 happy_x_3
|
happyReduction_46 happy_x_3
|
||||||
happy_x_2
|
happy_x_2
|
||||||
happy_x_1
|
happy_x_1
|
||||||
= case happyOut22 happy_x_2 of { happy_var_2 ->
|
= case happyOut22 happy_x_2 of { happy_var_2 ->
|
||||||
@@ -665,20 +691,20 @@ happyReduction_45 happy_x_3
|
|||||||
(happy_var_2
|
(happy_var_2
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_46 = happySpecReduce_0 17# happyReduction_46
|
happyReduce_47 = happySpecReduce_0 17# happyReduction_47
|
||||||
happyReduction_46 = happyIn21
|
happyReduction_47 = happyIn21
|
||||||
([]
|
([]
|
||||||
)
|
)
|
||||||
|
|
||||||
happyReduce_47 = happySpecReduce_1 17# happyReduction_47
|
happyReduce_48 = happySpecReduce_1 17# happyReduction_48
|
||||||
happyReduction_47 happy_x_1
|
happyReduction_48 happy_x_1
|
||||||
= case happyOut22 happy_x_1 of { happy_var_1 ->
|
= case happyOut22 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn21
|
happyIn21
|
||||||
((:[]) happy_var_1
|
((:[]) happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_48 = happySpecReduce_3 17# happyReduction_48
|
happyReduce_49 = happySpecReduce_3 17# happyReduction_49
|
||||||
happyReduction_48 happy_x_3
|
happyReduction_49 happy_x_3
|
||||||
happy_x_2
|
happy_x_2
|
||||||
happy_x_1
|
happy_x_1
|
||||||
= case happyOut22 happy_x_1 of { happy_var_1 ->
|
= case happyOut22 happy_x_1 of { happy_var_1 ->
|
||||||
@@ -687,99 +713,131 @@ happyReduction_48 happy_x_3
|
|||||||
((:) happy_var_1 happy_var_3
|
((:) happy_var_1 happy_var_3
|
||||||
)}}
|
)}}
|
||||||
|
|
||||||
happyReduce_49 = happySpecReduce_1 18# happyReduction_49
|
happyReduce_50 = happySpecReduce_1 18# happyReduction_50
|
||||||
happyReduction_49 happy_x_1
|
happyReduction_50 happy_x_1
|
||||||
= case happyOut23 happy_x_1 of { happy_var_1 ->
|
= case happyOut23 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn22
|
happyIn22
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_50 = happySpecReduce_1 19# happyReduction_50
|
happyReduce_51 = happySpecReduce_1 19# happyReduction_51
|
||||||
happyReduction_50 happy_x_1
|
happyReduction_51 happy_x_1
|
||||||
= case happyOut24 happy_x_1 of { happy_var_1 ->
|
= case happyOut24 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn23
|
happyIn23
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_51 = happySpecReduce_1 20# happyReduction_51
|
happyReduce_52 = happySpecReduce_1 20# happyReduction_52
|
||||||
happyReduction_51 happy_x_1
|
happyReduction_52 happy_x_1
|
||||||
= case happyOut25 happy_x_1 of { happy_var_1 ->
|
= case happyOut25 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn24
|
happyIn24
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_52 = happySpecReduce_1 21# happyReduction_52
|
happyReduce_53 = happySpecReduce_1 21# happyReduction_53
|
||||||
happyReduction_52 happy_x_1
|
happyReduction_53 happy_x_1
|
||||||
= case happyOut26 happy_x_1 of { happy_var_1 ->
|
= case happyOut26 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn25
|
happyIn25
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_53 = happySpecReduce_1 22# happyReduction_53
|
happyReduce_54 = happySpecReduce_1 22# happyReduction_54
|
||||||
happyReduction_53 happy_x_1
|
happyReduction_54 happy_x_1
|
||||||
= case happyOut27 happy_x_1 of { happy_var_1 ->
|
= case happyOut27 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn26
|
happyIn26
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_54 = happySpecReduce_1 23# happyReduction_54
|
happyReduce_55 = happySpecReduce_1 23# happyReduction_55
|
||||||
happyReduction_54 happy_x_1
|
happyReduction_55 happy_x_1
|
||||||
= case happyOut28 happy_x_1 of { happy_var_1 ->
|
= case happyOut28 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn27
|
happyIn27
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_55 = happySpecReduce_1 24# happyReduction_55
|
happyReduce_56 = happySpecReduce_1 24# happyReduction_56
|
||||||
happyReduction_55 happy_x_1
|
happyReduction_56 happy_x_1
|
||||||
= case happyOut29 happy_x_1 of { happy_var_1 ->
|
= case happyOut29 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn28
|
happyIn28
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_56 = happySpecReduce_1 25# happyReduction_56
|
happyReduce_57 = happySpecReduce_1 25# happyReduction_57
|
||||||
happyReduction_56 happy_x_1
|
happyReduction_57 happy_x_1
|
||||||
= case happyOut30 happy_x_1 of { happy_var_1 ->
|
= case happyOut30 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn29
|
happyIn29
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_57 = happySpecReduce_1 26# happyReduction_57
|
happyReduce_58 = happySpecReduce_1 26# happyReduction_58
|
||||||
happyReduction_57 happy_x_1
|
happyReduction_58 happy_x_1
|
||||||
= case happyOut31 happy_x_1 of { happy_var_1 ->
|
= case happyOut31 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn30
|
happyIn30
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_58 = happySpecReduce_1 27# happyReduction_58
|
happyReduce_59 = happySpecReduce_1 27# happyReduction_59
|
||||||
happyReduction_58 happy_x_1
|
happyReduction_59 happy_x_1
|
||||||
= case happyOut32 happy_x_1 of { happy_var_1 ->
|
= case happyOut32 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn31
|
happyIn31
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_59 = happySpecReduce_1 28# happyReduction_59
|
happyReduce_60 = happySpecReduce_1 28# happyReduction_60
|
||||||
happyReduction_59 happy_x_1
|
happyReduction_60 happy_x_1
|
||||||
= case happyOut33 happy_x_1 of { happy_var_1 ->
|
= case happyOut33 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn32
|
happyIn32
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_60 = happySpecReduce_1 29# happyReduction_60
|
happyReduce_61 = happySpecReduce_1 29# happyReduction_61
|
||||||
happyReduction_60 happy_x_1
|
happyReduction_61 happy_x_1
|
||||||
= case happyOut34 happy_x_1 of { happy_var_1 ->
|
= case happyOut34 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn33
|
happyIn33
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
happyReduce_61 = happySpecReduce_1 30# happyReduction_61
|
happyReduce_62 = happySpecReduce_1 30# happyReduction_62
|
||||||
happyReduction_61 happy_x_1
|
happyReduction_62 happy_x_1
|
||||||
= case happyOut17 happy_x_1 of { happy_var_1 ->
|
= case happyOut17 happy_x_1 of { happy_var_1 ->
|
||||||
happyIn34
|
happyIn34
|
||||||
(happy_var_1
|
(happy_var_1
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
happyReduce_63 = happySpecReduce_3 31# happyReduction_63
|
||||||
|
happyReduction_63 happy_x_3
|
||||||
|
happy_x_2
|
||||||
|
happy_x_1
|
||||||
|
= case happyOut4 happy_x_1 of { happy_var_1 ->
|
||||||
|
case happyOut22 happy_x_3 of { happy_var_3 ->
|
||||||
|
happyIn35
|
||||||
|
(Prop happy_var_1 happy_var_3
|
||||||
|
)}}
|
||||||
|
|
||||||
|
happyReduce_64 = happySpecReduce_0 32# happyReduction_64
|
||||||
|
happyReduction_64 = happyIn36
|
||||||
|
([]
|
||||||
|
)
|
||||||
|
|
||||||
|
happyReduce_65 = happySpecReduce_1 32# happyReduction_65
|
||||||
|
happyReduction_65 happy_x_1
|
||||||
|
= case happyOut35 happy_x_1 of { happy_var_1 ->
|
||||||
|
happyIn36
|
||||||
|
((:[]) happy_var_1
|
||||||
|
)}
|
||||||
|
|
||||||
|
happyReduce_66 = happySpecReduce_3 32# happyReduction_66
|
||||||
|
happyReduction_66 happy_x_3
|
||||||
|
happy_x_2
|
||||||
|
happy_x_1
|
||||||
|
= case happyOut35 happy_x_1 of { happy_var_1 ->
|
||||||
|
case happyOut36 happy_x_3 of { happy_var_3 ->
|
||||||
|
happyIn36
|
||||||
|
((:) happy_var_1 happy_var_3
|
||||||
|
)}}
|
||||||
|
|
||||||
happyNewToken action sts stk [] =
|
happyNewToken action sts stk [] =
|
||||||
happyDoAction 24# notHappyAtAll action sts stk []
|
happyDoAction 25# notHappyAtAll action sts stk []
|
||||||
|
|
||||||
happyNewToken action sts stk (tk:tks) =
|
happyNewToken action sts stk (tk:tks) =
|
||||||
let cont i = happyDoAction i tk action sts stk tks in
|
let cont i = happyDoAction i tk action sts stk tks in
|
||||||
@@ -794,19 +852,20 @@ happyNewToken action sts stk (tk:tks) =
|
|||||||
PT _ (TS ".") -> cont 8#;
|
PT _ (TS ".") -> cont 8#;
|
||||||
PT _ (TS "[") -> cont 9#;
|
PT _ (TS "[") -> cont 9#;
|
||||||
PT _ (TS "]") -> cont 10#;
|
PT _ (TS "]") -> cont 10#;
|
||||||
PT _ (TS "false") -> cont 11#;
|
PT _ (TS ":") -> cont 11#;
|
||||||
PT _ (TS "function") -> cont 12#;
|
PT _ (TS "false") -> cont 12#;
|
||||||
PT _ (TS "new") -> cont 13#;
|
PT _ (TS "function") -> cont 13#;
|
||||||
PT _ (TS "null") -> cont 14#;
|
PT _ (TS "new") -> cont 14#;
|
||||||
PT _ (TS "return") -> cont 15#;
|
PT _ (TS "null") -> cont 15#;
|
||||||
PT _ (TS "this") -> cont 16#;
|
PT _ (TS "return") -> cont 16#;
|
||||||
PT _ (TS "true") -> cont 17#;
|
PT _ (TS "this") -> cont 17#;
|
||||||
PT _ (TS "var") -> cont 18#;
|
PT _ (TS "true") -> cont 18#;
|
||||||
PT _ (TV happy_dollar_dollar) -> cont 19#;
|
PT _ (TS "var") -> cont 19#;
|
||||||
PT _ (TI happy_dollar_dollar) -> cont 20#;
|
PT _ (TV happy_dollar_dollar) -> cont 20#;
|
||||||
PT _ (TD happy_dollar_dollar) -> cont 21#;
|
PT _ (TI happy_dollar_dollar) -> cont 21#;
|
||||||
PT _ (TL happy_dollar_dollar) -> cont 22#;
|
PT _ (TD happy_dollar_dollar) -> cont 22#;
|
||||||
_ -> cont 23#;
|
PT _ (TL happy_dollar_dollar) -> cont 23#;
|
||||||
|
_ -> cont 24#;
|
||||||
_ -> happyError' (tk:tks)
|
_ -> happyError' (tk:tks)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import GF.JavaScript.ErrM
|
|||||||
'.' { PT _ (TS ".") }
|
'.' { PT _ (TS ".") }
|
||||||
'[' { PT _ (TS "[") }
|
'[' { PT _ (TS "[") }
|
||||||
']' { PT _ (TS "]") }
|
']' { PT _ (TS "]") }
|
||||||
|
':' { PT _ (TS ":") }
|
||||||
'false' { PT _ (TS "false") }
|
'false' { PT _ (TS "false") }
|
||||||
'function' { PT _ (TS "function") }
|
'function' { PT _ (TS "function") }
|
||||||
'new' { PT _ (TS "new") }
|
'new' { PT _ (TS "new") }
|
||||||
@@ -81,7 +82,7 @@ ListStmt : {- empty -} { [] }
|
|||||||
|
|
||||||
DeclOrExpr :: { DeclOrExpr }
|
DeclOrExpr :: { DeclOrExpr }
|
||||||
DeclOrExpr : 'var' ListDeclVar { Decl $2 }
|
DeclOrExpr : 'var' ListDeclVar { Decl $2 }
|
||||||
| Expr { DExpr $1 }
|
| Expr1 { DExpr $1 }
|
||||||
|
|
||||||
|
|
||||||
DeclVar :: { DeclVar }
|
DeclVar :: { DeclVar }
|
||||||
@@ -123,6 +124,7 @@ Expr16 : Ident { EVar $1 }
|
|||||||
| 'this' { EThis }
|
| 'this' { EThis }
|
||||||
| 'function' '(' ListIdent ')' '{' ListStmt '}' { EFun $3 (reverse $6) }
|
| 'function' '(' ListIdent ')' '{' ListStmt '}' { EFun $3 (reverse $6) }
|
||||||
| '[' ListExpr ']' { EArray $2 }
|
| '[' ListExpr ']' { EArray $2 }
|
||||||
|
| '{' ListProperty '}' { EObj $2 }
|
||||||
| '(' Expr ',' ListExpr ')' { eseq1_ $2 $4 }
|
| '(' Expr ',' ListExpr ')' { eseq1_ $2 $4 }
|
||||||
| '(' Expr ')' { $2 }
|
| '(' Expr ')' { $2 }
|
||||||
|
|
||||||
@@ -185,6 +187,16 @@ Expr12 :: { Expr }
|
|||||||
Expr12 : Expr13 { $1 }
|
Expr12 : Expr13 { $1 }
|
||||||
|
|
||||||
|
|
||||||
|
Property :: { Property }
|
||||||
|
Property : Ident ':' Expr { Prop $1 $3 }
|
||||||
|
|
||||||
|
|
||||||
|
ListProperty :: { [Property] }
|
||||||
|
ListProperty : {- empty -} { [] }
|
||||||
|
| Property { (:[]) $1 }
|
||||||
|
| Property ',' ListProperty { (:) $1 $3 }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ instance Print Stmt where
|
|||||||
instance Print DeclOrExpr where
|
instance Print DeclOrExpr where
|
||||||
prt i e = case e of
|
prt i e = case e of
|
||||||
Decl declvars -> prPrec i 0 (concatD [doc (showString "var") , prt 0 declvars])
|
Decl declvars -> prPrec i 0 (concatD [doc (showString "var") , prt 0 declvars])
|
||||||
DExpr expr -> prPrec i 0 (concatD [prt 0 expr])
|
DExpr expr -> prPrec i 0 (concatD [prt 1 expr])
|
||||||
|
|
||||||
|
|
||||||
instance Print DeclVar where
|
instance Print DeclVar where
|
||||||
@@ -146,6 +146,7 @@ instance Print Expr where
|
|||||||
EThis -> prPrec i 16 (concatD [doc (showString "this")])
|
EThis -> prPrec i 16 (concatD [doc (showString "this")])
|
||||||
EFun ids stmts -> prPrec i 16 (concatD [doc (showString "function") , doc (showString "(") , prt 0 ids , doc (showString ")") , doc (showString "{") , prt 0 stmts , doc (showString "}")])
|
EFun ids stmts -> prPrec i 16 (concatD [doc (showString "function") , doc (showString "(") , prt 0 ids , doc (showString ")") , doc (showString "{") , prt 0 stmts , doc (showString "}")])
|
||||||
EArray exprs -> prPrec i 16 (concatD [doc (showString "[") , prt 0 exprs , doc (showString "]")])
|
EArray exprs -> prPrec i 16 (concatD [doc (showString "[") , prt 0 exprs , doc (showString "]")])
|
||||||
|
EObj propertys -> prPrec i 16 (concatD [doc (showString "{") , prt 0 propertys , doc (showString "}")])
|
||||||
ESeq exprs -> prPrec i 16 (concatD [doc (showString "(") , prt 0 exprs , doc (showString ")")])
|
ESeq exprs -> prPrec i 16 (concatD [doc (showString "(") , prt 0 exprs , doc (showString ")")])
|
||||||
|
|
||||||
prtList es = case es of
|
prtList es = case es of
|
||||||
@@ -153,4 +154,13 @@ instance Print Expr where
|
|||||||
[x] -> (concatD [prt 0 x])
|
[x] -> (concatD [prt 0 x])
|
||||||
x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs])
|
x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs])
|
||||||
|
|
||||||
|
instance Print Property where
|
||||||
|
prt i e = case e of
|
||||||
|
Prop id expr -> prPrec i 0 (concatD [prt 0 id , doc (showString ":") , prt 0 expr])
|
||||||
|
|
||||||
|
prtList es = case es of
|
||||||
|
[] -> (concatD [])
|
||||||
|
[x] -> (concatD [prt 0 x])
|
||||||
|
x:xs -> (concatD [prt 0 x , doc (showString ",") , prt 0 xs])
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -62,7 +62,13 @@ transExpr x = case x of
|
|||||||
EThis -> failure x
|
EThis -> failure x
|
||||||
EFun ids stmts -> failure x
|
EFun ids stmts -> failure x
|
||||||
EArray exprs -> failure x
|
EArray exprs -> failure x
|
||||||
|
EObj propertys -> failure x
|
||||||
ESeq exprs -> failure x
|
ESeq exprs -> failure x
|
||||||
|
|
||||||
|
|
||||||
|
transProperty :: Property -> Result
|
||||||
|
transProperty x = case x of
|
||||||
|
Prop id expr -> failure x
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -119,22 +119,22 @@ catForms gr qs cat fs =
|
|||||||
cat2form :: String -> CatQuestions -> VIdent -> [(VIdent, [VIdent])] -> XML
|
cat2form :: String -> CatQuestions -> VIdent -> [(VIdent, [VIdent])] -> XML
|
||||||
cat2form gr qs cat fs =
|
cat2form gr qs cat fs =
|
||||||
form (catFormId cat) $
|
form (catFormId cat) $
|
||||||
[var "value" (Just "'?'"),
|
[var "value" (Just "{ name : '?' }"),
|
||||||
var "update" Nothing,
|
var "update" Nothing,
|
||||||
blockCond "value != '?'" [assign (catFieldId cat) "value"],
|
blockCond "value.name != '?'" [assign (catFieldId cat) "value"],
|
||||||
field (catFieldId cat) []
|
field (catFieldId cat) []
|
||||||
[promptString (getCatQuestion cat qs),
|
[promptString (getCatQuestion cat qs),
|
||||||
grammar (gr++"#"++catFormId cat),
|
grammar (gr++"#"++catFormId cat),
|
||||||
nomatch [Data "I didn't understand you.", reprompt],
|
nomatch [Data "I didn't understand you.", reprompt],
|
||||||
help [Data ("help_"++cat)],
|
help [Data ("help_"++cat)],
|
||||||
filled [] [if_else (catFieldId cat ++ " == '?'") [reprompt] feedback]]
|
filled [] [if_else (catFieldId cat ++ ".name == '?'") [reprompt] feedback]]
|
||||||
]
|
]
|
||||||
++ concatMap (uncurry (fun2sub gr cat)) fs
|
++ concatMap (uncurry (fun2sub gr cat)) fs
|
||||||
++ [block [return_ [catFieldId cat]]]
|
++ [block [return_ [catFieldId cat]]]
|
||||||
where feedback = [if_ ("typeof update != 'undefined' && !update("++string cat++","++ catFieldId cat ++ ")") [return_ []]]
|
where feedback = [if_ ("typeof update != 'undefined' && !update("++string cat++","++ catFieldId cat ++ ")") [return_ [catFieldId cat]]]
|
||||||
|
|
||||||
fun2sub :: String -> VIdent -> VIdent -> [VIdent] -> [XML]
|
fun2sub :: String -> VIdent -> VIdent -> [VIdent] -> [XML]
|
||||||
fun2sub gr cat fun args = comments [fun ++ " : " ++ cat] ++ ss
|
fun2sub gr cat fun args = comments [fun ++ " : (" ++ concat (intersperse ", " args) ++ ") " ++ cat] ++ ss
|
||||||
where
|
where
|
||||||
argNames = zip ["arg"++show n | n <- [0..]] args
|
argNames = zip ["arg"++show n | n <- [0..]] args
|
||||||
ss = map (uncurry mkSub) argNames
|
ss = map (uncurry mkSub) argNames
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ topCatSISR i c fmt = map JS.DExpr [field (fmtOut fmt) i `ass` fmtRef fmt c]
|
|||||||
profileInitSISR :: CFTerm -> SISRFormat -> SISRTag
|
profileInitSISR :: CFTerm -> SISRFormat -> SISRTag
|
||||||
profileInitSISR t fmt
|
profileInitSISR t fmt
|
||||||
| null (usedChildren t) = []
|
| null (usedChildren t) = []
|
||||||
| otherwise = [JS.Decl [JS.DInit children (JS.ENew (JS.Ident "Array") [])]]
|
| otherwise = [JS.Decl [JS.DInit children (JS.EArray [])]]
|
||||||
|
|
||||||
usedChildren :: CFTerm -> [Int]
|
usedChildren :: CFTerm -> [Int]
|
||||||
usedChildren (CFObj _ ts) = foldr union [] (map usedChildren ts)
|
usedChildren (CFObj _ ts) = foldr union [] (map usedChildren ts)
|
||||||
@@ -60,24 +60,15 @@ catSISR t (c,i) fmt
|
|||||||
| otherwise = []
|
| otherwise = []
|
||||||
|
|
||||||
profileFinalSISR :: CFTerm -> SISRFormat -> SISRTag
|
profileFinalSISR :: CFTerm -> SISRFormat -> SISRTag
|
||||||
profileFinalSISR term fmt = map JS.DExpr $ g term
|
profileFinalSISR term fmt = [JS.DExpr $ fmtOut fmt `ass` f term]
|
||||||
where
|
where
|
||||||
-- optimization for tokens
|
f (CFObj n ts) = tree (prIdent n) (map f ts)
|
||||||
g (CFObj n []) = [field (fmtOut fmt) "name" `ass` JS.EStr (prIdent n)]
|
|
||||||
g t = [fmtOut fmt `ass` f t]
|
|
||||||
f (CFObj n ts) =
|
|
||||||
JS.ESeq $ [ret `ass` JS.ENew (JS.Ident "Object") [],
|
|
||||||
field ret "name" `ass` JS.EStr (prIdent n)]
|
|
||||||
++ [field ret ("arg"++show i) `ass` f t
|
|
||||||
| (i,t) <- zip [0..] ts ]
|
|
||||||
++ [ret]
|
|
||||||
where ret = JS.EVar (JS.Ident "ret")
|
|
||||||
f (CFAbs v x) = JS.EFun [var v] [JS.SReturn (f x)]
|
f (CFAbs v x) = JS.EFun [var v] [JS.SReturn (f x)]
|
||||||
f (CFApp x y) = JS.ECall (f x) [f y]
|
f (CFApp x y) = JS.ECall (f x) [f y]
|
||||||
f (CFRes i) = JS.EIndex (JS.EVar children) (JS.EInt (fromIntegral i))
|
f (CFRes i) = JS.EIndex (JS.EVar children) (JS.EInt (fromIntegral i))
|
||||||
f (CFVar v) = JS.EVar (var v)
|
f (CFVar v) = JS.EVar (var v)
|
||||||
f (CFConst s) = JS.EStr s
|
f (CFConst s) = JS.EStr s
|
||||||
|
f CFMeta = tree "?" []
|
||||||
|
|
||||||
fmtOut SISROld = JS.EVar (JS.Ident "$")
|
fmtOut SISROld = JS.EVar (JS.Ident "$")
|
||||||
|
|
||||||
@@ -89,4 +80,7 @@ var v = JS.Ident ("x" ++ show v)
|
|||||||
|
|
||||||
field x y = JS.EMember x (JS.Ident y)
|
field x y = JS.EMember x (JS.Ident y)
|
||||||
|
|
||||||
ass = JS.EAssign
|
ass = JS.EAssign
|
||||||
|
|
||||||
|
tree n xs = JS.EObj $ [JS.Prop (JS.Ident "name") (JS.EStr n)]
|
||||||
|
++ [JS.Prop (JS.Ident ("arg"++show i)) x | (i,x) <- zip [0..] xs]
|
||||||
@@ -54,6 +54,7 @@ data CFTerm
|
|||||||
| CFRes Int
|
| CFRes Int
|
||||||
| CFVar Int
|
| CFVar Int
|
||||||
| CFConst String
|
| CFConst String
|
||||||
|
| CFMeta
|
||||||
deriving (Eq,Show)
|
deriving (Eq,Show)
|
||||||
|
|
||||||
type Cat_ = String
|
type Cat_ = String
|
||||||
@@ -69,7 +70,7 @@ cfgToCFRules cfg =
|
|||||||
where symb = mapSymbol catToString id
|
where symb = mapSymbol catToString id
|
||||||
catToString = prt
|
catToString = prt
|
||||||
nameToTerm (Name f prs) = CFObj f (map profileToTerm prs)
|
nameToTerm (Name f prs) = CFObj f (map profileToTerm prs)
|
||||||
profileToTerm (Unify []) = CFConst "?"
|
profileToTerm (Unify []) = CFMeta
|
||||||
profileToTerm (Unify xs) = CFRes (last xs) -- FIXME: unify
|
profileToTerm (Unify xs) = CFRes (last xs) -- FIXME: unify
|
||||||
profileToTerm (Constant f) = CFConst (maybe "?" prIdent (forestName f))
|
profileToTerm (Constant f) = CFConst (maybe "?" prIdent (forestName f))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user