789 lines
47 KiB
Plaintext
789 lines
47 KiB
Plaintext
====================
|
|
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)))))))))))))))))))))
|