aboutsummaryrefslogtreecommitdiff
path: root/cl.elna
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2026-08-30 21:07:48 +0200
committerEugen Wissner <belka@caraus.de>2026-08-30 21:07:48 +0200
commitdbca249757a98d6d56e23db43baa93ad30a91709 (patch)
treeeaf664d63c7752aabad7994f62e92ae6492e655d /cl.elna
parent491e62664394a8689a3f8904fbe8dbc3dea05524 (diff)
downloadelna-dbca249757a98d6d56e23db43baa93ad30a91709.tar.gz
Use arrow -> for return types
Diffstat (limited to 'cl.elna')
-rw-r--r--cl.elna184
1 files changed, 92 insertions, 92 deletions
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