Spaces:
Runtime error
Runtime error
| { | |
| "name": "ql", | |
| "word": "_lower_id", | |
| "rules": { | |
| "ql": { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "moduleMember" | |
| } | |
| }, | |
| "module": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "module" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "moduleName" | |
| } | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "<" | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "parameter", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "moduleParam" | |
| } | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "parameter", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "moduleParam" | |
| } | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ">" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "implements" | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "implements", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "signatureExpr" | |
| } | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "implements", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "signatureExpr" | |
| } | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "{" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "moduleMember" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "}" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "moduleAliasBody" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "moduleMember": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "annotation" | |
| } | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "importDirective" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "classlessPredicate" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "dataclass" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "datatype" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "select" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "module" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "qldoc" | |
| } | |
| ] | |
| }, | |
| "importDirective": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "import" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "importModuleExpr" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "as" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "moduleName" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "moduleAliasBody": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "=" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "moduleExpr" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ";" | |
| } | |
| ] | |
| }, | |
| "predicateAliasBody": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "=" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "predicateExpr" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ";" | |
| } | |
| ] | |
| }, | |
| "typeAliasBody": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "=" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ";" | |
| } | |
| ] | |
| }, | |
| "typeUnionBody": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "=" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "or" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "or" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ";" | |
| } | |
| ] | |
| }, | |
| "classlessPredicate": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "returnType", | |
| "content": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "predicate" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "predicateName" | |
| } | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_optbody" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "predicateAliasBody" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "datatype": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "newtype" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "className" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "=" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "datatypeBranches" | |
| } | |
| ] | |
| }, | |
| "datatypeBranches": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "datatypeBranch" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "or" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "datatypeBranch" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| "datatypeBranch": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "qldoc" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "annotation" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "className" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "body" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "select": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "from" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "where" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "select" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "asExprs" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "orderBys" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "dataclass": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "class" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "className" | |
| } | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "extends", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "extends" | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "instanceof", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "instanceof" | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "{" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "classMember" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "}" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ";" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeAliasBody" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeUnionBody" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "classMember": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "annotation" | |
| } | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "charpred" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "memberPredicate" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "field" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "qldoc" | |
| } | |
| ] | |
| }, | |
| "charpred": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "className" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "{" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "body", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "}" | |
| } | |
| ] | |
| }, | |
| "memberPredicate": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "returnType", | |
| "content": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "predicate" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "predicateName" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_optbody" | |
| } | |
| ] | |
| }, | |
| "field": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ";" | |
| } | |
| ] | |
| }, | |
| "_optbody": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "empty" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "body" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "higherOrderTerm" | |
| } | |
| ] | |
| }, | |
| "empty": { | |
| "type": "STRING", | |
| "value": ";" | |
| }, | |
| "body": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "{" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "}" | |
| } | |
| ] | |
| }, | |
| "higherOrderTerm": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "=" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "literalId" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "predicateExpr" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "predicateExpr" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_call_arg" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_call_arg" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| } | |
| ] | |
| }, | |
| "special_call": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "specialId" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| } | |
| ] | |
| }, | |
| "prefix_cast": { | |
| "type": "PREC_DYNAMIC", | |
| "value": 10, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| ] | |
| } | |
| }, | |
| "unary_expr": { | |
| "type": "PREC_LEFT", | |
| "value": 9, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "unop" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| ] | |
| } | |
| }, | |
| "mul_expr": { | |
| "type": "PREC_LEFT", | |
| "value": 9, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "left", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "mulop" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "right", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "add_expr": { | |
| "type": "PREC_LEFT", | |
| "value": 8, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "left", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "addop" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "right", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "in_expr": { | |
| "type": "PREC_LEFT", | |
| "value": 7, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "left", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "in" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "right", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_primary" | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "comp_term": { | |
| "type": "PREC_LEFT", | |
| "value": 6, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "left", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "compop" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "right", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "instance_of": { | |
| "type": "PREC_LEFT", | |
| "value": 5, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "instanceof" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| } | |
| ] | |
| } | |
| }, | |
| "negation": { | |
| "type": "PREC_LEFT", | |
| "value": 4, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "not" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| ] | |
| } | |
| }, | |
| "if_term": { | |
| "type": "PREC_LEFT", | |
| "value": 3, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "if" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "cond", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "then" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "first", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "else" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "second", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "conjunction": { | |
| "type": "PREC_LEFT", | |
| "value": 3, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "left", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "and" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "right", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "disjunction": { | |
| "type": "PREC_LEFT", | |
| "value": 2, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "left", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "or" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "right", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "implication": { | |
| "type": "PREC_LEFT", | |
| "value": 1, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "left", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "implies" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "right", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| "quantified": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "quantifier" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "|" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "range", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "|" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "formula", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "expr", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| } | |
| ] | |
| }, | |
| "specialId": { | |
| "type": "STRING", | |
| "value": "none" | |
| }, | |
| "quantifier": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "exists" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "forall" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "forex" | |
| } | |
| ] | |
| }, | |
| "_call_arg": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "underscore" | |
| } | |
| ] | |
| }, | |
| "underscore": { | |
| "type": "STRING", | |
| "value": "_" | |
| }, | |
| "qualifiedRhs": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "predicateName" | |
| } | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "closure" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_call_arg" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_call_arg" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "call_body": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_call_arg" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_call_arg" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| } | |
| ] | |
| }, | |
| "unqual_agg_body": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "|" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "guard", | |
| "content": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "asExprs", | |
| "content": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "|" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "asExprs" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| } | |
| ] | |
| }, | |
| "_call_or_unqual_agg_body": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "call_body" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "unqual_agg_body" | |
| } | |
| ] | |
| }, | |
| "call_or_unqual_agg_expr": { | |
| "type": "PREC_DYNAMIC", | |
| "value": 10, | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "aritylessPredicateExpr" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "closure" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_call_or_unqual_agg_body" | |
| } | |
| ] | |
| } | |
| }, | |
| "qualified_expr": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_primary" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "." | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "qualifiedRhs" | |
| } | |
| ] | |
| }, | |
| "super_ref": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "." | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "super" | |
| } | |
| ] | |
| }, | |
| "full_aggregate_body": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "|" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "guard", | |
| "content": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "|" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "asExprs", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "asExprs" | |
| } | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "orderBys", | |
| "content": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "orderBys" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varDecl" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "expr_aggregate_body": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "asExprs", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "asExprs" | |
| } | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "orderBys", | |
| "content": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "orderBys" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| "aggregate": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "aggId" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "[" | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "]" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "full_aggregate_body" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "expr_aggregate_body" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| } | |
| ] | |
| }, | |
| "range": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "[" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "lower", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ".." | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "upper", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "]" | |
| } | |
| ] | |
| }, | |
| "set_literal": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "[" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "]" | |
| } | |
| ] | |
| }, | |
| "par_expr": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| } | |
| ] | |
| }, | |
| "expr_annotation": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "annotName" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "[" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "annot_arg", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "annotName" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "]" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "(" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ")" | |
| } | |
| ] | |
| }, | |
| "_exprOrTerm": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "special_call" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "prefix_cast" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_primary" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "unary_expr" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "mul_expr" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "add_expr" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "in_expr" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "comp_term" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "instance_of" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "negation" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "if_term" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "conjunction" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "disjunction" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "implication" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "quantified" | |
| } | |
| ] | |
| }, | |
| "_primary": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "call_or_unqual_agg_expr" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "qualified_expr" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "literal" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "variable" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "super_ref" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "aggregate" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "range" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "set_literal" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "par_expr" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "expr_annotation" | |
| } | |
| ] | |
| }, | |
| "literal": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "integer" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "float" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "bool" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "string" | |
| } | |
| ] | |
| }, | |
| "bool": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "true" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "false" | |
| } | |
| ] | |
| }, | |
| "variable": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "this" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "result" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varName" | |
| } | |
| ] | |
| }, | |
| "compop": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "=" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "!=" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "<" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ">" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "<=" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ">=" | |
| } | |
| ] | |
| }, | |
| "unop": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "+" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "-" | |
| } | |
| ] | |
| }, | |
| "mulop": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "*" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "/" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "%" | |
| } | |
| ] | |
| }, | |
| "addop": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "+" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "-" | |
| } | |
| ] | |
| }, | |
| "closure": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "*" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "+" | |
| } | |
| ] | |
| }, | |
| "direction": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "asc" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "desc" | |
| } | |
| ] | |
| }, | |
| "varDecl": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varName" | |
| } | |
| ] | |
| }, | |
| "moduleParam": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "signature", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "signatureExpr" | |
| } | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "parameter", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "simpleId" | |
| } | |
| } | |
| ] | |
| }, | |
| "asExprs": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "asExpr" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "asExpr" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| "asExpr": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "as" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "varName" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "orderBys": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "order" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "by" | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "orderBy" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "orderBy" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "orderBy": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_exprOrTerm" | |
| }, | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "direction" | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "qldoc": { | |
| "type": "PATTERN", | |
| "value": "\\/\\*\\*[^*]*\\*+([^/*][^*]*\\*+)*\\/" | |
| }, | |
| "literalId": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_lower_id" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_upper_id" | |
| } | |
| ] | |
| }, | |
| "annotation": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "annotName" | |
| } | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "annotName" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "[" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "args", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "annotArg" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "annotArg" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "]" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "annotName": { | |
| "type": "SYMBOL", | |
| "name": "_lower_id" | |
| }, | |
| "annotArg": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "simpleId" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "this" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "result" | |
| } | |
| ] | |
| }, | |
| "moduleName": { | |
| "type": "SYMBOL", | |
| "name": "simpleId" | |
| }, | |
| "importModuleExpr": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "qualName", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "simpleId" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "." | |
| } | |
| ] | |
| } | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "moduleExpr" | |
| } | |
| ] | |
| }, | |
| "moduleExpr": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "simpleId" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "moduleInstantiation" | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "moduleExpr" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "::" | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "simpleId" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "moduleInstantiation" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "moduleInstantiation": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "moduleName" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "<" | |
| }, | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "signatureExpr" | |
| }, | |
| { | |
| "type": "REPEAT", | |
| "content": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "," | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "signatureExpr" | |
| } | |
| ] | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": ">" | |
| } | |
| ] | |
| }, | |
| "primitiveType": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "boolean" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "date" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "float" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "int" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "string" | |
| } | |
| ] | |
| }, | |
| "simpleId": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "_lower_id" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "_upper_id" | |
| } | |
| ] | |
| }, | |
| "className": { | |
| "type": "SYMBOL", | |
| "name": "_upper_id" | |
| }, | |
| "dbtype": { | |
| "type": "PATTERN", | |
| "value": "@[a-z][A-Za-z0-9_]*" | |
| }, | |
| "typeExpr": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "qualifier", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "moduleExpr" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "::" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "className" | |
| } | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "dbtype" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "primitiveType" | |
| } | |
| ] | |
| }, | |
| "signatureExpr": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "type_expr", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "typeExpr" | |
| } | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "mod_expr", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "moduleExpr" | |
| } | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "predicate", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "predicateExpr" | |
| } | |
| } | |
| ] | |
| }, | |
| "predicateName": { | |
| "type": "SYMBOL", | |
| "name": "_lower_id" | |
| }, | |
| "aritylessPredicateExpr": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "FIELD", | |
| "name": "qualifier", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "moduleExpr" | |
| } | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "::" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "BLANK" | |
| } | |
| ] | |
| }, | |
| { | |
| "type": "FIELD", | |
| "name": "name", | |
| "content": { | |
| "type": "SYMBOL", | |
| "name": "literalId" | |
| } | |
| } | |
| ] | |
| }, | |
| "predicateExpr": { | |
| "type": "SEQ", | |
| "members": [ | |
| { | |
| "type": "SYMBOL", | |
| "name": "aritylessPredicateExpr" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "/" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "integer" | |
| } | |
| ] | |
| }, | |
| "varName": { | |
| "type": "SYMBOL", | |
| "name": "simpleId" | |
| }, | |
| "aggId": { | |
| "type": "CHOICE", | |
| "members": [ | |
| { | |
| "type": "STRING", | |
| "value": "avg" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "concat" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "strictconcat" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "count" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "max" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "min" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "rank" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "strictcount" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "strictsum" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "sum" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "any" | |
| }, | |
| { | |
| "type": "STRING", | |
| "value": "unique" | |
| } | |
| ] | |
| }, | |
| "_upper_id": { | |
| "type": "PATTERN", | |
| "value": "[A-Z][A-Za-z0-9_]*" | |
| }, | |
| "_lower_id": { | |
| "type": "PATTERN", | |
| "value": "[a-z][A-Za-z0-9_]*" | |
| }, | |
| "integer": { | |
| "type": "PATTERN", | |
| "value": "[0-9]+" | |
| }, | |
| "float": { | |
| "type": "PATTERN", | |
| "value": "[0-9]+\\.[0-9]+" | |
| }, | |
| "string": { | |
| "type": "PATTERN", | |
| "value": "\"([^\"\\\\\\r\\n\\t]|\\\\[\"\\\\nrt])*\"" | |
| }, | |
| "line_comment": { | |
| "type": "PATTERN", | |
| "value": "\\/\\/[^\\r\\n]*" | |
| }, | |
| "block_comment": { | |
| "type": "PATTERN", | |
| "value": "\\/\\*([^*]+\\*+([^/*][^*]*\\*+)*|\\*)\\/" | |
| }, | |
| "false": { | |
| "type": "STRING", | |
| "value": "false" | |
| }, | |
| "predicate": { | |
| "type": "STRING", | |
| "value": "predicate" | |
| }, | |
| "result": { | |
| "type": "STRING", | |
| "value": "result" | |
| }, | |
| "super": { | |
| "type": "STRING", | |
| "value": "super" | |
| }, | |
| "this": { | |
| "type": "STRING", | |
| "value": "this" | |
| }, | |
| "true": { | |
| "type": "STRING", | |
| "value": "true" | |
| } | |
| }, | |
| "extras": [ | |
| { | |
| "type": "PATTERN", | |
| "value": "[ \\t\\r\\n]" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "line_comment" | |
| }, | |
| { | |
| "type": "SYMBOL", | |
| "name": "block_comment" | |
| } | |
| ], | |
| "conflicts": [ | |
| [ | |
| "simpleId", | |
| "className" | |
| ], | |
| [ | |
| "simpleId", | |
| "literalId" | |
| ], | |
| [ | |
| "moduleName", | |
| "varName" | |
| ], | |
| [ | |
| "simpleId", | |
| "moduleInstantiation" | |
| ], | |
| [ | |
| "className", | |
| "moduleInstantiation" | |
| ] | |
| ], | |
| "precedences": [], | |
| "externals": [], | |
| "inline": [], | |
| "supertypes": [] | |
| } | |