Remove aliases to avoid circular dependencies (#53)

* Remove hash_expression and infix_expression alias

* Remove hash_operator and sign_operator alias

* Update queries and tests

* Rebuild
a_star_module
Pieter Goetschalckx 2021-05-07 21:05:16 +07:00 committed by GitHub
parent 2f962cf4eb
commit 0348562f38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 592808 additions and 582704 deletions

@ -4814,13 +4814,8 @@
"name": "prefix_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "hash_expression"
},
"named": true,
"value": "infix_expression"
"type": "SYMBOL",
"name": "hash_expression"
},
{
"type": "SYMBOL",
@ -4909,13 +4904,8 @@
"name": "infix_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "sign_expression"
},
"named": true,
"value": "prefix_expression"
"type": "SYMBOL",
"name": "sign_expression"
},
{
"type": "SYMBOL",
@ -5451,13 +5441,8 @@
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_sign_operator"
},
"named": true,
"value": "prefix_operator"
"type": "SYMBOL",
"name": "sign_operator"
},
{
"type": "FIELD",
@ -5485,13 +5470,8 @@
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hash_operator"
},
"named": true,
"value": "infix_operator"
"type": "SYMBOL",
"name": "hash_operator"
},
{
"type": "FIELD",
@ -9387,7 +9367,7 @@
"members": [
{
"type": "PATTERN",
"value": "[#!$%&*+\\-./:<>?@^|~]"
"value": "[#!$%&*+\\-.\\/:<>?@^|~]"
},
{
"type": "BLANK"
@ -9399,13 +9379,13 @@
"members": [
{
"type": "PATTERN",
"value": "[#!$%&*+\\-./:<=>?@^|~]"
"value": "[#!$%&*+\\-.\\/:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[#!$%&*+\\-./:<=>?@^|~]"
"value": "[#!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9425,7 +9405,7 @@
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[#!$%&*+\\-./:<=>?@^|~]"
"value": "[#!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9433,7 +9413,7 @@
]
}
},
"_sign_operator": {
"sign_operator": {
"type": "CHOICE",
"members": [
{
@ -9457,10 +9437,6 @@
"infix_operator": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_operator"
},
{
"type": "SYMBOL",
"name": "_pow_operator"
@ -9495,7 +9471,7 @@
}
]
},
"_hash_operator": {
"hash_operator": {
"type": "TOKEN",
"content": {
"type": "SEQ",
@ -9508,7 +9484,7 @@
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[#!$%&*+\\-./:<=>?@^|~]"
"value": "[#!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9530,7 +9506,7 @@
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9560,13 +9536,13 @@
"members": [
{
"type": "PATTERN",
"value": "[*/%]"
"value": "[*\\/%]"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9591,61 +9567,77 @@
]
},
"_add_operator": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
}
}
]
},
{
"type": "SEQ",
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "+."
},
{
"type": "STRING",
"value": "-."
},
{
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "-"
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
},
{
"type": "CHOICE",
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=?@^|~]"
},
{
"type": "BLANK"
}
]
"type": "STRING",
"value": "-"
},
{
"type": "SEQ",
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=?@^|~]"
}
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
}
]
}
@ -9653,8 +9645,8 @@
}
]
}
]
}
}
]
},
"_concat_operator": {
"type": "TOKEN",
@ -9669,7 +9661,7 @@
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9691,7 +9683,7 @@
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9711,7 +9703,7 @@
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+./:<=>?@^|~]"
"value": "[!$%&*+.\\/:<=>?@^|~]"
},
{
"type": "BLANK"
@ -9723,13 +9715,13 @@
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9750,20 +9742,20 @@
"members": [
{
"type": "PATTERN",
"value": "[!$%*+\\-./:<=>?@^|~]"
"value": "[!$%*+\\-.\\/:<=>?@^|~]"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9784,20 +9776,20 @@
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^~]"
"value": "[!$%&*+\\-.\\/:<=>?@^~]"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9855,13 +9847,13 @@
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-/:=>?@^|]"
"value": "[!$%&*+\\-\\/:=>?@^|]"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9904,13 +9896,13 @@
},
{
"type": "PATTERN",
"value": "[$&*+\\-/<=>@^|]"
"value": "[$&*+\\-\\/<=>@^|]"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9927,13 +9919,13 @@
},
{
"type": "PATTERN",
"value": "[$&*+\\-/<=>@^|]"
"value": "[$&*+\\-\\/<=>@^|]"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9950,13 +9942,13 @@
},
{
"type": "PATTERN",
"value": "[$&*+\\-/<=>@^|]"
"value": "[$&*+\\-\\/<=>@^|]"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -10013,17 +10005,12 @@
"name": "prefix_operator"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_sign_operator"
},
"named": true,
"value": "infix_operator"
"type": "SYMBOL",
"name": "infix_operator"
},
{
"type": "SYMBOL",
"name": "infix_operator"
"name": "hash_operator"
},
{
"type": "SEQ",

@ -290,15 +290,15 @@
"named": true
},
{
"type": "prefix_expression",
"type": "product_expression",
"named": true
},
{
"type": "product_expression",
"type": "set_expression",
"named": true
},
{
"type": "set_expression",
"type": "sign_expression",
"named": true
},
{
@ -582,7 +582,7 @@
"named": true
},
{
"type": "infix_expression",
"type": "hash_expression",
"named": true
},
{
@ -2445,6 +2445,50 @@
]
}
},
{
"type": "hash_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "_extension",
"named": true
},
{
"type": "_simple_expression",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_extension",
"named": true
},
{
"type": "_simple_expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "hash_operator",
"named": true
}
]
}
},
{
"type": "hash_type",
"named": true,
@ -4187,6 +4231,10 @@
"type": "and_operator",
"named": true
},
{
"type": "hash_operator",
"named": true
},
{
"type": "indexing_operator",
"named": true
@ -4322,11 +4370,11 @@
"required": true,
"types": [
{
"type": "_expression",
"type": "_extension",
"named": true
},
{
"type": "_extension",
"type": "_simple_expression",
"named": true
}
]
@ -4343,11 +4391,6 @@
]
}
},
{
"type": "prefix_operator",
"named": true,
"fields": {}
},
{
"type": "product_expression",
"named": true,
@ -4636,6 +4679,41 @@
]
}
},
{
"type": "sign_expression",
"named": true,
"fields": {
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "_extension",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "sign_operator",
"named": true
}
]
}
},
{
"type": "sign_operator",
"named": true,
"fields": {}
},
{
"type": "signature",
"named": true,
@ -5671,6 +5749,10 @@
"type": "functor",
"named": false
},
{
"type": "hash_operator",
"named": true
},
{
"type": "if",
"named": false
@ -5803,6 +5885,10 @@
"type": "or",
"named": false
},
{
"type": "prefix_operator",
"named": true
},
{
"type": "pretty_printing_indication",
"named": true

537005
interface/src/parser.c vendored

File diff suppressed because it is too large Load Diff

@ -204,9 +204,9 @@ x.%(0).M.%(0) <- x;;
(number))
(value_path (value_name))))
(expression_item
(infix_expression
(hash_expression
(number)
(infix_operator)
(hash_operator)
(array_get_expression
(value_path (value_name))
(indexing_operator_path (indexing_operator))
@ -389,8 +389,8 @@ x lsl 1;;
(prefix_operator)
(value_path (value_name))))
(expression_item
(prefix_expression
(prefix_operator)
(sign_expression
(sign_operator)
(value_path (value_name))))
(expression_item
(infix_expression
@ -664,13 +664,13 @@ let x = x in if x then x <- x := ! x . x ## x x x lsl x ** x * x mod x + x - x :
(infix_expression
(infix_expression
(application_expression
(infix_expression
(hash_expression
(field_get_expression
(prefix_expression
(prefix_operator)
(value_path (value_name)))
(field_path (field_name)))
(infix_operator)
(hash_operator)
(value_path (value_name)))
(value_path (value_name))
(value_path (value_name)))

@ -953,7 +953,7 @@ module.exports = grammar({
$.array_expression,
$.record_expression,
$.prefix_expression,
alias($.hash_expression, $.infix_expression),
$.hash_expression,
$.field_get_expression,
$.array_get_expression,
$.string_get_expression,
@ -979,7 +979,7 @@ module.exports = grammar({
$.cons_expression,
$.application_expression,
$.infix_expression,
alias($.sign_expression, $.prefix_expression),
$.sign_expression,
$.set_expression,
$.if_expression,
$.while_expression,
@ -1086,13 +1086,13 @@ module.exports = grammar({
)),
sign_expression: $ => prec(PREC.neg, seq(
alias($._sign_operator, $.prefix_operator),
$.sign_operator,
field('right', $._expression_ext)
)),
hash_expression: $ => prec.left(PREC.hash, seq(
field('left', $._simple_expression_ext),
alias($._hash_operator, $.infix_operator),
$.hash_operator,
field('right', $._simple_expression_ext)
)),
@ -1871,10 +1871,9 @@ module.exports = grammar({
seq(/[~?]/, repeat1(HASH_OP_CHAR))
)),
_sign_operator: $ => choice('+', '-', '+.', '-.'),
sign_operator: $ => choice('+', '-', '+.', '-.'),
infix_operator: $ => choice(
$._hash_operator,
$._pow_operator,
$._mult_operator,
$._add_operator,
@ -1885,7 +1884,7 @@ module.exports = grammar({
$._assign_operator
),
_hash_operator: $ => token(seq('#', repeat1(HASH_OP_CHAR))),
hash_operator: $ => token(seq('#', repeat1(HASH_OP_CHAR))),
_pow_operator: $ => choice(
token(seq('**', repeat(OP_CHAR))),
@ -1897,10 +1896,13 @@ module.exports = grammar({
'mod', 'land', 'lor', 'lxor'
),
_add_operator: $ => token(choice(
seq('+', repeat(OP_CHAR)),
seq('-', choice(optional(/[!$%&*+\-./:<=?@^|~]/), repeat2(OP_CHAR))),
)),
_add_operator: $ => choice(
'+', '-', '+.', '-.',
token(choice(
seq('+', repeat1(OP_CHAR)),
seq('-', choice(repeat1(/[!$%&*+\-./:<=?@^|~]/), repeat2(OP_CHAR)))
))
),
_concat_operator: $ => token(
seq(/[@^]/, repeat(OP_CHAR))
@ -1952,8 +1954,8 @@ module.exports = grammar({
parenthesized_operator: $ => parenthesize(choice(
$.prefix_operator,
alias($._sign_operator, $.infix_operator),
$.infix_operator,
$.hash_operator,
seq(
'.',
$.indexing_operator,

@ -4831,13 +4831,8 @@
"name": "prefix_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "hash_expression"
},
"named": true,
"value": "infix_expression"
"type": "SYMBOL",
"name": "hash_expression"
},
{
"type": "SYMBOL",
@ -4926,13 +4921,8 @@
"name": "infix_expression"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "sign_expression"
},
"named": true,
"value": "prefix_expression"
"type": "SYMBOL",
"name": "sign_expression"
},
{
"type": "SYMBOL",
@ -5468,13 +5458,8 @@
"type": "SEQ",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_sign_operator"
},
"named": true,
"value": "prefix_operator"
"type": "SYMBOL",
"name": "sign_operator"
},
{
"type": "FIELD",
@ -5502,13 +5487,8 @@
}
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_hash_operator"
},
"named": true,
"value": "infix_operator"
"type": "SYMBOL",
"name": "hash_operator"
},
{
"type": "FIELD",
@ -9404,7 +9384,7 @@
"members": [
{
"type": "PATTERN",
"value": "[#!$%&*+\\-./:<>?@^|~]"
"value": "[#!$%&*+\\-.\\/:<>?@^|~]"
},
{
"type": "BLANK"
@ -9416,13 +9396,13 @@
"members": [
{
"type": "PATTERN",
"value": "[#!$%&*+\\-./:<=>?@^|~]"
"value": "[#!$%&*+\\-.\\/:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[#!$%&*+\\-./:<=>?@^|~]"
"value": "[#!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9442,7 +9422,7 @@
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[#!$%&*+\\-./:<=>?@^|~]"
"value": "[#!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9450,7 +9430,7 @@
]
}
},
"_sign_operator": {
"sign_operator": {
"type": "CHOICE",
"members": [
{
@ -9474,10 +9454,6 @@
"infix_operator": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_hash_operator"
},
{
"type": "SYMBOL",
"name": "_pow_operator"
@ -9512,7 +9488,7 @@
}
]
},
"_hash_operator": {
"hash_operator": {
"type": "TOKEN",
"content": {
"type": "SEQ",
@ -9525,7 +9501,7 @@
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[#!$%&*+\\-./:<=>?@^|~]"
"value": "[#!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9547,7 +9523,7 @@
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9577,13 +9553,13 @@
"members": [
{
"type": "PATTERN",
"value": "[*/%]"
"value": "[*\\/%]"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9608,61 +9584,77 @@
]
},
"_add_operator": {
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
}
}
]
},
{
"type": "SEQ",
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "+."
},
{
"type": "STRING",
"value": "-."
},
{
"type": "TOKEN",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "-"
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "+"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
},
{
"type": "CHOICE",
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=?@^|~]"
},
{
"type": "BLANK"
}
]
"type": "STRING",
"value": "-"
},
{
"type": "SEQ",
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=?@^|~]"
}
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
}
]
}
@ -9670,8 +9662,8 @@
}
]
}
]
}
}
]
},
"_concat_operator": {
"type": "TOKEN",
@ -9686,7 +9678,7 @@
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9708,7 +9700,7 @@
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9728,7 +9720,7 @@
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+./:<=>?@^|~]"
"value": "[!$%&*+.\\/:<=>?@^|~]"
},
{
"type": "BLANK"
@ -9740,13 +9732,13 @@
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9767,20 +9759,20 @@
"members": [
{
"type": "PATTERN",
"value": "[!$%*+\\-./:<=>?@^|~]"
"value": "[!$%*+\\-.\\/:<=>?@^|~]"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9801,20 +9793,20 @@
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^~]"
"value": "[!$%&*+\\-.\\/:<=>?@^~]"
},
{
"type": "SEQ",
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
},
{
"type": "REPEAT1",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9872,13 +9864,13 @@
"members": [
{
"type": "PATTERN",
"value": "[!$%&*+\\-/:=>?@^|]"
"value": "[!$%&*+\\-\\/:=>?@^|]"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9921,13 +9913,13 @@
},
{
"type": "PATTERN",
"value": "[$&*+\\-/<=>@^|]"
"value": "[$&*+\\-\\/<=>@^|]"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9944,13 +9936,13 @@
},
{
"type": "PATTERN",
"value": "[$&*+\\-/<=>@^|]"
"value": "[$&*+\\-\\/<=>@^|]"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -9967,13 +9959,13 @@
},
{
"type": "PATTERN",
"value": "[$&*+\\-/<=>@^|]"
"value": "[$&*+\\-\\/<=>@^|]"
},
{
"type": "REPEAT",
"content": {
"type": "PATTERN",
"value": "[!$%&*+\\-./:<=>?@^|~]"
"value": "[!$%&*+\\-.\\/:<=>?@^|~]"
}
}
]
@ -10030,17 +10022,12 @@
"name": "prefix_operator"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_sign_operator"
},
"named": true,
"value": "infix_operator"
"type": "SYMBOL",
"name": "infix_operator"
},
{
"type": "SYMBOL",
"name": "infix_operator"
"name": "hash_operator"
},
{
"type": "SEQ",

@ -290,15 +290,15 @@
"named": true
},
{
"type": "prefix_expression",
"type": "product_expression",
"named": true
},
{
"type": "product_expression",
"type": "set_expression",
"named": true
},
{
"type": "set_expression",
"type": "sign_expression",
"named": true
},
{
@ -582,7 +582,7 @@
"named": true
},
{
"type": "infix_expression",
"type": "hash_expression",
"named": true
},
{
@ -2417,6 +2417,50 @@
]
}
},
{
"type": "hash_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "_extension",
"named": true
},
{
"type": "_simple_expression",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_extension",
"named": true
},
{
"type": "_simple_expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "hash_operator",
"named": true
}
]
}
},
{
"type": "hash_type",
"named": true,
@ -4159,6 +4203,10 @@
"type": "and_operator",
"named": true
},
{
"type": "hash_operator",
"named": true
},
{
"type": "indexing_operator",
"named": true
@ -4294,11 +4342,11 @@
"required": true,
"types": [
{
"type": "_expression",
"type": "_extension",
"named": true
},
{
"type": "_extension",
"type": "_simple_expression",
"named": true
}
]
@ -4315,11 +4363,6 @@
]
}
},
{
"type": "prefix_operator",
"named": true,
"fields": {}
},
{
"type": "product_expression",
"named": true,
@ -4608,6 +4651,41 @@
]
}
},
{
"type": "sign_expression",
"named": true,
"fields": {
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "_extension",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "sign_operator",
"named": true
}
]
}
},
{
"type": "sign_operator",
"named": true,
"fields": {}
},
{
"type": "signature",
"named": true,
@ -5643,6 +5721,10 @@
"type": "functor",
"named": false
},
{
"type": "hash_operator",
"named": true
},
{
"type": "if",
"named": false
@ -5775,6 +5857,10 @@
"type": "or",
"named": false
},
{
"type": "prefix_operator",
"named": true
},
{
"type": "pretty_printing_indication",
"named": true

637826
ocaml/src/parser.c vendored

File diff suppressed because it is too large Load Diff

@ -89,7 +89,9 @@
[
(prefix_operator)
(sign_operator)
(infix_operator)
(hash_operator)
(indexing_operator)
(let_operator)
(and_operator)

@ -67,6 +67,7 @@
pattern: (parenthesized_operator [
(prefix_operator)
(infix_operator)
(hash_operator)
(indexing_operator)
(let_operator)
(and_operator)
@ -77,7 +78,9 @@
[
(prefix_operator)
(sign_operator)
(infix_operator)
(hash_operator)
(indexing_operator)
(let_operator)
(and_operator)