added test cases

This commit is contained in:
2026-01-17 16:29:06 +01:00
parent 99f16c2534
commit 1ea823a1f6
59 changed files with 7506 additions and 0 deletions

View 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))))))))))))))))

View 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))))))))))))))))

View 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)))))))))))))))))))))))))))

View 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)))))))))))))))))))))))))))

View 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))))))))))))))))))))))))))))

View 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)))))))))))))))))))))))))))

View 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)))))))))))))))))))))))))))

View 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))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

View 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))))))))))))))))))))))))))))))))))))))))))))))))

View 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)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

View 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))))))))))))))))))))))))))))))))))))))))))))))))))

View 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)))))))))))))))))))))))))))))))))

View 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))))))))

View 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))))))))

View 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)))))))))))))))))))))

View 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))))))))))))))))))))))))))))))))

View 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)))))))))))))))))))))))

View 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)))))))))))))))))

View 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))))))))))))))))))))))

View 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)))))))))))))))))))))))))))))))))))))))

View 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)))))))))))))))))))))

View 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)))))))))))))))))))))

View 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))))))))))))))))))))

View 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)))))))))))))))))

View 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))))))))))))))))))))))))))))))))))))))))

View 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))))))))))))))))))))))))))))))))

View 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)))))))))))))))))))))

View 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))))))))))))))))))))))))))))))))

View 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)))))))))))))))))

View 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)))))

View 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))))))))))))))))))))))))))))))

View 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)))))))))))))))))))))

View 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)))))))))))))))))))))