bitwise operations

This commit is contained in:
2026-07-19 00:36:31 +02:00
parent f9448363e4
commit c7e3162ecb
21 changed files with 219439 additions and 140077 deletions
+156 -10
View File
@@ -1830,6 +1830,30 @@
{
"type": "STRING",
"value": "/="
},
{
"type": "STRING",
"value": "&="
},
{
"type": "STRING",
"value": "|="
},
{
"type": "STRING",
"value": "xor="
},
{
"type": "STRING",
"value": "<<="
},
{
"type": "STRING",
"value": ">>="
},
{
"type": "STRING",
"value": "<<|="
}
]
}
@@ -3306,6 +3330,112 @@
{
"type": "PREC_LEFT",
"value": 6,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "&"
},
{
"type": "STRING",
"value": "xor"
},
{
"type": "STRING",
"value": "|"
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_newline"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 7,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "left",
"content": {
"type": "SYMBOL",
"name": "expression"
}
},
{
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "<<"
},
{
"type": "STRING",
"value": ">>"
},
{
"type": "STRING",
"value": "<<|"
}
]
}
},
{
"type": "REPEAT",
"content": {
"type": "SYMBOL",
"name": "_newline"
}
},
{
"type": "FIELD",
"name": "right",
"content": {
"type": "SYMBOL",
"name": "expression"
}
}
]
}
},
{
"type": "PREC_LEFT",
"value": 8,
"content": {
"type": "SEQ",
"members": [
@@ -3354,7 +3484,7 @@
},
{
"type": "PREC_LEFT",
"value": 7,
"value": 9,
"content": {
"type": "SEQ",
"members": [
@@ -3466,7 +3596,7 @@
},
"unary_expression": {
"type": "PREC",
"value": 8,
"value": 10,
"content": {
"type": "SEQ",
"members": [
@@ -3488,6 +3618,10 @@
"type": "STRING",
"value": "!"
},
{
"type": "STRING",
"value": "~"
},
{
"type": "STRING",
"value": "$"
@@ -3519,7 +3653,7 @@
},
"field_expression": {
"type": "PREC_LEFT",
"value": 9,
"value": 11,
"content": {
"type": "SEQ",
"members": [
@@ -3557,7 +3691,7 @@
},
"intrinsic_call_expression": {
"type": "PREC",
"value": 9,
"value": 11,
"content": {
"type": "SEQ",
"members": [
@@ -3590,7 +3724,7 @@
},
"call_expression": {
"type": "PREC_LEFT",
"value": 9,
"value": 11,
"content": {
"type": "SEQ",
"members": [
@@ -3615,7 +3749,7 @@
},
"argument_list": {
"type": "PREC",
"value": 9,
"value": 11,
"content": {
"type": "SEQ",
"members": [
@@ -3721,7 +3855,7 @@
},
"index_expression": {
"type": "PREC_LEFT",
"value": 9,
"value": 11,
"content": {
"type": "SEQ",
"members": [
@@ -3768,7 +3902,7 @@
},
"slice_expression": {
"type": "PREC_LEFT",
"value": 9,
"value": 11,
"content": {
"type": "SEQ",
"members": [
@@ -3843,7 +3977,7 @@
},
"postfix_expression": {
"type": "PREC_LEFT",
"value": 9,
"value": 11,
"content": {
"type": "SEQ",
"members": [
@@ -3877,7 +4011,7 @@
},
"struct_literal": {
"type": "PREC",
"value": 9,
"value": 11,
"content": {
"type": "SEQ",
"members": [
@@ -4803,6 +4937,18 @@
],
[
"tuple_literal"
],
[
"capture_list",
"expression"
],
[
"for_statement",
"expression"
],
[
"match_capture",
"expression"
]
],
"precedences": [],