Added MC v.1.0.0 parser #3
12
test/corpus/negative/ArrayExpression1.txt
Normal file
12
test/corpus/negative/ArrayExpression1.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression1
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
x[] = 3;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
12
test/corpus/negative/ArrayExpression2.txt
Normal file
12
test/corpus/negative/ArrayExpression2.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression2
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
x[1, 3] = 3;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
12
test/corpus/negative/ArrayExpression3.txt
Normal file
12
test/corpus/negative/ArrayExpression3.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression3
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
x[[13]] = 3;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
12
test/corpus/negative/ArrayExpression4.txt
Normal file
12
test/corpus/negative/ArrayExpression4.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression4
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
x[13 3] = 3;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
12
test/corpus/negative/ArrayExpression5.txt
Normal file
12
test/corpus/negative/ArrayExpression5.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression5
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
x[13]3 = 3;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
12
test/corpus/negative/ArrayExpression6.txt
Normal file
12
test/corpus/negative/ArrayExpression6.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression6
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
x 3[13] = 3;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
8
test/corpus/negative/Assignments1.txt
Normal file
8
test/corpus/negative/Assignments1.txt
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
====================
|
||||||
|
Assignments1
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x += 3;
|
||||||
|
|
||||||
|
--------------------
|
||||||
15
test/corpus/negative/ForStatement1.txt
Normal file
15
test/corpus/negative/ForStatement1.txt
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
====================
|
||||||
|
ForStatement1
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() -> int {
|
||||||
|
I32 x = 0;
|
||||||
|
|
||||||
|
for (;;;) {
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
13
test/corpus/negative/ForStatement2.txt
Normal file
13
test/corpus/negative/ForStatement2.txt
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
====================
|
||||||
|
ForStatement2
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() -> int {
|
||||||
|
for (while (true){};;) {
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
10
test/corpus/negative/FunctionCall1.txt
Normal file
10
test/corpus/negative/FunctionCall1.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
====================
|
||||||
|
FunctionCall1
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
f(3 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
9
test/corpus/negative/FunctionDeclaration1.txt
Normal file
9
test/corpus/negative/FunctionDeclaration1.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
====================
|
||||||
|
FunctionDeclaration1
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
9
test/corpus/negative/FunctionDeclaration2.txt
Normal file
9
test/corpus/negative/FunctionDeclaration2.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
====================
|
||||||
|
FunctionDeclaration2
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() : int {
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
9
test/corpus/negative/FunctionDeclaration3.txt
Normal file
9
test/corpus/negative/FunctionDeclaration3.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
====================
|
||||||
|
FunctionDeclaration3
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() -> {
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
9
test/corpus/negative/FunctionDeclaration4.txt
Normal file
9
test/corpus/negative/FunctionDeclaration4.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
====================
|
||||||
|
FunctionDeclaration4
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main(int a int b) {
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
9
test/corpus/negative/FunctionDeclaration5.txt
Normal file
9
test/corpus/negative/FunctionDeclaration5.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
====================
|
||||||
|
FunctionDeclaration5
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main(a) {
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
9
test/corpus/negative/FunctionDeclaration6.txt
Normal file
9
test/corpus/negative/FunctionDeclaration6.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
====================
|
||||||
|
FunctionDeclaration6
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main(, ) {
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
9
test/corpus/negative/FunctionDeclaration7.txt
Normal file
9
test/corpus/negative/FunctionDeclaration7.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
====================
|
||||||
|
FunctionDeclaration7
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main(int a, ) {
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
9
test/corpus/negative/FunctionDeclaration8.txt
Normal file
9
test/corpus/negative/FunctionDeclaration8.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
====================
|
||||||
|
FunctionDeclaration8
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main(, int a) {
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
9
test/corpus/negative/FunctionDeclaration9.txt
Normal file
9
test/corpus/negative/FunctionDeclaration9.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
====================
|
||||||
|
FunctionDeclaration9
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main(a, int b) {
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
10
test/corpus/negative/ReturnStatement1.txt
Normal file
10
test/corpus/negative/ReturnStatement1.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
====================
|
||||||
|
ReturnStatement1
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() -> int {
|
||||||
|
return 1, 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
10
test/corpus/negative/ReturnStatement2.txt
Normal file
10
test/corpus/negative/ReturnStatement2.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
====================
|
||||||
|
ReturnStatement2
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() -> int {
|
||||||
|
return 1 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
10
test/corpus/negative/ReturnStatement3.txt
Normal file
10
test/corpus/negative/ReturnStatement3.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
====================
|
||||||
|
ReturnStatement3
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() -> int {
|
||||||
|
return (1, 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
10
test/corpus/negative/WhileStatement1.txt
Normal file
10
test/corpus/negative/WhileStatement1.txt
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
====================
|
||||||
|
WhileStatement1
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
while (true) {
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
11
test/corpus/negative/WhileStatement2.txt
Normal file
11
test/corpus/negative/WhileStatement2.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
====================
|
||||||
|
WhileStatement2
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
while (true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
11
test/corpus/negative/WhileStatement3.txt
Normal file
11
test/corpus/negative/WhileStatement3.txt
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
====================
|
||||||
|
WhileStatement3
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
while () {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
12
test/corpus/negative/WhileStatement4.txt
Normal file
12
test/corpus/negative/WhileStatement4.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
====================
|
||||||
|
WhileStatement4
|
||||||
|
:error
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
while
|
||||||
|
true {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
35
test/corpus/positive/ArithmeticExpression1.txt
Normal file
35
test/corpus/positive/ArithmeticExpression1.txt
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
====================
|
||||||
|
ArithmeticExpression1
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x = a + b;
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
51
test/corpus/positive/ArithmeticExpression2.txt
Normal file
51
test/corpus/positive/ArithmeticExpression2.txt
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
====================
|
||||||
|
ArithmeticExpression2
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x = (a * b) + c;
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
51
test/corpus/positive/ArithmeticExpression3.txt
Normal file
51
test/corpus/positive/ArithmeticExpression3.txt
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
====================
|
||||||
|
ArithmeticExpression3
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x = a * (b + c);
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))
|
||||||
51
test/corpus/positive/ArithmeticExpression4.txt
Normal file
51
test/corpus/positive/ArithmeticExpression4.txt
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
====================
|
||||||
|
ArithmeticExpression4
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x = a / (b - c);
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))
|
||||||
76
test/corpus/positive/ArithmeticExpression5.txt
Normal file
76
test/corpus/positive/ArithmeticExpression5.txt
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
====================
|
||||||
|
ArithmeticExpression5
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x = (4I) - (5i) / (2U);
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(signed_integer_literal))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(signed_integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal))))))))))))))))))))))))))))
|
||||||
42
test/corpus/positive/ArrayExpression1.txt
Normal file
42
test/corpus/positive/ArrayExpression1.txt
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression1
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x = y[3u];
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))))))))))))))))
|
||||||
67
test/corpus/positive/ArrayExpression2.txt
Normal file
67
test/corpus/positive/ArrayExpression2.txt
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression2
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x = y[3u][a][9];
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))))))))
|
||||||
447
test/corpus/positive/ArrayExpression3.txt
Normal file
447
test/corpus/positive/ArrayExpression3.txt
Normal file
@@ -0,0 +1,447 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression3
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x = (a[(e / 11 - (h + 12)) * ((e * f) * 13)][12][f]) -
|
||||||
|
((f[13 * 12]) * (f + ((b - 3) - (11 - e)))) /
|
||||||
|
(((11 / a - (3 + g)) * ((c - d) / 12)) / (13 - (d[0][12])));
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
|
||||||
205
test/corpus/positive/ArrayExpression4.txt
Normal file
205
test/corpus/positive/ArrayExpression4.txt
Normal file
@@ -0,0 +1,205 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression4
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x = h[(((f - h) - 11i8) - (d / 0i64) / (11u16 - b)) +
|
||||||
|
(a[g / f][f - e][d - 12I32])];
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(signed_integer_literal))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(signed_integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(signed_integer_literal))))))))))))))))))))))))))))))))))))))))))))))))
|
||||||
233
test/corpus/positive/ArrayExpression5.txt
Normal file
233
test/corpus/positive/ArrayExpression5.txt
Normal file
@@ -0,0 +1,233 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression5
|
||||||
|
====================
|
||||||
|
|
||||||
|
int x = (e[(c[13u16]) - 11i16 / f][(e / e) / 13U16 + (c + 0I16) * b]) /
|
||||||
|
(e - (11I8 - (a[12U8 * a][d])));
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal))))))))))))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(signed_integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(signed_integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(signed_integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
|
||||||
555
test/corpus/positive/ArrayExpression6.txt
Normal file
555
test/corpus/positive/ArrayExpression6.txt
Normal file
@@ -0,0 +1,555 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression6
|
||||||
|
====================
|
||||||
|
|
||||||
|
|
||||||
|
int x = (((h[3][a]) / (3 / 13 + 12 * 3)) * ((a[13][e][b]) * 13) +
|
||||||
|
((13 * 12) / 0 + 3 / (d * 3)) * (13 - c)) /
|
||||||
|
(((d[i]) / 12 + (h + (12 + 12)) * f) +
|
||||||
|
(0 * (3 - (0 - 3))) / ((12 - g) / (a + 0) + (i + a) / (g * 12)));
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))))))))))))))))))))))))))
|
||||||
307
test/corpus/positive/ArrayExpression7.txt
Normal file
307
test/corpus/positive/ArrayExpression7.txt
Normal file
@@ -0,0 +1,307 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression7
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
x[24][a / 4 * 3 + 3][x[3][b[1]]] =
|
||||||
|
(12 + (c[13 + 12][11][12]) * (((12 + 13) - (13 + g)) - i)) *
|
||||||
|
(12 / 11);
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature)
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))))))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))))))))))))))
|
||||||
94
test/corpus/positive/ArrayExpression8.txt
Normal file
94
test/corpus/positive/ArrayExpression8.txt
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
====================
|
||||||
|
ArrayExpression8
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
int b;
|
||||||
|
int[10] x;
|
||||||
|
|
||||||
|
x[b = 4] = 4;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature)
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(array_specifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))
|
||||||
|
(constant_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement))))))))
|
||||||
171
test/corpus/positive/Assignments1.txt
Normal file
171
test/corpus/positive/Assignments1.txt
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
====================
|
||||||
|
Assignments1
|
||||||
|
====================
|
||||||
|
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
int x = 0;
|
||||||
|
int y = 3;
|
||||||
|
|
||||||
|
x += 3;
|
||||||
|
y -= x + 3;
|
||||||
|
x *= y * y - 3;
|
||||||
|
y /= x;
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature)
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement))))))))
|
||||||
68
test/corpus/positive/BooleanExpression1.txt
Normal file
68
test/corpus/positive/BooleanExpression1.txt
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
====================
|
||||||
|
BooleanExpression1
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
|
||||||
|
bool b = true && false || false && true;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature)
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(predefined_constant))))))))))
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(predefined_constant))))))))))
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(predefined_constant))))))))))
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(predefined_constant)))))))))))))))))))))
|
||||||
184
test/corpus/positive/BooleanExpression2.txt
Normal file
184
test/corpus/positive/BooleanExpression2.txt
Normal file
@@ -0,0 +1,184 @@
|
|||||||
|
====================
|
||||||
|
BooleanExpression2
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
bool b =
|
||||||
|
((x < 9) || (y >= -1)) || (9 == z) && (x + c > 10 || x - c <= 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature)
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(geq_operator)
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))))))))))))))
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(leq_operator)
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))))))))
|
||||||
102
test/corpus/positive/CastingExpression1.txt
Normal file
102
test/corpus/positive/CastingExpression1.txt
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
====================
|
||||||
|
CastingExpression1
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
int x = (int)b;
|
||||||
|
int y = (int)(uint)b;
|
||||||
|
int z = (int)(char)(uint)b;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature)
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type)))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type)))
|
||||||
|
(cast_expression
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type)))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type)))
|
||||||
|
(cast_expression
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier))
|
||||||
|
(cast_expression
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type)))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))
|
||||||
113
test/corpus/positive/Character1.txt
Normal file
113
test/corpus/positive/Character1.txt
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
====================
|
||||||
|
Character1
|
||||||
|
====================
|
||||||
|
|
||||||
|
char a = 'a';
|
||||||
|
char b = '\n';
|
||||||
|
char c = '\v';
|
||||||
|
char d = '=';
|
||||||
|
char e = '\'';
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(char_literal))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(char_literal))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(char_literal))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(char_literal))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(char_literal)))))))))))))))))
|
||||||
321
test/corpus/positive/ForStatement1.txt
Normal file
321
test/corpus/positive/ForStatement1.txt
Normal file
@@ -0,0 +1,321 @@
|
|||||||
|
====================
|
||||||
|
ForStatement1
|
||||||
|
====================
|
||||||
|
|
||||||
|
function e() {
|
||||||
|
int d;
|
||||||
|
i = 12 * (0 * (d - 13 * e));
|
||||||
|
for (; 0 * ((12 / h) / 3) != 13 + g;)
|
||||||
|
++d;
|
||||||
|
for (int i = 0; f > 0 && 12 == a; i++) {
|
||||||
|
int d;
|
||||||
|
i = b;
|
||||||
|
}
|
||||||
|
|
||||||
|
d = h + 12;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature)
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))
|
||||||
579
test/corpus/positive/ForStatement2.txt
Normal file
579
test/corpus/positive/ForStatement2.txt
Normal file
@@ -0,0 +1,579 @@
|
|||||||
|
====================
|
||||||
|
ForStatement2
|
||||||
|
====================
|
||||||
|
|
||||||
|
function a() {
|
||||||
|
int f;
|
||||||
|
uint64_t b;
|
||||||
|
for (;;) {
|
||||||
|
if ((11 + g) * (3 + d) - (i / 13) / (e - 13) <
|
||||||
|
(13 * (a + d)) * ((f - 11) + (b - 11))) {
|
||||||
|
break;
|
||||||
|
} else if (f[d] == 3) {
|
||||||
|
uint h;
|
||||||
|
for (; b != 11 || d >= 0;) {
|
||||||
|
int a;
|
||||||
|
uint d;
|
||||||
|
f = 12;
|
||||||
|
a = 13;
|
||||||
|
}
|
||||||
|
e = d;
|
||||||
|
} else {
|
||||||
|
for (int i = 0;;)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
int d;
|
||||||
|
for (;; d--) {
|
||||||
|
for (;;) {
|
||||||
|
d += 9;
|
||||||
|
}
|
||||||
|
g[3][d] = d;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature)
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(selection_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))))))))))))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement)))))
|
||||||
|
(selection_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(geq_operator)
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(jump_statement))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))))))))))))))
|
||||||
72
test/corpus/positive/ForStatement3.txt
Normal file
72
test/corpus/positive/ForStatement3.txt
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
====================
|
||||||
|
ForStatement3
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() -> int {
|
||||||
|
I32 x = 0;
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))
|
||||||
48
test/corpus/positive/ForStatement4.txt
Normal file
48
test/corpus/positive/ForStatement4.txt
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
====================
|
||||||
|
ForStatement4
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() -> int {
|
||||||
|
for (;;)
|
||||||
|
;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(expression_statement)))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))
|
||||||
164
test/corpus/positive/InitializerDeclaration1.txt
Normal file
164
test/corpus/positive/InitializerDeclaration1.txt
Normal file
@@ -0,0 +1,164 @@
|
|||||||
|
====================
|
||||||
|
InitializerDeclaration1
|
||||||
|
====================
|
||||||
|
|
||||||
|
int[10] x = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(array_specifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))
|
||||||
|
(constant_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(braced_initializer
|
||||||
|
(initializer_list
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))
|
||||||
75
test/corpus/positive/Limits1.txt
Normal file
75
test/corpus/positive/Limits1.txt
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
====================
|
||||||
|
Limits1
|
||||||
|
====================
|
||||||
|
|
||||||
|
I64 x = 9223372036854775807;
|
||||||
|
I64 y = -9223372036854775808;
|
||||||
|
U64 z = 18446744073709551615;
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
648
test/corpus/positive/Program1.txt
Normal file
648
test/corpus/positive/Program1.txt
Normal file
@@ -0,0 +1,648 @@
|
|||||||
|
====================
|
||||||
|
Program1
|
||||||
|
====================
|
||||||
|
|
||||||
|
|
||||||
|
function y(int x, uint32_t z) -> int16_t {
|
||||||
|
mut int[3][13][3] x;
|
||||||
|
const int a = 3;
|
||||||
|
x = y(3, z(y, y));
|
||||||
|
x(x(13, z) - (z / 3 + a + x), y(y, 13) / (13 / 3 - y / x));
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------
|
||||||
|
|
||||||
|
function x(int z, int x) -> int {
|
||||||
|
mut int x;
|
||||||
|
int b = 45;
|
||||||
|
return y(13 + (-b) + y, y * y - z / y);
|
||||||
|
y(((y - 13) / (3 - x)) / (13 * (13 + 13)), y(3 - 3, 3 * x));
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(parameter_list
|
||||||
|
(parameter_declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(identifier))
|
||||||
|
(parameter_declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(identifier)))
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(array_specifier
|
||||||
|
(type_specifier
|
||||||
|
(array_specifier
|
||||||
|
(type_specifier
|
||||||
|
(array_specifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))
|
||||||
|
(constant_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))
|
||||||
|
(constant_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))
|
||||||
|
(constant_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))))))))))))))
|
||||||
|
(comment)
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(parameter_list
|
||||||
|
(parameter_declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(identifier))
|
||||||
|
(parameter_declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(identifier)))
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))))))))))))))
|
||||||
906
test/corpus/positive/Program2.txt
Normal file
906
test/corpus/positive/Program2.txt
Normal file
@@ -0,0 +1,906 @@
|
|||||||
|
====================
|
||||||
|
Program2
|
||||||
|
====================
|
||||||
|
|
||||||
|
function x(int y, int x) -> int {
|
||||||
|
const int y;
|
||||||
|
z = x(3 / 3, y) * y(3 + z, z);
|
||||||
|
while (y > 13 / x) {
|
||||||
|
int[13][3][3] x;
|
||||||
|
y = (z - 3) * 3;
|
||||||
|
y(z * y, 3 + 3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//----------
|
||||||
|
|
||||||
|
function y(int y, char z) -> int[3u] {
|
||||||
|
mut bool z;
|
||||||
|
if (y * ((z - 13) - z) >= ((z * 3) / (y - y)) * ((x - z) * x)) {
|
||||||
|
U64 y;
|
||||||
|
if (y + y <= 3 + x) {
|
||||||
|
I32 z;
|
||||||
|
return y;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
z(13 / x, z);
|
||||||
|
} else if (x * 3 > 0) {
|
||||||
|
const uint32_t a = y(y * x, 3);
|
||||||
|
return a;
|
||||||
|
} else {
|
||||||
|
z(13i32);
|
||||||
|
}
|
||||||
|
x = x(13 - y, 13 * 3) * ((z * 3 - 3) - (13 - 13) / z);
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(parameter_list
|
||||||
|
(parameter_declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(identifier))
|
||||||
|
(parameter_declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(identifier)))
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(array_specifier
|
||||||
|
(type_specifier
|
||||||
|
(array_specifier
|
||||||
|
(type_specifier
|
||||||
|
(array_specifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))
|
||||||
|
(constant_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))
|
||||||
|
(constant_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))
|
||||||
|
(constant_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))))))))))))))))))))
|
||||||
|
(comment)
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(parameter_list
|
||||||
|
(parameter_declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(identifier))
|
||||||
|
(parameter_declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(identifier)))
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(array_specifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))
|
||||||
|
(constant_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal))))))))))))))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(selection_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))
|
||||||
|
(geq_operator)
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(selection_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(leq_operator)
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement)))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))))))))))
|
||||||
|
(selection_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(signed_integer_literal)))))))))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))))))
|
||||||
788
test/corpus/positive/Program3.txt
Normal file
788
test/corpus/positive/Program3.txt
Normal file
@@ -0,0 +1,788 @@
|
|||||||
|
====================
|
||||||
|
Program3
|
||||||
|
====================
|
||||||
|
|
||||||
|
mut uint[10u] array = {3u, 58u, 17u, 81u, 22u, 0u, 39u, 11u, 49u, 64u};
|
||||||
|
|
||||||
|
function bubble(uint n) -> int {
|
||||||
|
for (mut uint i = n - 1u; i > 0u; i--) {
|
||||||
|
for (mut uint j = 0u; j < i; j++) {
|
||||||
|
if (array[j] > array[j + 1u]) {
|
||||||
|
uint tmp = array[j + 1u];
|
||||||
|
array[j + 1u] = array[j];
|
||||||
|
array[j] = tmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function print_array(uint n) {
|
||||||
|
for (mut uint i = 0u; i < n; i++) {
|
||||||
|
print((string)(array[i]) + ", ");
|
||||||
|
}
|
||||||
|
print("\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
function main() -> int {
|
||||||
|
print_array(10u);
|
||||||
|
bubble(10u);
|
||||||
|
print_array(10u);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(array_specifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))
|
||||||
|
(constant_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal))))))))))))))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(braced_initializer
|
||||||
|
(initializer_list
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(parameter_list
|
||||||
|
(parameter_declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(identifier)))
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(selection_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))))))))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(parameter_list
|
||||||
|
(parameter_declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(identifier))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal)))))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(print_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(string_literal)))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(print_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(string_literal))))))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))
|
||||||
|
(argument_expression_list
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(unsigned_integer_literal))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))
|
||||||
101
test/corpus/positive/ReturnStatement1.txt
Normal file
101
test/corpus/positive/ReturnStatement1.txt
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
====================
|
||||||
|
ReturnStatement1
|
||||||
|
====================
|
||||||
|
|
||||||
|
function g() -> int {
|
||||||
|
mut int i;
|
||||||
|
const mut bool b;
|
||||||
|
return (11 - 3) / (c + 13);
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier)
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))))))))))))))))))))))))))
|
||||||
92
test/corpus/positive/String1.txt
Normal file
92
test/corpus/positive/String1.txt
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
====================
|
||||||
|
String1
|
||||||
|
====================
|
||||||
|
|
||||||
|
string s1 = "this is a test\n";
|
||||||
|
string s2 = "'a filepath'";
|
||||||
|
string s3 = "this\0 is a test\n";
|
||||||
|
string s4 = "\tthis\tis\v\a\'my\'test\n";
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(string_literal))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(string_literal))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(string_literal))))))))))))))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)
|
||||||
|
(initializer
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(string_literal)))))))))))))))))
|
||||||
81
test/corpus/positive/Types1.txt
Normal file
81
test/corpus/positive/Types1.txt
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
====================
|
||||||
|
Types1
|
||||||
|
====================
|
||||||
|
|
||||||
|
mut int x;
|
||||||
|
const int y;
|
||||||
|
const mut int z;
|
||||||
|
mut const int a;
|
||||||
|
const mut const int b;
|
||||||
|
const mut mut const uint c;
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier)
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier)
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier)
|
||||||
|
(type_qualifier)
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(translation_entity
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier)
|
||||||
|
(type_qualifier)
|
||||||
|
(type_qualifier)
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier
|
||||||
|
(uint_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier)))))
|
||||||
383
test/corpus/positive/WhileStatement1.txt
Normal file
383
test/corpus/positive/WhileStatement1.txt
Normal file
@@ -0,0 +1,383 @@
|
|||||||
|
====================
|
||||||
|
WhileStatement1
|
||||||
|
====================
|
||||||
|
|
||||||
|
function i() {
|
||||||
|
I8 i;
|
||||||
|
while (a - 12 > (i + (c + 11)) - 11) {
|
||||||
|
int g;
|
||||||
|
mut bool d;
|
||||||
|
d = g / f - 3;
|
||||||
|
g = 12 + (d + e);
|
||||||
|
}
|
||||||
|
while (13 * i >= (h + 0) / c + i)
|
||||||
|
g++;
|
||||||
|
int f;
|
||||||
|
while (b - h <= g) {
|
||||||
|
int f;
|
||||||
|
int32_t e;
|
||||||
|
b = d;
|
||||||
|
a = a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature)
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))))
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))))))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_qualifier_list
|
||||||
|
(type_qualifier))
|
||||||
|
(type_specifier)))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(geq_operator)
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier)))))))
|
||||||
|
(leq_operator)
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(declaration
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))
|
||||||
|
(init_declarator
|
||||||
|
(identifier))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(expression_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(identifier))))))))))))))))))))))))))))))
|
||||||
62
test/corpus/positive/WhileStatement2.txt
Normal file
62
test/corpus/positive/WhileStatement2.txt
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
====================
|
||||||
|
WhileStatement2
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() -> int {
|
||||||
|
while (true) {
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(predefined_constant)))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(statement_block))))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))
|
||||||
61
test/corpus/positive/WhileStatement3.txt
Normal file
61
test/corpus/positive/WhileStatement3.txt
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
====================
|
||||||
|
WhileStatement3
|
||||||
|
====================
|
||||||
|
|
||||||
|
function main() -> int {
|
||||||
|
while (true)
|
||||||
|
;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
(source_file
|
||||||
|
(translation_entity
|
||||||
|
(function_definition
|
||||||
|
(identifier)
|
||||||
|
(function_signature
|
||||||
|
(return_list
|
||||||
|
(declaration_specifier
|
||||||
|
(type_specifier_qualifier
|
||||||
|
(type_specifier
|
||||||
|
(int_type))))))
|
||||||
|
(statement_block
|
||||||
|
(block_item_list
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(primary_block
|
||||||
|
(iteration_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(predefined_constant)))))))))))))
|
||||||
|
(secondary_block
|
||||||
|
(statement
|
||||||
|
(expression_statement)))))))
|
||||||
|
(block_item
|
||||||
|
(statement
|
||||||
|
(jump_statement
|
||||||
|
(expression
|
||||||
|
(assignment_expression
|
||||||
|
(logical_expression
|
||||||
|
(equality_expression
|
||||||
|
(relational_expression
|
||||||
|
(additive_expression
|
||||||
|
(multiplicative_expression
|
||||||
|
(cast_expression
|
||||||
|
(unary_expression
|
||||||
|
(postfix_expression
|
||||||
|
(base_expression
|
||||||
|
(constant
|
||||||
|
(integer_literal)))))))))))))))))))))
|
||||||
Reference in New Issue
Block a user