added test cases
This commit is contained in:
788
test/corpus/positive/Program3.txt
Normal file
788
test/corpus/positive/Program3.txt
Normal file
@@ -0,0 +1,788 @@
|
||||
====================
|
||||
Program3
|
||||
====================
|
||||
|
||||
mut uint[10u] array = {3u, 58u, 17u, 81u, 22u, 0u, 39u, 11u, 49u, 64u};
|
||||
|
||||
function bubble(uint n) -> int {
|
||||
for (mut uint i = n - 1u; i > 0u; i--) {
|
||||
for (mut uint j = 0u; j < i; j++) {
|
||||
if (array[j] > array[j + 1u]) {
|
||||
uint tmp = array[j + 1u];
|
||||
array[j + 1u] = array[j];
|
||||
array[j] = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
function print_array(uint n) {
|
||||
for (mut uint i = 0u; i < n; i++) {
|
||||
print((string)(array[i]) + ", ");
|
||||
}
|
||||
print("\n");
|
||||
}
|
||||
|
||||
function main() -> int {
|
||||
print_array(10u);
|
||||
bubble(10u);
|
||||
print_array(10u);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
--------------------
|
||||
|
||||
(source_file
|
||||
(translation_entity
|
||||
(declaration
|
||||
(declaration_specifier
|
||||
(type_specifier_qualifier
|
||||
(type_qualifier_list
|
||||
(type_qualifier))
|
||||
(type_specifier
|
||||
(array_specifier
|
||||
(type_specifier
|
||||
(uint_type))
|
||||
(constant_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal))))))))))))))))
|
||||
(init_declarator
|
||||
(identifier)
|
||||
(initializer
|
||||
(braced_initializer
|
||||
(initializer_list
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))))))))
|
||||
(translation_entity
|
||||
(function_definition
|
||||
(identifier)
|
||||
(function_signature
|
||||
(parameter_list
|
||||
(parameter_declaration
|
||||
(declaration_specifier
|
||||
(type_specifier_qualifier
|
||||
(type_specifier
|
||||
(uint_type))))
|
||||
(identifier)))
|
||||
(return_list
|
||||
(declaration_specifier
|
||||
(type_specifier_qualifier
|
||||
(type_specifier
|
||||
(int_type))))))
|
||||
(statement_block
|
||||
(block_item_list
|
||||
(block_item
|
||||
(statement
|
||||
(primary_block
|
||||
(iteration_statement
|
||||
(declaration
|
||||
(declaration_specifier
|
||||
(type_specifier_qualifier
|
||||
(type_qualifier_list
|
||||
(type_qualifier))
|
||||
(type_specifier
|
||||
(uint_type))))
|
||||
(init_declarator
|
||||
(identifier)
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier)))))))
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))))))))
|
||||
(secondary_block
|
||||
(statement
|
||||
(primary_block
|
||||
(statement_block
|
||||
(block_item_list
|
||||
(block_item
|
||||
(statement
|
||||
(primary_block
|
||||
(iteration_statement
|
||||
(declaration
|
||||
(declaration_specifier
|
||||
(type_specifier_qualifier
|
||||
(type_qualifier_list
|
||||
(type_qualifier))
|
||||
(type_specifier
|
||||
(uint_type))))
|
||||
(init_declarator
|
||||
(identifier)
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier)))))))
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))))))))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))))))))
|
||||
(secondary_block
|
||||
(statement
|
||||
(primary_block
|
||||
(statement_block
|
||||
(block_item_list
|
||||
(block_item
|
||||
(statement
|
||||
(primary_block
|
||||
(selection_statement
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier)))))))))))))))))
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))))))))))))
|
||||
(statement_block
|
||||
(block_item_list
|
||||
(block_item
|
||||
(declaration
|
||||
(declaration_specifier
|
||||
(type_specifier_qualifier
|
||||
(type_specifier
|
||||
(uint_type))))
|
||||
(init_declarator
|
||||
(identifier)
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal))))))))))))))))))))))))))
|
||||
(block_item
|
||||
(statement
|
||||
(expression_statement
|
||||
(expression
|
||||
(assignment_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))))
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))))))))))))))))))))))
|
||||
(block_item
|
||||
(statement
|
||||
(expression_statement
|
||||
(expression
|
||||
(assignment_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))))))))))
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))))))))))))))))))))))))))))))))))))
|
||||
(block_item
|
||||
(statement
|
||||
(jump_statement
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(integer_literal))))))))))))))))))))
|
||||
(translation_entity
|
||||
(function_definition
|
||||
(identifier)
|
||||
(function_signature
|
||||
(parameter_list
|
||||
(parameter_declaration
|
||||
(declaration_specifier
|
||||
(type_specifier_qualifier
|
||||
(type_specifier
|
||||
(uint_type))))
|
||||
(identifier))))
|
||||
(statement_block
|
||||
(block_item_list
|
||||
(block_item
|
||||
(statement
|
||||
(primary_block
|
||||
(iteration_statement
|
||||
(declaration
|
||||
(declaration_specifier
|
||||
(type_specifier_qualifier
|
||||
(type_qualifier_list
|
||||
(type_qualifier))
|
||||
(type_specifier
|
||||
(uint_type))))
|
||||
(init_declarator
|
||||
(identifier)
|
||||
(initializer
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal)))))))))))))))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier)))))))
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))))))))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))))))))
|
||||
(secondary_block
|
||||
(statement
|
||||
(primary_block
|
||||
(statement_block
|
||||
(block_item_list
|
||||
(block_item
|
||||
(statement
|
||||
(print_statement
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(type_specifier_qualifier
|
||||
(type_specifier))
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))))))))))))))))))))))))))))
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(string_literal)))))))))))))))))))))))))
|
||||
(block_item
|
||||
(statement
|
||||
(print_statement
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(string_literal))))))))))))))))))))
|
||||
(translation_entity
|
||||
(function_definition
|
||||
(identifier)
|
||||
(function_signature
|
||||
(return_list
|
||||
(declaration_specifier
|
||||
(type_specifier_qualifier
|
||||
(type_specifier
|
||||
(int_type))))))
|
||||
(statement_block
|
||||
(block_item_list
|
||||
(block_item
|
||||
(statement
|
||||
(expression_statement
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))
|
||||
(argument_expression_list
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal))))))))))))))))))))))))))
|
||||
(block_item
|
||||
(statement
|
||||
(expression_statement
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))
|
||||
(argument_expression_list
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal))))))))))))))))))))))))))
|
||||
(block_item
|
||||
(statement
|
||||
(expression_statement
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(identifier))
|
||||
(argument_expression_list
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(unsigned_integer_literal))))))))))))))))))))))))))
|
||||
(block_item
|
||||
(statement
|
||||
(jump_statement
|
||||
(expression
|
||||
(assignment_expression
|
||||
(logical_expression
|
||||
(equality_expression
|
||||
(relational_expression
|
||||
(additive_expression
|
||||
(multiplicative_expression
|
||||
(cast_expression
|
||||
(unary_expression
|
||||
(postfix_expression
|
||||
(base_expression
|
||||
(constant
|
||||
(integer_literal)))))))))))))))))))))
|
||||
Reference in New Issue
Block a user