From dbca249757a98d6d56e23db43baa93ad30a91709 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sun, 30 Aug 2026 21:07:48 +0200 Subject: Use arrow -> for return types --- cl.elna | 184 ++++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 92 insertions(+), 92 deletions(-) (limited to 'cl.elna') diff --git a/cl.elna b/cl.elna index fb076ab..2219a37 100644 --- a/cl.elna +++ b/cl.elna @@ -623,7 +623,7 @@ var * * Returns the offset from the beginning of the storage to the new string. *) -proc elna_tac_add_string(string: ^Char; string_length: Word): Word +proc elna_tac_add_string(string: ^Char; string_length: Word) -> Word var result: Word current_byte: Char @@ -734,7 +734,7 @@ end (** * Appends a new element to the end of the list. *) -proc elna_list_append(list: ^ElnaList; element: ^ElnaListNode): ^ElnaListNode +proc elna_list_append(list: ^ElnaList; element: ^ElnaListNode) -> ^ElnaListNode begin if element <> nil then if list^.first = nil then @@ -773,7 +773,7 @@ begin end (* Returns whether the given list is empty. *) -proc elna_list_empty(list: ^ElnaList): Bool +proc elna_list_empty(list: ^ElnaList) -> Bool begin return list^.first = nil end @@ -803,7 +803,7 @@ begin this^.operands[n].length := operand_length end -proc elna_tac_instruction_create(kind: Word): ^ElnaTacInstruction +proc elna_tac_instruction_create(kind: Word) -> ^ElnaTacInstruction var result: ^ElnaTacInstruction begin @@ -815,7 +815,7 @@ begin return result end -proc elna_rtl_instruction_create(operator: ElnaRtlOperator): ^ElnaRtlInstruction +proc elna_rtl_instruction_create(operator: ElnaRtlOperator) -> ^ElnaRtlInstruction var result: ^ElnaRtlInstruction begin @@ -842,7 +842,7 @@ end * Loads or moves the value from a TAC operand into the given register. *) proc elna_rtl_hardware_value(instructions: ^ElnaList, operand: ^ElnaTacOperand, - into: ElnaRtlRegister, variable_map: ^ElnaSymbolTable): Word + into: ElnaRtlRegister, variable_map: ^ElnaSymbolTable) -> Word var instruction: ^ElnaRtlInstruction pseudo_symbol: ^ElnaRtlObjectInfo @@ -896,7 +896,7 @@ begin end proc elna_rtl_operand_value(instructions: ^ElnaList; tac_operand: ^ElnaTacOperand; variable_map: ^ElnaSymbolTable; - rtl_operand: ^ElnaRtlOperand): ^ElnaRtlInfo + rtl_operand: ^ElnaRtlOperand) -> ^ElnaRtlInfo var instruction: ^ElnaRtlInstruction pseudo_symbol: ^ElnaRtlObjectInfo @@ -931,7 +931,7 @@ begin end proc elna_rtl_binary_arithmetic(instructions: ^ElnaList; tac_instruction: ^ElnaTacInstruction; - operation: ElnaRtlOperator; variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + operation: ElnaRtlOperator; variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction var result: ^ElnaRtlInstruction rtl_operand: ElnaRtlOperand @@ -999,7 +999,7 @@ begin end proc elna_rtl_set_less_than(instructions: ^ElnaList; tac_instruction: ^ElnaTacInstruction; - lhs, rhs: Word; variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + lhs, rhs: Word; variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction var slt_instruction: ^ElnaRtlInstruction rtl_operand: ElnaRtlOperand @@ -1038,7 +1038,7 @@ begin end proc elna_rtl_variable_address(variable_map: ^ElnaSymbolTable; pseudo_symbol: ^ElnaRtlObjectInfo; - addressable: ^ElnaTacOperand; target_operand: ^ElnaRtlOperand): ^ElnaRtlInstruction + addressable: ^ElnaTacOperand; target_operand: ^ElnaRtlOperand) -> ^ElnaRtlInstruction var instruction: ^ElnaRtlInstruction begin @@ -1065,7 +1065,7 @@ begin end proc elna_rtl_operand_address(variable_map: ^ElnaSymbolTable; - addressable: ^ElnaTacOperand; target_operand: ^ElnaRtlOperand): ^ElnaRtlInstruction + addressable: ^ElnaTacOperand; target_operand: ^ElnaRtlOperand) -> ^ElnaRtlInstruction var pseudo_symbol: ^ElnaRtlObjectInfo instruction: ^ElnaRtlInstruction @@ -1498,7 +1498,7 @@ end (** * Generates an auto incremented label and returns its name. *) -proc elna_tac_label(): String +proc elna_tac_label() -> String var buffer: String begin @@ -1512,7 +1512,7 @@ begin end proc elna_riscv_instruction_name(instruction_kind: ElnaRtlOperator; - source_type, destination_type: ^ElnaRtlType): Word + source_type, destination_type: ^ElnaRtlType) -> Word var argument_count: Word begin @@ -1629,7 +1629,7 @@ begin end proc elna_alloc_variable(operand_value, operand_length: Word; - variable_map: ^ElnaSymbolTable): ^ElnaRtlObjectInfo + variable_map: ^ElnaSymbolTable) -> ^ElnaRtlObjectInfo var pseudo_symbol: ^ElnaRtlObjectInfo pseudo_type: ^ElnaRtlTypeByteArray @@ -1665,7 +1665,7 @@ end * to a temporary register and preserves its value in the following instruction. *) proc elna_alloc_operation_target(instructions: ^ElnaList; instruction: ^ElnaRtlInstruction; - variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction var pseudo_symbol: ^ElnaRtlObjectInfo store_instruction: ^ElnaRtlInstruction @@ -1710,7 +1710,7 @@ begin end proc elna_alloc_store(instructions: ^ElnaList; instruction: ^ElnaRtlInstruction; - variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction var store_instruction: ^ElnaRtlInstruction pseudo_symbol: ^ElnaRtlObjectInfo @@ -1741,7 +1741,7 @@ begin end proc elna_alloc_load(instructions: ^ElnaList; instruction: ^ElnaRtlInstruction; - variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction var new_instruction: ^ElnaRtlInstruction pseudo_symbol: ^ElnaRtlObjectInfo @@ -1770,7 +1770,7 @@ begin end proc elna_alloc_move(instructions: ^ElnaList; instruction: ^ElnaRtlInstruction; - variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction var load_instruction: ^ElnaRtlInstruction source_operand: ElnaRtlOperand @@ -1865,7 +1865,7 @@ end * current instruction and returns the new current instruction. *) proc elna_alloc_operand(instructions: ^ElnaList; instruction: ^ElnaRtlInstruction; - number: Word; target: ElnaRtlRegister; variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + number: Word; target: ElnaRtlRegister; variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction var main_instruction: ^ElnaRtlInstruction load_instruction: ^ElnaRtlInstruction @@ -1911,7 +1911,7 @@ begin end proc elna_alloc_binary(instructions: ^ElnaList; instruction: ^ElnaRtlInstruction; - variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction begin instruction := elna_alloc_operand(instructions, instruction, 2, ElnaRtlRegister.t0, variable_map); instruction := elna_alloc_operand(instructions, instruction, 3, ElnaRtlRegister.t1, variable_map); @@ -1919,14 +1919,14 @@ begin end proc elna_alloc_unary(instructions: ^ElnaList; instruction: ^ElnaRtlInstruction; - variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction begin instruction := elna_alloc_operand(instructions, instruction, 2, ElnaRtlRegister.t0, variable_map); return elna_alloc_operation_target(instructions, instruction, variable_map) end proc elna_alloc_instruction(instructions: ^ElnaList; instruction: ^ElnaRtlInstruction; - variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction var pseudo_symbol: ^ElnaRtlObjectInfo new_instruction: ^ElnaRtlInstruction @@ -2144,7 +2144,7 @@ begin end end -proc elna_rtl_module_declaration(tac_module: ^ElnaInstructionModule): ^ElnaInstructionModule +proc elna_rtl_module_declaration(tac_module: ^ElnaInstructionModule) -> ^ElnaInstructionModule var result: ^ElnaInstructionModule count: Word @@ -2191,7 +2191,7 @@ begin elna_alloc_procedure(pair^.code) end -proc _align_at(address, alignment: Word): Word +proc _align_at(address, alignment: Word) -> Word begin if address % alignment then address := address + alignment @@ -2262,7 +2262,7 @@ begin _write_s(stdout, "\"\n") end -proc elna_parser_integer_literal(cursor: ^ElnaLexerCursor): ^ElnaTreeIntegerLiteral +proc elna_parser_integer_literal(cursor: ^ElnaLexerCursor) -> ^ElnaTreeIntegerLiteral var token: ^ElnaLexerToken result: ^ElnaTreeIntegerLiteral @@ -2285,7 +2285,7 @@ begin return result end -proc elna_parser_boolean_literal(cursor: ^ElnaLexerCursor): ^ElnaTreeBooleanLiteral +proc elna_parser_boolean_literal(cursor: ^ElnaLexerCursor) -> ^ElnaTreeBooleanLiteral var token: ^ElnaLexerToken result: ^ElnaTreeBooleanLiteral @@ -2301,7 +2301,7 @@ begin return result end -proc elna_parser_nil_literal(cursor: ^ElnaLexerCursor): ^ElnaTreeNilLiteral +proc elna_parser_nil_literal(cursor: ^ElnaLexerCursor) -> ^ElnaTreeNilLiteral var token: ^ElnaLexerToken result: ^ElnaTreeNilLiteral @@ -2341,7 +2341,7 @@ begin end (* Escape a single character if needed. *) -proc elna_parser_escape(current_position, result: ^Char): Word +proc elna_parser_escape(current_position, result: ^Char) -> Word var parsed_length: Word next_character: Char @@ -2389,7 +2389,7 @@ begin return parsed_length end -proc elna_parser_character_literal(cursor: ^ElnaLexerCursor): ^ElnaTreeCharacterLiteral +proc elna_parser_character_literal(cursor: ^ElnaLexerCursor) -> ^ElnaTreeCharacterLiteral var result: ^ElnaTreeCharacterLiteral token: ^ElnaLexerToken @@ -2415,7 +2415,7 @@ begin operand^.length := char_type^.size end -proc elna_parser_variable_expression(cursor: ^ElnaLexerCursor): ^ElnaTreeVariableExpression +proc elna_parser_variable_expression(cursor: ^ElnaLexerCursor) -> ^ElnaTreeVariableExpression var result: ^ElnaTreeVariableExpression token: ^ElnaLexerToken @@ -2438,7 +2438,7 @@ begin operand^.length := variable_expression^.name.length end -proc elna_parser_string_literal(cursor: ^ElnaLexerCursor): ^ElnaTreeStringLiteral +proc elna_parser_string_literal(cursor: ^ElnaLexerCursor) -> ^ElnaTreeStringLiteral var result: ^ElnaTreeStringLiteral token: ^ElnaLexerToken @@ -2509,7 +2509,7 @@ begin elna_list_append(instructions, instruction) end -proc elna_parser_trait_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeTraitExpression +proc elna_parser_trait_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeTraitExpression var result: ^ElnaTreeTraitExpression token: ^ElnaLexerToken @@ -2536,7 +2536,7 @@ begin return result end -proc elna_parser_cast_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeCastExpression +proc elna_parser_cast_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeCastExpression var result: ^ElnaTreeCastExpression token: ^ElnaLexerToken @@ -2578,7 +2578,7 @@ begin return result end -proc elna_parser_simple_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeExpression +proc elna_parser_simple_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeExpression var current_character: Word parser_node: ^ElnaTreeExpression @@ -2608,7 +2608,7 @@ begin end proc elna_parser_dereference_expression(cursor: ^ElnaLexerCursor; - simple_expression: ^ElnaTreeExpression): ^ElnaTreeDereferenceExpression + simple_expression: ^ElnaTreeExpression) -> ^ElnaTreeDereferenceExpression var result: ^ElnaTreeDereferenceExpression token: ^ElnaLexerToken @@ -2624,7 +2624,7 @@ begin return result end -proc elna_parser_designator(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeExpression +proc elna_parser_designator(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeExpression var simple_expression: ^ElnaTreeExpression token: ^ElnaLexerToken @@ -2702,7 +2702,7 @@ begin end end -proc elna_parser_unary_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeExpression +proc elna_parser_unary_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeExpression var result: ^ElnaTreeUnaryExpression operand: Word @@ -2823,7 +2823,7 @@ begin end end -proc elna_parser_binary_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeExpression +proc elna_parser_binary_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeExpression var lhs_node: ^ElnaTreeExpression rhs_node: ^ElnaTreeExpression @@ -2894,7 +2894,7 @@ begin end proc elna_tac_add_pointer(parser_node: ^ElnaTreeExpression, lhs, rhs: ^ElnaTacOperand, - symbol_table: ^ElnaSymbolTable; operand: ^ElnaTacOperand): ^ElnaTacInstruction + symbol_table: ^ElnaSymbolTable; operand: ^ElnaTacOperand) -> ^ElnaTacInstruction var instruction: ^ElnaTacInstruction pointer_type: ^ElnaTypePointer @@ -3009,7 +3009,7 @@ begin end end -proc elna_parser_call(cursor: ^ElnaLexerCursor; callee: ^ElnaTreeExpression; error_list: ^ElnaList): ^ElnaTreeCall +proc elna_parser_call(cursor: ^ElnaLexerCursor; callee: ^ElnaTreeExpression; error_list: ^ElnaList) -> ^ElnaTreeCall var result: ^ElnaTreeCall argument_entry: ^ElnaTreeExpressionList @@ -3109,7 +3109,7 @@ begin elna_list_append(instructions, call_instruction) end -proc elna_parser_goto_statement(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeGotoStatement +proc elna_parser_goto_statement(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeGotoStatement var result: ^ElnaTreeGotoStatement token: ^ElnaLexerToken @@ -3149,7 +3149,7 @@ begin elna_list_append(instructions, instruction) end -proc elna_parser_label_declaration(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeLabelDeclaration +proc elna_parser_label_declaration(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeLabelDeclaration var result: ^ElnaTreeLabelDeclaration token: ^ElnaLexerToken @@ -3219,7 +3219,7 @@ begin end proc elna_parser_field_access_expression(cursor: ^ElnaLexerCursor; - aggregate: ^ElnaTreeExpression): ^ElnaTreeFieldAccessExpression + aggregate: ^ElnaTreeExpression) -> ^ElnaTreeFieldAccessExpression var result: ^ElnaTreeFieldAccessExpression token: ^ElnaLexerToken @@ -3242,7 +3242,7 @@ begin end proc elna_parser_array_access_expression(cursor: ^ElnaLexerCursor; - array: ^ElnaTreeExpression; error_list: ^ElnaList): ^ElnaTreeArrayAccessExpression + array: ^ElnaTreeExpression; error_list: ^ElnaList) -> ^ElnaTreeArrayAccessExpression var result: ^ElnaTreeArrayAccessExpression token: ^ElnaLexerToken @@ -3417,7 +3417,7 @@ begin elna_list_append(instructions, instruction) end -proc elna_parser_assign_statement(cursor: ^ElnaLexerCursor; assignee: ^ElnaTreeNode; error_list: ^ElnaList): ^ElnaTreeAssignStatement +proc elna_parser_assign_statement(cursor: ^ElnaLexerCursor; assignee: ^ElnaTreeNode; error_list: ^ElnaList) -> ^ElnaTreeAssignStatement var token: ^ElnaLexerToken result: ^ElnaTreeAssignStatement @@ -3474,7 +3474,7 @@ begin elna_list_append(instructions, instruction) end -proc elna_parser_return_statement(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeReturnStatement +proc elna_parser_return_statement(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeReturnStatement var token: ^ElnaLexerToken result: ^ElnaTreeReturnStatement @@ -3507,7 +3507,7 @@ begin end proc elna_parser_conditional_statements(cursor: ^ElnaLexerCursor; error_list: ^ElnaList; - block_keyword: ElnaLexerKind): ^ElnaTreeConditionalStatements + block_keyword: ElnaLexerKind) -> ^ElnaTreeConditionalStatements var result: ^ElnaTreeConditionalStatements begin @@ -3561,7 +3561,7 @@ begin elna_list_append(instructions, instruction) end -proc elna_parser_if_statement(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeIfStatement +proc elna_parser_if_statement(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeIfStatement var result: ^ElnaTreeIfStatement previous_conditional: ^ElnaTreeConditionalStatements @@ -3598,7 +3598,7 @@ begin return result end -proc elna_parser_statement(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeStatement +proc elna_parser_statement(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeStatement var result: ^ElnaTreeStatement call_result: ^ElnaTreeCallStatement @@ -3634,7 +3634,7 @@ begin return result end -proc elna_parser_statements(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeStatement +proc elna_parser_statements(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeStatement var previous_statement: ^ElnaTreeStatement next_statement: ^ElnaTreeStatement @@ -3742,7 +3742,7 @@ begin _write_c(stdout, register_number + '0') end -proc elna_parser_record_type_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeRecordTypeExpression +proc elna_parser_record_type_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeRecordTypeExpression var entry: ^ElnaTreeField result: ^ElnaTreeRecordTypeExpression @@ -3826,7 +3826,7 @@ begin return result end -proc elna_parser_enumeration_type_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeEnumerationTypeExpression +proc elna_parser_enumeration_type_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeEnumerationTypeExpression var result: ^ElnaTreeEnumerationTypeExpression entry: ^ElnaTreeEnumeration @@ -3981,7 +3981,7 @@ begin end end -proc elna_parser_named_type_expression(cursor: ^ElnaLexerCursor): ^ElnaTreeNamedTypeExpression +proc elna_parser_named_type_expression(cursor: ^ElnaLexerCursor) -> ^ElnaTreeNamedTypeExpression var result: ^ElnaTreeNamedTypeExpression token: ^ElnaLexerToken @@ -3996,7 +3996,7 @@ begin return result end -proc elna_parser_pointer_type_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreePointerTypeExpression +proc elna_parser_pointer_type_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreePointerTypeExpression var result: ^ElnaTreePointerTypeExpression token: ^ElnaLexerToken @@ -4015,7 +4015,7 @@ begin return result end -proc elna_parser_array_type_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeArrayTypeExpression +proc elna_parser_array_type_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeArrayTypeExpression var result: ^ElnaTreeArrayTypeExpression token: ^ElnaLexerToken @@ -4047,7 +4047,7 @@ begin return result end -proc elna_parser_type_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeTypeExpression +proc elna_parser_type_expression(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeTypeExpression var result: ^ElnaTreeNode token: ^ElnaLexerToken @@ -4094,7 +4094,7 @@ begin result^.base := aliased_type end -proc elna_name_named_type_expression(parser_node: ^ElnaTreeNamedTypeExpression; error_list: ^ElnaList): ^ElnaType +proc elna_name_named_type_expression(parser_node: ^ElnaTreeNamedTypeExpression; error_list: ^ElnaList) -> ^ElnaType var type_symbol: ^ElnaSymbolTypeInfo result: ^ElnaType @@ -4117,7 +4117,7 @@ begin return result end -proc elna_name_type_expression(parser_node: ^ElnaTreeTypeExpression; error_list: ^ElnaList): ^ElnaType +proc elna_name_type_expression(parser_node: ^ElnaTreeTypeExpression; error_list: ^ElnaList) -> ^ElnaType var named_type_expression: ^ElnaTreeNamedTypeExpression type_symbol: ^ElnaSymbolTypeInfo @@ -4150,7 +4150,7 @@ begin return result end -proc elna_symbol_type_info_create(type_representation: ^ElnaType): ^ElnaSymbolTypeInfo +proc elna_symbol_type_info_create(type_representation: ^ElnaType) -> ^ElnaSymbolTypeInfo var result: ^ElnaSymbolTypeInfo begin @@ -4166,7 +4166,7 @@ end * attr - Local variable attributes. * temporary_type - Local variable type. *) -proc elna_symbol_temporary_info_create(attr: Word; temporary_type: ^ElnaType): ^ElnaSymbolTemporaryInfo +proc elna_symbol_temporary_info_create(attr: Word; temporary_type: ^ElnaType) -> ^ElnaSymbolTemporaryInfo var result: ^ElnaSymbolTemporaryInfo begin @@ -4184,7 +4184,7 @@ end * Parameters: * symbol_table - Local symbol table. *) -proc elna_symbol_procedure_info_create(is_extern: Bool): ^ElnaSymbolProcedureInfo +proc elna_symbol_procedure_info_create(is_extern: Bool) -> ^ElnaSymbolProcedureInfo var result: ^ElnaSymbolProcedureInfo begin @@ -4231,7 +4231,7 @@ begin end end -proc elna_parser_parameters(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeVariableDeclaration +proc elna_parser_parameters(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeVariableDeclaration var parameters: ^ElnaTreeVariableDeclaration token: ^ElnaLexerToken @@ -4268,7 +4268,7 @@ begin return parameters end -proc elna_parser_procedure_declaration(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeProcedureDeclaration +proc elna_parser_procedure_declaration(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeProcedureDeclaration var next_declaration: ^ElnaTreeDeclaration current_declaration: ^ElnaTreeDeclaration @@ -4359,7 +4359,7 @@ begin return result end -proc elna_tac_parameters(ast_list: ^ElnaTreeDeclaration; parameter_count: ^Word): ^String +proc elna_tac_parameters(ast_list: ^ElnaTreeDeclaration; parameter_count: ^Word) -> ^String var ast_parameter: ^ElnaTreeDeclaration parameter_index: Word @@ -4396,7 +4396,7 @@ begin return parameter_list end -proc elna_rtl_global_declaration(tac_declaration: ^ElnaTacStaticVariable): ^ElnaRtlStaticVariable +proc elna_rtl_global_declaration(tac_declaration: ^ElnaTacStaticVariable) -> ^ElnaRtlStaticVariable var result: ^ElnaRtlStaticVariable begin @@ -4410,7 +4410,7 @@ begin end proc elna_rtl_parameters(instructions: ^ElnaList; parameters, count: Word; - variable_map: ^ElnaSymbolTable): ^ElnaRtlInstruction + variable_map: ^ElnaSymbolTable) -> ^ElnaRtlInstruction var result: ^ElnaRtlInstruction instruction: ^ElnaRtlInstruction @@ -4475,7 +4475,7 @@ begin end (* Returns whether the provided type is array or record. *) -proc elna_type_is_aggregate(_type: ^ElnaType): Bool +proc elna_type_is_aggregate(_type: ^ElnaType) -> Bool var lhs: Word rhs: Word @@ -4487,7 +4487,7 @@ begin end proc elna_rtl_generate_pseudo(operand: ^ElnaRtlOperand; variable_map: ^ElnaSymbolTable; - rtl_type: ^ElnaRtlType): ^ElnaRtlObjectInfo + rtl_type: ^ElnaRtlType) -> ^ElnaRtlObjectInfo var pseudo_symbol: ^ElnaRtlObjectInfo pseudo_type: ^ElnaRtlTypeWord @@ -4511,7 +4511,7 @@ begin return pseudo_symbol end -proc elna_rtl_constant_type(size: Word): ^ElnaRtlType +proc elna_rtl_constant_type(size: Word) -> ^ElnaRtlType var rtl_type: ^ElnaRtlType begin @@ -4524,7 +4524,7 @@ begin return rtl_type end -proc elna_rtl_symbol_type(variable_type: ^ElnaType): ^ElnaRtlType +proc elna_rtl_symbol_type(variable_type: ^ElnaType) -> ^ElnaRtlType var byte_array: ^ElnaRtlTypeByteArray rtl_type: ^ElnaRtlType @@ -4542,7 +4542,7 @@ begin return rtl_type end -proc elna_rtl_procedure_declaration(tac_declaration: ^ElnaTacProcedure): ^ElnaRtlProcedure +proc elna_rtl_procedure_declaration(tac_declaration: ^ElnaTacProcedure) -> ^ElnaRtlProcedure var count: Word current_entry: ^ElnaSymbolEntry @@ -4590,7 +4590,7 @@ begin return result end -proc elna_tac_procedure_declaration(parser_node: ^ElnaTreeProcedureDeclaration): ^ElnaTacProcedure +proc elna_tac_procedure_declaration(parser_node: ^ElnaTreeProcedureDeclaration) -> ^ElnaTacProcedure var symbol_info: ^ElnaSymbolProcedureInfo result: ^ElnaTacProcedure @@ -4615,7 +4615,7 @@ begin return result end -proc elna_parser_procedures(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeDeclaration +proc elna_parser_procedures(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeDeclaration var parser_node: ^ElnaTreeDeclaration result: ^ElnaTreeDeclaration @@ -4644,7 +4644,7 @@ begin return result end -proc elna_rtl_globals(tac_procedure: ^ElnaTacStaticVariable): ^ElnaRtlStaticVariable +proc elna_rtl_globals(tac_procedure: ^ElnaTacStaticVariable) -> ^ElnaRtlStaticVariable var current_copy: ^ElnaRtlStaticVariable next_copy: ^ElnaRtlStaticVariable @@ -4672,7 +4672,7 @@ begin return first_copy end -proc elna_rtl_procedures(tac_procedure: ^ElnaTacProcedure): ^ElnaRtlProcedure +proc elna_rtl_procedures(tac_procedure: ^ElnaTacProcedure) -> ^ElnaRtlProcedure var current_copy: ^ElnaRtlProcedure next_copy: ^ElnaRtlProcedure @@ -4700,7 +4700,7 @@ begin return first_copy end -proc elna_tac_procedures(parser_node: ^ElnaTreeProcedureDeclaration): ^ElnaTacProcedure +proc elna_tac_procedures(parser_node: ^ElnaTreeProcedureDeclaration) -> ^ElnaTacProcedure var result: ^ElnaTacProcedure current_procedure: ^ElnaTacProcedure @@ -4728,7 +4728,7 @@ begin return first_procedure end -proc elna_parser_type_declaration(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeTypeDeclaration +proc elna_parser_type_declaration(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeTypeDeclaration var result: ^ElnaTreeTypeDeclaration token: ^ElnaLexerToken @@ -4773,7 +4773,7 @@ begin end end -proc elna_parser_type_part(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeDeclaration +proc elna_parser_type_part(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeDeclaration var parser_node: ^ElnaTreeDeclaration result: ^ElnaTreeDeclaration @@ -4809,7 +4809,7 @@ begin return result end -proc elna_parser_variable_declaration(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeVariableDeclaration +proc elna_parser_variable_declaration(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeVariableDeclaration var variable_type: Word result: ^ElnaTreeVariableDeclaration @@ -4836,7 +4836,7 @@ begin return result end -proc elna_tac_variable_declaration(parser_tree: ^ElnaTreeVariableDeclaration): ^ElnaTacStaticVariable +proc elna_tac_variable_declaration(parser_tree: ^ElnaTreeVariableDeclaration) -> ^ElnaTacStaticVariable var result: ^ElnaTacStaticVariable variable_info: ^ElnaSymbolTemporaryInfo @@ -4851,7 +4851,7 @@ begin return result end -proc elna_parser_var_part(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeVariableDeclaration +proc elna_parser_var_part(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeVariableDeclaration var result: ^ElnaTreeDeclaration variable_node: ^ElnaTreeDeclaration @@ -4887,7 +4887,7 @@ begin return result end -proc elna_tac_var_part(parser_node: ^ElnaTreeDeclaration): ^ElnaTacStaticVariable +proc elna_tac_var_part(parser_node: ^ElnaTreeDeclaration) -> ^ElnaTacStaticVariable var node: ^ElnaTacStaticVariable current_variable: ^ElnaTacStaticVariable @@ -4916,7 +4916,7 @@ begin return first_variable end -proc elna_parser_program_body(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeStatement +proc elna_parser_program_body(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeStatement var result: ^ElnaTreeStatement token: ^ElnaLexerToken @@ -4931,7 +4931,7 @@ begin return result end -proc elna_error_unexpected_token_create(cursor: ^ElnaLexerCursor; number_of_expected: Word): ^ElnaErrorUnexpectedToken +proc elna_error_unexpected_token_create(cursor: ^ElnaLexerCursor; number_of_expected: Word) -> ^ElnaErrorUnexpectedToken var parser_error: ^ElnaErrorUnexpectedToken begin @@ -4946,7 +4946,7 @@ begin return parser_error end -proc elna_error_duplicate_declaration_create(declaration_tree: ^ElnaTreeDeclaration): ^ElnaErrorDuplicateDeclaration +proc elna_error_duplicate_declaration_create(declaration_tree: ^ElnaTreeDeclaration) -> ^ElnaErrorDuplicateDeclaration var declaration_error: ^ElnaErrorDuplicateDeclaration begin @@ -4960,7 +4960,7 @@ end (* Check and return whether the next token is of the expected kind. If so the token is skipped, otherwise an error is added to the error list. *) -proc elna_parser_expect(cursor: ^ElnaLexerCursor; expected: ElnaLexerKind; error_list: ^ElnaList): ^ElnaLexerToken +proc elna_parser_expect(cursor: ^ElnaLexerCursor; expected: ElnaLexerKind; error_list: ^ElnaList) -> ^ElnaLexerToken var token: ^ElnaLexerToken parser_error: ^ElnaErrorUnexpectedToken @@ -4981,7 +4981,7 @@ begin return token end -proc elna_parser_module_declaration(cursor: ^ElnaLexerCursor; error_list: ^ElnaList): ^ElnaTreeModuleDeclaration +proc elna_parser_module_declaration(cursor: ^ElnaLexerCursor; error_list: ^ElnaList) -> ^ElnaTreeModuleDeclaration var result: ^ElnaTreeModuleDeclaration begin @@ -5017,7 +5017,7 @@ begin return result end -proc elna_tac_program_body(parser_node: ^ElnaTreeStatement): ^ElnaTacProcedure +proc elna_tac_program_body(parser_node: ^ElnaTreeStatement) -> ^ElnaTacProcedure var result: ^ElnaTacProcedure symbol_info: ^ElnaSymbolProcedureInfo @@ -5040,7 +5040,7 @@ begin return result end -proc elna_tac_module_declaration(parser_node: ^ElnaTreeModuleDeclaration): ^ElnaInstructionModule +proc elna_tac_module_declaration(parser_node: ^ElnaTreeModuleDeclaration) -> ^ElnaInstructionModule var result: ^ElnaInstructionModule code: ^ElnaTacProcedure @@ -5930,7 +5930,7 @@ begin _write_s(stderr, ".\n") end -proc compile(): Bool +proc compile() -> Bool var parser_node: Word tac: Word @@ -5991,7 +5991,7 @@ end * * Returns the symbol pointer or nil. *) -proc elna_symbol_table_lookup(symbol_table: ^ElnaSymbolTable; symbol_name: ^Char; name_length: Word): Pointer +proc elna_symbol_table_lookup(symbol_table: ^ElnaSymbolTable; symbol_name: ^Char; name_length: Word) -> Pointer var result: Pointer symbol_table_length: Word @@ -6036,7 +6036,7 @@ end * * Returns newly allocated, empty symbol table. *) -proc elna_symbol_table_create(parent: ^ElnaSymbolTable): ^ElnaSymbolTable +proc elna_symbol_table_create(parent: ^ElnaSymbolTable) -> ^ElnaSymbolTable var new_symbol_table: ^ElnaSymbolTable begin -- cgit v1.2.3