649 lines
44 KiB
Plaintext
649 lines
44 KiB
Plaintext
====================
|
|
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))))))))))))))))))))))))))))))))))))))))
|