2021-06-07 20:50:00 +02:00
|
|
|
{
|
2025-02-16 14:35:02 +01:00
|
|
|
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json",
|
2021-06-07 20:50:00 +02:00
|
|
|
"name": "hcl",
|
|
|
|
|
"rules": {
|
|
|
|
|
"config_file": {
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2023-07-25 19:04:47 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "body"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "object"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-20 00:03:58 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-07 20:50:00 +02:00
|
|
|
},
|
|
|
|
|
"body": {
|
2023-04-08 15:36:10 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2023-07-25 19:04:47 +02:00
|
|
|
"type": "REPEAT1",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "attribute"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "block"
|
2023-04-08 15:36:10 +02:00
|
|
|
}
|
2023-07-25 19:04:47 +02:00
|
|
|
]
|
|
|
|
|
}
|
2023-04-08 15:36:10 +02:00
|
|
|
}
|
|
|
|
|
]
|
2021-06-19 16:56:35 +02:00
|
|
|
},
|
2021-06-20 00:03:58 +02:00
|
|
|
"attribute": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "identifier"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "="
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-07 20:50:00 +02:00
|
|
|
},
|
2021-06-20 00:03:58 +02:00
|
|
|
"block": {
|
2021-06-19 21:01:03 +02:00
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "identifier"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "REPEAT",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "string_lit"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "identifier"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-04 10:40:40 +02:00
|
|
|
"name": "block_start"
|
2021-06-19 21:01:03 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "body"
|
2021-06-19 21:01:03 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-04 10:40:40 +02:00
|
|
|
"name": "block_end"
|
2021-06-19 21:01:03 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-07-04 10:40:40 +02:00
|
|
|
"block_start": {
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "{"
|
|
|
|
|
},
|
2021-07-04 10:40:40 +02:00
|
|
|
"block_end": {
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "}"
|
|
|
|
|
},
|
2021-06-08 00:12:25 +02:00
|
|
|
"identifier": {
|
|
|
|
|
"type": "TOKEN",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "PATTERN",
|
2021-06-27 12:22:06 +02:00
|
|
|
"value": "\\p{ID_Start}"
|
2021-06-20 00:03:58 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "_"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-08 00:12:25 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "REPEAT",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "PATTERN",
|
2021-06-27 12:22:06 +02:00
|
|
|
"value": "\\p{ID_Continue}"
|
2021-06-08 00:12:25 +02:00
|
|
|
},
|
|
|
|
|
{
|
2021-06-27 12:22:06 +02:00
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "-"
|
2024-06-23 08:19:49 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "::"
|
2021-06-08 00:12:25 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2021-06-07 20:50:00 +02:00
|
|
|
"expression": {
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "PREC_RIGHT",
|
|
|
|
|
"value": 0,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_expr_term"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "conditional"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2021-06-07 20:50:00 +02:00
|
|
|
},
|
2021-06-17 19:39:46 +02:00
|
|
|
"_expr_term": {
|
2021-06-07 20:50:00 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "literal_value"
|
|
|
|
|
},
|
2021-06-14 00:55:24 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_expr"
|
|
|
|
|
},
|
2021-06-08 00:04:05 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "collection_value"
|
|
|
|
|
},
|
2021-06-07 20:50:00 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "variable_expr"
|
|
|
|
|
},
|
2021-06-11 23:32:22 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "function_call"
|
|
|
|
|
},
|
2021-06-08 22:32:42 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "for_expr"
|
|
|
|
|
},
|
2021-06-19 18:10:47 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "operation"
|
|
|
|
|
},
|
2021-06-08 18:50:12 +02:00
|
|
|
{
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-08 18:50:12 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "index"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-08 18:50:12 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "get_attr"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-08 18:50:12 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "splat"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-07 20:50:00 +02:00
|
|
|
{
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "("
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ")"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"literal_value": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "numeric_lit"
|
|
|
|
|
},
|
2021-06-08 00:45:23 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "bool_lit"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "null_lit"
|
2021-06-17 19:39:46 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "string_lit"
|
2021-06-08 00:45:23 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"numeric_lit": {
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "PATTERN",
|
|
|
|
|
"value": "[0-9]+(\\.[0-9]+([eE][-+]?[0-9]+)?)?"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "PATTERN",
|
|
|
|
|
"value": "0x[0-9a-zA-Z]+"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-08 00:45:23 +02:00
|
|
|
},
|
|
|
|
|
"bool_lit": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "true"
|
2021-06-07 20:50:00 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
2021-06-08 00:45:23 +02:00
|
|
|
"value": "false"
|
2021-06-07 20:50:00 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-08 00:45:23 +02:00
|
|
|
"null_lit": {
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "null"
|
2021-06-07 20:50:00 +02:00
|
|
|
},
|
2021-06-17 19:39:46 +02:00
|
|
|
"string_lit": {
|
2021-06-21 21:08:51 +02:00
|
|
|
"type": "PREC",
|
|
|
|
|
"value": 2,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-01 23:57:52 +02:00
|
|
|
"name": "quoted_template_start"
|
2021-06-21 21:08:51 +02:00
|
|
|
},
|
|
|
|
|
{
|
2022-06-02 19:14:44 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_literal"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-21 21:08:51 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-01 23:57:52 +02:00
|
|
|
"name": "quoted_template_end"
|
2021-06-21 21:08:51 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2021-06-17 19:39:46 +02:00
|
|
|
},
|
2021-06-08 00:04:05 +02:00
|
|
|
"collection_value": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "tuple"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "object"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-19 16:56:35 +02:00
|
|
|
"_comma": {
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ","
|
|
|
|
|
},
|
2021-06-08 00:04:05 +02:00
|
|
|
"tuple": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-19 16:56:35 +02:00
|
|
|
"type": "SYMBOL",
|
2021-07-04 10:40:40 +02:00
|
|
|
"name": "tuple_start"
|
2021-06-08 00:04:05 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-19 16:56:35 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_tuple_elems"
|
2021-06-08 00:04:05 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-19 16:56:35 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-04 10:40:40 +02:00
|
|
|
"name": "tuple_end"
|
2021-06-08 00:04:05 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-07-04 10:40:40 +02:00
|
|
|
"tuple_start": {
|
2021-06-19 16:56:35 +02:00
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "["
|
|
|
|
|
},
|
2021-07-04 10:40:40 +02:00
|
|
|
"tuple_end": {
|
2021-06-19 16:56:35 +02:00
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "]"
|
|
|
|
|
},
|
|
|
|
|
"_tuple_elems": {
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "REPEAT",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
2021-06-19 16:56:35 +02:00
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_comma"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-20 00:03:58 +02:00
|
|
|
"name": "expression"
|
2021-06-19 16:56:35 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2021-06-08 00:04:05 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-19 16:56:35 +02:00
|
|
|
"type": "SYMBOL",
|
2021-06-20 00:03:58 +02:00
|
|
|
"name": "_comma"
|
2021-06-19 16:56:35 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-20 00:03:58 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"object": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-04 10:40:40 +02:00
|
|
|
"name": "object_start"
|
2021-06-19 16:56:35 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-20 00:03:58 +02:00
|
|
|
"name": "_object_elems"
|
2021-06-08 00:04:05 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "SYMBOL",
|
2021-07-04 10:40:40 +02:00
|
|
|
"name": "object_end"
|
2021-06-08 00:04:05 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-07-04 10:40:40 +02:00
|
|
|
"object_start": {
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "{"
|
|
|
|
|
},
|
2021-07-04 10:40:40 +02:00
|
|
|
"object_end": {
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "}"
|
|
|
|
|
},
|
2021-06-19 16:56:35 +02:00
|
|
|
"_object_elems": {
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "object_elem"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "REPEAT",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
2021-06-19 16:56:35 +02:00
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_comma"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-19 16:56:35 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-20 00:03:58 +02:00
|
|
|
"name": "object_elem"
|
2021-06-19 16:56:35 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2021-06-20 00:03:58 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_comma"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-19 16:56:35 +02:00
|
|
|
},
|
2021-06-08 00:04:05 +02:00
|
|
|
"object_elem": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-07-01 23:57:52 +02:00
|
|
|
"type": "FIELD",
|
|
|
|
|
"name": "key",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
}
|
2021-06-08 00:04:05 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "="
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ":"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
2021-07-01 23:57:52 +02:00
|
|
|
"type": "FIELD",
|
|
|
|
|
"name": "val",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
}
|
2021-06-08 00:04:05 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-08 18:50:12 +02:00
|
|
|
"index": {
|
2021-06-19 16:56:35 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "new_index"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "legacy_index"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"new_index": {
|
2021-06-08 18:50:12 +02:00
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "["
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "]"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-19 16:56:35 +02:00
|
|
|
"legacy_index": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "."
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "PATTERN",
|
|
|
|
|
"value": "[0-9]+"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-08 18:50:12 +02:00
|
|
|
"get_attr": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "."
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "identifier"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"splat": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "attr_splat"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "full_splat"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"attr_splat": {
|
2021-06-18 07:29:00 +02:00
|
|
|
"type": "PREC_RIGHT",
|
|
|
|
|
"value": 0,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ".*"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "REPEAT",
|
|
|
|
|
"content": {
|
2021-06-21 19:40:27 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "get_attr"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "index"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-18 07:29:00 +02:00
|
|
|
}
|
2021-06-08 18:50:12 +02:00
|
|
|
}
|
2021-06-18 07:29:00 +02:00
|
|
|
]
|
|
|
|
|
}
|
2021-06-08 18:50:12 +02:00
|
|
|
},
|
|
|
|
|
"full_splat": {
|
2021-06-18 07:29:00 +02:00
|
|
|
"type": "PREC_RIGHT",
|
|
|
|
|
"value": 0,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "[*]"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "REPEAT",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "get_attr"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "index"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2021-06-08 18:50:12 +02:00
|
|
|
}
|
2021-06-18 07:29:00 +02:00
|
|
|
]
|
|
|
|
|
}
|
2021-06-08 18:50:12 +02:00
|
|
|
},
|
2021-06-08 22:32:42 +02:00
|
|
|
"for_expr": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "for_tuple_expr"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "for_object_expr"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"for_tuple_expr": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-19 16:56:35 +02:00
|
|
|
"type": "SYMBOL",
|
2021-07-04 10:40:40 +02:00
|
|
|
"name": "tuple_start"
|
2021-06-08 22:32:42 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "for_intro"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "for_cond"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
2021-06-19 16:56:35 +02:00
|
|
|
"type": "SYMBOL",
|
2021-07-04 10:40:40 +02:00
|
|
|
"name": "tuple_end"
|
2021-06-08 22:32:42 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"for_object_expr": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "SYMBOL",
|
2021-07-04 10:40:40 +02:00
|
|
|
"name": "object_start"
|
2021-06-08 22:32:42 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "for_intro"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "=>"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-11 23:57:34 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "ellipsis"
|
2021-06-08 22:32:42 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "for_cond"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "SYMBOL",
|
2021-07-04 10:40:40 +02:00
|
|
|
"name": "object_end"
|
2021-06-08 22:32:42 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"for_intro": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "for"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "identifier"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ","
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "identifier"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "in"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ":"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"for_cond": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "if"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-07 20:50:00 +02:00
|
|
|
"variable_expr": {
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "PREC_RIGHT",
|
|
|
|
|
"value": 0,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "identifier"
|
|
|
|
|
}
|
2021-06-07 20:50:00 +02:00
|
|
|
},
|
2021-06-11 23:32:22 +02:00
|
|
|
"function_call": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-19 16:56:35 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "identifier"
|
2021-06-11 23:32:22 +02:00
|
|
|
},
|
|
|
|
|
{
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_function_call_start"
|
2021-06-11 23:32:22 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "function_arguments"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_function_call_end"
|
2021-06-11 23:32:22 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-17 19:39:46 +02:00
|
|
|
"_function_call_start": {
|
2021-06-19 18:10:47 +02:00
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "("
|
2021-06-17 19:39:46 +02:00
|
|
|
},
|
|
|
|
|
"_function_call_end": {
|
2021-06-19 18:10:47 +02:00
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ")"
|
2021-06-17 19:39:46 +02:00
|
|
|
},
|
2021-06-11 23:32:22 +02:00
|
|
|
"function_arguments": {
|
2021-06-19 16:56:35 +02:00
|
|
|
"type": "PREC_RIGHT",
|
|
|
|
|
"value": 0,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "REPEAT",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
2021-06-11 23:32:22 +02:00
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_comma"
|
2021-06-19 16:56:35 +02:00
|
|
|
},
|
2021-06-11 23:32:22 +02:00
|
|
|
{
|
2021-06-11 23:57:34 +02:00
|
|
|
"type": "SYMBOL",
|
2021-06-19 16:56:35 +02:00
|
|
|
"name": "expression"
|
2021-06-11 23:32:22 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2021-06-19 16:56:35 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-09-19 13:25:57 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_comma"
|
2021-06-19 16:56:35 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "ellipsis"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2021-06-11 23:32:22 +02:00
|
|
|
},
|
2021-06-11 23:57:34 +02:00
|
|
|
"ellipsis": {
|
|
|
|
|
"type": "TOKEN",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "..."
|
|
|
|
|
}
|
|
|
|
|
},
|
2021-06-12 21:47:30 +02:00
|
|
|
"conditional": {
|
2021-06-18 07:17:21 +02:00
|
|
|
"type": "PREC_LEFT",
|
|
|
|
|
"value": 0,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "?"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ":"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2021-06-12 21:47:30 +02:00
|
|
|
},
|
2021-06-13 09:17:52 +02:00
|
|
|
"operation": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "unary_operation"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "binary_operation"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"unary_operation": {
|
|
|
|
|
"type": "PREC_LEFT",
|
|
|
|
|
"value": 7,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "-"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "!"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"binary_operation": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "PREC_LEFT",
|
|
|
|
|
"value": 6,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "*"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "/"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "%"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "PREC_LEFT",
|
|
|
|
|
"value": 5,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "+"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "-"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "PREC_LEFT",
|
|
|
|
|
"value": 4,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ">"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ">="
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "<"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "<="
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "PREC_LEFT",
|
|
|
|
|
"value": 3,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "=="
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "!="
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "PREC_LEFT",
|
|
|
|
|
"value": 2,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "&&"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "PREC_LEFT",
|
|
|
|
|
"value": 1,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "||"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-06-17 19:39:46 +02:00
|
|
|
"name": "_expr_term"
|
2021-06-13 09:17:52 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-14 00:55:24 +02:00
|
|
|
"template_expr": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "quoted_template"
|
2021-06-21 22:04:28 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "heredoc_template"
|
2021-06-14 00:55:24 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"quoted_template": {
|
2021-06-21 21:08:51 +02:00
|
|
|
"type": "PREC",
|
|
|
|
|
"value": 1,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-01 23:57:52 +02:00
|
|
|
"name": "quoted_template_start"
|
2021-06-21 21:08:51 +02:00
|
|
|
},
|
|
|
|
|
{
|
2021-06-27 13:54:05 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-09-17 20:53:40 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_template"
|
2021-06-27 13:54:05 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-21 21:08:51 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-01 23:57:52 +02:00
|
|
|
"name": "quoted_template_end"
|
2021-06-14 00:55:24 +02:00
|
|
|
}
|
2021-06-21 21:08:51 +02:00
|
|
|
]
|
|
|
|
|
}
|
2021-06-14 00:55:24 +02:00
|
|
|
},
|
2021-06-21 22:04:28 +02:00
|
|
|
"heredoc_template": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "heredoc_start"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "heredoc_identifier"
|
|
|
|
|
},
|
|
|
|
|
{
|
2021-06-27 13:54:05 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-09-17 20:53:40 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_template"
|
2021-06-27 13:54:05 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-21 22:04:28 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "heredoc_identifier"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"heredoc_start": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "<<"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "<<-"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-17 19:39:46 +02:00
|
|
|
"strip_marker": {
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "~"
|
|
|
|
|
},
|
2022-12-02 19:47:43 +01:00
|
|
|
"_template": {
|
|
|
|
|
"type": "REPEAT1",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_interpolation"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_literal"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2021-06-17 19:39:46 +02:00
|
|
|
"template_literal": {
|
|
|
|
|
"type": "PREC_RIGHT",
|
|
|
|
|
"value": 0,
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "REPEAT1",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_template_literal_chunk"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2021-06-14 00:55:24 +02:00
|
|
|
"template_interpolation": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
2021-06-17 19:39:46 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-01 23:57:52 +02:00
|
|
|
"name": "template_interpolation_start"
|
2021-06-17 19:39:46 +02:00
|
|
|
},
|
2021-06-14 00:55:24 +02:00
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
2021-06-14 00:55:24 +02:00
|
|
|
},
|
|
|
|
|
{
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "BLANK"
|
2021-06-14 00:55:24 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
2021-06-27 13:54:05 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-06-14 00:55:24 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
2021-06-14 00:55:24 +02:00
|
|
|
},
|
|
|
|
|
{
|
2021-06-17 19:39:46 +02:00
|
|
|
"type": "BLANK"
|
2021-06-14 00:55:24 +02:00
|
|
|
}
|
|
|
|
|
]
|
2021-06-17 19:39:46 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-01 23:57:52 +02:00
|
|
|
"name": "template_interpolation_end"
|
2021-06-14 00:55:24 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-09-17 20:53:40 +02:00
|
|
|
"template_directive": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_for"
|
2021-09-19 13:25:57 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_if"
|
2021-09-17 20:53:40 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"template_for": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_for_start"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_template"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_for_end"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"template_for_start": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_start"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "for"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "identifier"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": ","
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "identifier"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "in"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_end"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"template_for_end": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_start"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "endfor"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_end"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-09-19 13:25:57 +02:00
|
|
|
"template_if": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2022-12-02 19:47:43 +01:00
|
|
|
"name": "template_if_intro"
|
2021-09-19 13:25:57 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2022-12-02 19:47:43 +01:00
|
|
|
"name": "_template"
|
2021-09-19 13:25:57 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
2022-12-02 19:47:43 +01:00
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_else_intro"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_template"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
2021-09-19 13:25:57 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2022-12-02 19:47:43 +01:00
|
|
|
"name": "template_if_end"
|
2021-09-19 13:25:57 +02:00
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"template_if_intro": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_start"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "if"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "expression"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_end"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"template_else_intro": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_start"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "else"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_end"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"template_if_end": {
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_start"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "endif"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "strip_marker"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "BLANK"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_end"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
2021-06-07 20:50:00 +02:00
|
|
|
"comment": {
|
|
|
|
|
"type": "TOKEN",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "CHOICE",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "#"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "PATTERN",
|
|
|
|
|
"value": ".*"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "//"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "PATTERN",
|
|
|
|
|
"value": ".*"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SEQ",
|
|
|
|
|
"members": [
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "/*"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "PATTERN",
|
2021-06-12 21:47:30 +02:00
|
|
|
"value": "[^*]*\\*+([^/*][^*]*\\*+)*"
|
2021-06-07 20:50:00 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "STRING",
|
|
|
|
|
"value": "/"
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
2021-06-20 00:03:58 +02:00
|
|
|
},
|
|
|
|
|
"_whitespace": {
|
|
|
|
|
"type": "TOKEN",
|
|
|
|
|
"content": {
|
|
|
|
|
"type": "PATTERN",
|
|
|
|
|
"value": "\\s"
|
|
|
|
|
}
|
2021-06-07 20:50:00 +02:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"extras": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "comment"
|
|
|
|
|
},
|
|
|
|
|
{
|
2021-06-20 00:03:58 +02:00
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_whitespace"
|
2021-06-07 20:50:00 +02:00
|
|
|
}
|
|
|
|
|
],
|
2021-06-21 21:08:51 +02:00
|
|
|
"conflicts": [],
|
2021-06-07 20:50:00 +02:00
|
|
|
"precedences": [],
|
2021-06-14 00:55:24 +02:00
|
|
|
"externals": [
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-01 23:57:52 +02:00
|
|
|
"name": "quoted_template_start"
|
2021-06-17 19:39:46 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-01 23:57:52 +02:00
|
|
|
"name": "quoted_template_end"
|
2021-06-17 19:39:46 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "_template_literal_chunk"
|
2021-06-14 00:55:24 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-01 23:57:52 +02:00
|
|
|
"name": "template_interpolation_start"
|
2021-06-14 00:55:24 +02:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
2021-07-01 23:57:52 +02:00
|
|
|
"name": "template_interpolation_end"
|
2021-06-21 22:04:28 +02:00
|
|
|
},
|
2021-09-17 20:53:40 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_start"
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "template_directive_end"
|
|
|
|
|
},
|
2021-06-21 22:04:28 +02:00
|
|
|
{
|
|
|
|
|
"type": "SYMBOL",
|
|
|
|
|
"name": "heredoc_identifier"
|
2021-06-14 00:55:24 +02:00
|
|
|
}
|
|
|
|
|
],
|
2021-06-07 20:50:00 +02:00
|
|
|
"inline": [],
|
|
|
|
|
"supertypes": []
|
|
|
|
|
}
|