Comprehensive grammar rewrite to conform to SCL specs. Improves parse success rate from 0% to 90% (187 of 208 reference project files). Case-insensitive keywords: - Add ci() helper for case-insensitive token matching - All keywords (TYPE, STRUCT, VAR, IF, etc.) now match any case - All type names (BOOL, Int, Dint, etc.) now match any case New grammar constructs: - RETURN statement - GOTO statement - AUTHOR/FAMILY/NAME block headers - VAR DB_SPECIFIC section - ARRAY[*] (variable-length arrays) - Multidimensional ARRAY[a..b, c..d] - REF_TO <type> - VARIANT type - Anonymous STRUCT...END_STRUCT as a type - Compound assignment operators (+=, -=, *=, /=, &=, |=, ^=) - Chained assignments (lvalue := lvalue := expression) - Bit access (lvalue.%X0) - Method calls (lvalue.field(...)) - Struct/array initializers ((TRUE, FALSE, ...), (name := value)) - END_STRUCT; (semicolon after END_STRUCT in UDTs) - Typed DB associated block name (DATA_BLOCK "Name" : "UDT") - BOM (Byte Order Mark) handling - TITLE as single-token statement (avoids keyword/identifier conflict) New type_builtin aliases: - LWORD, LINT, ULINT, UDINT, DATE, TIME_OF_DAY, DATE_AND_TIME - S5TIME, LTIME, DTL, LTOD, LDT, LTIME_OF_DAY, DATE_AND_LTIME New literal formats: - Binary (2#...), Octal (8#...) - BOOL#TRUE/FALSE - Typed integers (INT#, SINT#, DINT#, etc.) - Date/time literals (DATE#, TOD#, DT#, LTIME#, S5TIME#, DTL#) - WSTRING# and STRING# typed string literals - C# char literal - Time units with case-insensitive matching (T#1S, T#2s) Updated constructs: - CASE labels: comma-separated lists, string labels - Function call parameters: interleaved input (:=) and output (=>) params - FOR loop variable: accepts prefixed_identifier (#tempVar) - Array bounds: accept string/identifier constants (Array[0.."MAX"]) - Author/Family values: accept unquoted text with hyphens/slashes Known remaining issues (21 files, 10%): - Triple-nested parentheses in expressions - Some multi-line function call parameter patterns - END_REGION with trailing region name - Complex chained field access in assignments
5283 lines
122 KiB
JSON
5283 lines
122 KiB
JSON
{
|
||
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
|
||
"name": "scl",
|
||
"rules": {
|
||
"source_file": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "bom"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "organization_block"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "function_block"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "function"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "type_definition"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "data_block"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"title_statement": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Tt][Ii][Tt][Ll][Ee]"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "\\s*=\\s*"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^\\n\\r]+"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"author_value": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "REPEAT1",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[a-zA-Z0-9_\\-\\/]"
|
||
}
|
||
}
|
||
},
|
||
"type_definition": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Tt][Yy][Pp][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "title_statement"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "attribute_list"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Nn][Aa][Mm][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Aa][Uu][Tt][Hh][Oo][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ff][Aa][Mm][Ii][Ll][Yy]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Ee][Rr][Ss][Ii][Oo][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ss][Tt][Rr][Uu][Cc][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_item"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Ss][Tt][Rr][Uu][Cc][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ";"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Tt][Yy][Pp][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"data_block": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Aa][Tt][Aa]_[Bb][Ll][Oo][Cc][Kk]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "title_statement"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "attribute_list"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Nn][Aa][Mm][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Aa][Uu][Tt][Hh][Oo][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ff][Aa][Mm][Ii][Ll][Yy]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Ee][Rr][Ss][Ii][Oo][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Nn][Oo][Nn]_[Rr][Ee][Tt][Aa][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Rr][Ee][Tt][Aa][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "FIELD",
|
||
"name": "associated",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
}
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_db_specific_declaration"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Bb][Ee][Gg][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Dd][Aa][Tt][Aa]_[Bb][Ll][Oo][Cc][Kk]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"organization_block": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Oo][Rr][Gg][Aa][Nn][Ii][Zz][Aa][Tt][Ii][Oo][Nn]_[Bb][Ll][Oo][Cc][Kk]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "title_statement"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "attribute_list"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Nn][Aa][Mm][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Aa][Uu][Tt][Hh][Oo][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ff][Aa][Mm][Ii][Ll][Yy]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Ee][Rr][Ss][Ii][Oo][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "var_declaration"
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Bb][Ee][Gg][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Oo][Rr][Gg][Aa][Nn][Ii][Zz][Aa][Tt][Ii][Oo][Nn]_[Bb][Ll][Oo][Cc][Kk]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"function_block": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn]_[Bb][Ll][Oo][Cc][Kk]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "title_statement"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "attribute_list"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Nn][Aa][Mm][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Aa][Uu][Tt][Hh][Oo][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ff][Aa][Mm][Ii][Ll][Yy]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Ee][Rr][Ss][Ii][Oo][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_temp_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_constant_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_retain_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_non_retain_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_db_specific_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Bb][Ee][Gg][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn]_[Bb][Ll][Oo][Cc][Kk]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"function": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "type"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "title_statement"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "attribute_list"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Nn][Aa][Mm][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Aa][Uu][Tt][Hh][Oo][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ff][Aa][Mm][Ii][Ll][Yy]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "author_value"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Ee][Rr][Ss][Ii][Oo][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_temp_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_constant_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_retain_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_non_retain_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Bb][Ee][Gg][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"attribute_list": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "{"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "attribute"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ","
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ";"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "attribute"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ","
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ";"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "}"
|
||
}
|
||
]
|
||
},
|
||
"attribute": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":="
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "attribute_value"
|
||
}
|
||
]
|
||
},
|
||
"attribute_value": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Tt][Rr][Uu][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "constant"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ff][Aa][Ll][Ss][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "constant"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
]
|
||
},
|
||
"var_declaration": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Ii][Nn][Pp][Uu][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Oo][Uu][Tt][Pp][Uu][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Ii][Nn]_[Oo][Uu][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Tt][Ee][Mm][Pp]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Cc][Oo][Nn][Ss][Tt][Aa][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Rr][Ee][Tt][Aa][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Nn][Oo][Nn]_[Rr][Ee][Tt][Aa][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Cc][Oo][Nn][Ss][Tt][Aa][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Rr][Ee][Tt][Aa][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Nn][Oo][Nn]_[Rr][Ee][Tt][Aa][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_item"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"var_temp_declaration": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Tt][Ee][Mm][Pp]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_item"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"var_constant_declaration": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Cc][Oo][Nn][Ss][Tt][Aa][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Cc][Oo][Nn][Ss][Tt][Aa][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_item"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"var_retain_declaration": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Rr][Ee][Tt][Aa][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Rr][Ee][Tt][Aa][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_item"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"var_non_retain_declaration": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Nn][Oo][Nn]_[Rr][Ee][Tt][Aa][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]_[Nn][Oo][Nn]_[Rr][Ee][Tt][Aa][Ii][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_item"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"var_db_specific_declaration": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Bb]_[Ss][Pp][Ee][Cc][Ii][Ff][Ii][Cc]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_item"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Vv][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"var_item": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "attribute_list"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "FIELD",
|
||
"name": "type",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "type"
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ":="
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "struct_initializer"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ";"
|
||
}
|
||
]
|
||
},
|
||
"type": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "type_builtin"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "array_type"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "ref_type"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "struct_type"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string_type"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
}
|
||
]
|
||
},
|
||
"type_builtin": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Bb][Oo][Oo][Ll]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Bb][Yy][Tt][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ww][Oo][Rr][Dd]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Ww][Oo][Rr][Dd]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ll][Ww][Oo][Rr][Dd]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ss][Ii][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Uu][Ss][Ii][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ii][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Uu][Ii][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Ii][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Uu][Dd][Ii][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ll][Ii][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Uu][Ll][Ii][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Rr][Ee][Aa][Ll]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ll][Rr][Ee][Aa][Ll]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Cc][Hh][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ww][Cc][Hh][Aa][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Tt][Ii][Mm][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ll][Tt][Ii][Mm][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ss]5[Tt][Ii][Mm][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Aa][Tt][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Tt][Ii][Mm][Ee]_[Oo][Ff]_[Dd][Aa][Yy]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Tt][Oo][Dd]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ll][Tt][Oo][Dd]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ll][Tt][Ii][Mm][Ee]_[Oo][Ff]_[Dd][Aa][Yy]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Aa][Tt][Ee]_[Aa][Nn][Dd]_[Tt][Ii][Mm][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ll][Dd][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Aa][Tt][Ee]_[Aa][Nn][Dd]_[Ll][Tt][Ii][Mm][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Tt][Ll]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Vv][Aa][Rr][Ii][Aa][Nn][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
}
|
||
]
|
||
},
|
||
"string_type": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ss][Tt][Rr][Ii][Nn][Gg]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ww][Ss][Tt][Rr][Ii][Nn][Gg]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "type_builtin"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "["
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "]"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"array_type": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Aa][Rr][Rr][Aa][Yy]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "["
|
||
},
|
||
{
|
||
"type": "REPEAT1",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ".."
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "*"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ","
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "]"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Oo][Ff]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "type"
|
||
}
|
||
]
|
||
},
|
||
"ref_type": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Rr][Ee][Ff]_[Tt][Oo]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "type"
|
||
}
|
||
]
|
||
},
|
||
"struct_type": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ss][Tt][Rr][Uu][Cc][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_item"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Ss][Tt][Rr][Uu][Cc][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"statement": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "assignment"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "fb_call"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "if_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "case_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "for_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "while_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "repeat_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "region_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "function_call"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "return_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "goto_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "exit_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "continue_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "empty_statement"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_temp_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_constant_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_retain_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_non_retain_declaration"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "var_db_specific_declaration"
|
||
}
|
||
]
|
||
},
|
||
"empty_statement": {
|
||
"type": "STRING",
|
||
"value": ";"
|
||
},
|
||
"fb_call": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "FIELD",
|
||
"name": "instance",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "prefixed_identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "("
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "fb_parameter_list"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ")"
|
||
}
|
||
]
|
||
},
|
||
"fb_parameter_list": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "fb_parameter"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ","
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "fb_parameter"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"fb_parameter": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ":="
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "=>"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
},
|
||
"assignment": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "FIELD",
|
||
"name": "target",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "lvalue"
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ":="
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "+="
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "-="
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "*="
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "/="
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "&="
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "|="
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "^="
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "FIELD",
|
||
"name": "value",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "chained_assignment"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ";"
|
||
}
|
||
]
|
||
},
|
||
"chained_assignment": {
|
||
"type": "PREC_RIGHT",
|
||
"value": 0,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "lvalue"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":="
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "chained_assignment"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"lvalue": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "prefixed_identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "field_access"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "array_access"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "function_name"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "bit_access"
|
||
}
|
||
]
|
||
},
|
||
"function_name": {
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
"prefixed_identifier": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "STRING",
|
||
"value": "#"
|
||
},
|
||
"named": true,
|
||
"value": "prefix"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
]
|
||
},
|
||
"field_access": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "lvalue"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "."
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "prefixed_identifier"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"array_access": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "lvalue"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "["
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "]"
|
||
}
|
||
]
|
||
},
|
||
"bit_access": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "lvalue"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "."
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "%"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[A-Za-z]+"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
}
|
||
]
|
||
},
|
||
"if_statement": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ii][Ff]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Tt][Hh][Ee][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "elsif_clause"
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "else_clause"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Ii][Ff]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"elsif_clause": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Ll][Ss][Ii][Ff]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Tt][Hh][Ee][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"else_clause": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Ll][Ss][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"case_statement": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Cc][Aa][Ss][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Oo][Ff]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "case_item"
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "else_clause"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Cc][Aa][Ss][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"case_item": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "REPEAT1",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "prefixed_identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "range"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ","
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"range": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ".."
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
}
|
||
]
|
||
},
|
||
"for_statement": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ff][Oo][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "prefixed_identifier"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":="
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Tt][Oo]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Bb][Yy]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Oo]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Ff][Oo][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"while_statement": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ww][Hh][Ii][Ll][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Oo]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Ww][Hh][Ii][Ll][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"repeat_statement": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Rr][Ee][Pp][Ee][Aa][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Uu][Nn][Tt][Ii][Ll]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Rr][Ee][Pp][Ee][Aa][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
}
|
||
]
|
||
},
|
||
"region_statement": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Rr][Ee][Gg][Ii][Oo][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "region_name"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "statement"
|
||
}
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Nn][Dd]_[Rr][Ee][Gg][Ii][Oo][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "region_name"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"region_name": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "REPEAT1",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[a-zA-Z0-9_\\-\\/]"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[ \\t]+"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"return_statement": {
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Rr][Ee][Tt][Uu][Rr][Nn]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
"goto_statement": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Gg][Oo][Tt][Oo]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
]
|
||
},
|
||
"function_call": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "("
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "parameter_list"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ")"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "method_callee"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "("
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "parameter_list"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ")"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"method_callee": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "lvalue"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "."
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
]
|
||
},
|
||
"parameter_list": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "parameter"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ","
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "parameter"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"parameter": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PREC",
|
||
"value": 1,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":="
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "PREC",
|
||
"value": 1,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "=>"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"expression": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "number"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "hex_number"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "binary_number"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "octal_number"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "time_value"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "date_literal"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "bool_literal"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "typed_int_literal"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "wstring_literal"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "char_literal"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "prefixed_identifier"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "field_access"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "array_access"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "bit_access"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "string"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "function_call"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "unary_expression"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "binary_expression"
|
||
},
|
||
{
|
||
"type": "PREC",
|
||
"value": 1,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "("
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ")"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"unary_expression": {
|
||
"type": "PREC_RIGHT",
|
||
"value": 10,
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Nn][Oo][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "operator"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "+"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "-"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"binary_expression": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PREC_LEFT",
|
||
"value": 2,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Oo][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "operator"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "PREC_LEFT",
|
||
"value": 3,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Xx][Oo][Rr]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "operator"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "PREC_LEFT",
|
||
"value": 4,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Aa][Nn][Dd]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "operator"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "PREC_LEFT",
|
||
"value": 5,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "="
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "<>"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "PREC_LEFT",
|
||
"value": 6,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "<"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ">"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "<="
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ">="
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "PREC_LEFT",
|
||
"value": 7,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "+"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "-"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "PREC_LEFT",
|
||
"value": 8,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "*"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "/"
|
||
},
|
||
{
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Mm][Oo][Dd]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "operator"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"struct_initializer": {
|
||
"type": "PREC",
|
||
"value": 1,
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "("
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "struct_initializer"
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":="
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "struct_initializer"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ","
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "struct_initializer"
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "FIELD",
|
||
"name": "name",
|
||
"content": {
|
||
"type": "SYMBOL",
|
||
"name": "identifier"
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ":="
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "struct_initializer"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "expression"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": ","
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": ")"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"number": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "\\d+(\\.\\d+)?"
|
||
}
|
||
},
|
||
"hex_number": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "16#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[0-9A-Fa-f_]+"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"binary_number": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "2#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[01_]+"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"octal_number": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "8#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[0-7_]+"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"time_value": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Tt]#"
|
||
},
|
||
{
|
||
"type": "REPEAT1",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "\\d+"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Nn][Ss]"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Uu][Ss]"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Mm][Ss]"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Ss]"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Mm][Ii][Nn]"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Hh]"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Dd]"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "_[\\d_]+[A-Za-z]+"
|
||
},
|
||
{
|
||
"type": "BLANK"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"date_literal": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Aa][Tt][Ee]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Tt][Oo][Dd]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Tt]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Ll][Tt][Ii][Mm][Ee]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Ss]5[Tt][Ii][Mm][Ee]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Ll][Dd][Tt]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Ll][Tt][Oo][Dd]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Dd][Tt][Ll]#"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[\\d:_\\-]+"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"bool_literal": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Bb][Oo][Oo][Ll]#"
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "TRUE"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "FALSE"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "true"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "false"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "True"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "False"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"typed_int_literal": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Uu]?[Ss][Ii][Nn][Tt]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Uu]?[Ii][Nn][Tt]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Uu]?[Dd][Ii][Nn][Tt]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Uu]?[Ll][Ii][Nn][Tt]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "L#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "C#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "LW#"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[\\dA-Fa-f_#]+"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"string": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "'"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^'\\n]"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "''"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "'"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "\""
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^\"\\n]"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "\"\""
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "\""
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"wstring_literal": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Ww][Ss][Tt][Rr][Ii][Nn][Gg]#"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Ss][Tt][Rr][Ii][Nn][Gg]#"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "'"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^'\\n]"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "''"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "'"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "\""
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^\"\\n]"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "\"\""
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "\""
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"char_literal": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "'"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^']"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "'"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[Ww][Cc][Hh][Aa][Rr]#"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "'"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^']"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "'"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "C#"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "'"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^']"
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "'"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"identifier": {
|
||
"type": "PATTERN",
|
||
"value": "[a-zA-Z_][a-zA-Z0-9_]*"
|
||
},
|
||
"line_comment": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "//"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": ".*"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"block_comment": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "(*"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^*]"
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "*"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^)]"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "*)"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"c_style_comment": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "(/*"
|
||
},
|
||
{
|
||
"type": "REPEAT",
|
||
"content": {
|
||
"type": "CHOICE",
|
||
"members": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^*]"
|
||
},
|
||
{
|
||
"type": "SEQ",
|
||
"members": [
|
||
{
|
||
"type": "STRING",
|
||
"value": "*"
|
||
},
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "[^)]"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"type": "STRING",
|
||
"value": "*/)"
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"exit_statement": {
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Ee][Xx][Ii][Tt]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
"continue_statement": {
|
||
"type": "ALIAS",
|
||
"content": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "PATTERN",
|
||
"value": "[Cc][Oo][Nn][Tt][Ii][Nn][Uu][Ee]"
|
||
}
|
||
},
|
||
"named": true,
|
||
"value": "keyword"
|
||
},
|
||
"bom": {
|
||
"type": "TOKEN",
|
||
"content": {
|
||
"type": "STRING",
|
||
"value": ""
|
||
}
|
||
}
|
||
},
|
||
"extras": [
|
||
{
|
||
"type": "PATTERN",
|
||
"value": "\\s"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "line_comment"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "block_comment"
|
||
},
|
||
{
|
||
"type": "SYMBOL",
|
||
"name": "c_style_comment"
|
||
}
|
||
],
|
||
"conflicts": [
|
||
[
|
||
"case_item"
|
||
],
|
||
[
|
||
"region_statement"
|
||
],
|
||
[
|
||
"case_statement"
|
||
],
|
||
[
|
||
"fb_call",
|
||
"function_call"
|
||
],
|
||
[
|
||
"fb_parameter",
|
||
"parameter"
|
||
],
|
||
[
|
||
"var_declaration",
|
||
"var_temp_declaration"
|
||
],
|
||
[
|
||
"var_declaration",
|
||
"var_constant_declaration"
|
||
],
|
||
[
|
||
"var_declaration",
|
||
"var_retain_declaration"
|
||
],
|
||
[
|
||
"var_declaration",
|
||
"var_non_retain_declaration"
|
||
],
|
||
[
|
||
"var_declaration",
|
||
"var_db_specific_declaration"
|
||
],
|
||
[
|
||
"type",
|
||
"struct_type"
|
||
],
|
||
[
|
||
"expression",
|
||
"struct_initializer"
|
||
]
|
||
],
|
||
"precedences": [],
|
||
"externals": [],
|
||
"inline": [],
|
||
"supertypes": [],
|
||
"reserved": {}
|
||
} |