From 4f77ad5d019618893c59a0f8d5bfa6b98e50a3be Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Tue, 18 Aug 2026 13:31:47 +0200 Subject: Make Int and Word aliases to fixed-size types --- source/lexer.elna | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) (limited to 'source/lexer.elna') diff --git a/source/lexer.elna b/source/lexer.elna index fa79917..83e89df 100644 --- a/source/lexer.elna +++ b/source/lexer.elna @@ -28,17 +28,17 @@ type ) ElnaLexerToken* = record kind: ElnaLexerKind; - start: []const Char; (* DEPRECATED *) + start: []const Word8; (* DEPRECATED *) position: ElnaPosition end ElnaLexerBooleanToken* = record(ElnaLexerToken) value: Bool end ElnaLexerCharacterToken* = record(ElnaLexerToken) - value: Char + value: Word8 end ElnaLexerStringToken* = record(ElnaLexerToken) - value: []const Char + value: []const Word8 end ElnaLexerIntegerToken* = record(ElnaLexerToken) value: Int @@ -55,19 +55,19 @@ type ElnaLexerCursor = record state: ElnaLexerState; - start: ^Char; - finish: ^Char; + start: ^Word8; + finish: ^Word8; token: ^ElnaLexerToken; position: ElnaPosition end BufferPosition* = record - iterator: ^Char; + iterator: ^Word8; location: ElnaLocation end Lexer* = record input: ^FILE; - buffer: ^Char; + buffer: ^Word8; size: Word; length: Word; start: BufferPosition; @@ -513,7 +513,7 @@ begin cursor^.position.end_location.column := cursor^.position.end_location.column + 1u return -proc elna_lexer_classify_space(start_position: ^Char; location: ^ElnaLocation) +proc elna_lexer_classify_space(start_position: ^Word8; location: ^ElnaLocation) begin if start_position^ = '\n' then location^.line := location^.line + 1u; @@ -532,7 +532,7 @@ begin result^.position := position^ return result -proc elna_lexer_classify_keyword(position_start, position_end: ^Char; position: ^ElnaPosition): ^ElnaLexerToken +proc elna_lexer_classify_keyword(position_start, position_end: ^Word8; position: ^ElnaPosition): ^ElnaLexerToken var result: ^ElnaLexerToken result_length: Word @@ -587,9 +587,9 @@ begin end return result -proc elna_lexer_classify_delimited(start_position, end_position: ^Char; position: ^ElnaPosition): ^ElnaLexerToken +proc elna_lexer_classify_delimited(start_position, end_position: ^Word8; position: ^ElnaPosition): ^ElnaLexerToken var - delimiter: Char + delimiter: Word8 result: ^ElnaLexerToken begin delimiter := start_position^; @@ -604,7 +604,7 @@ begin result^.start := start_position[1 to cast(end_position - start_position: Word)] return result -proc elna_lexer_classify_integer(start_position, end_position: ^Char; position: ^ElnaPosition): ^ElnaLexerToken +proc elna_lexer_classify_integer(start_position, end_position: ^Word8; position: ^ElnaPosition): ^ElnaLexerToken var result: ^ElnaLexerToken begin @@ -612,9 +612,9 @@ begin result^.start := start_position[1 to cast(end_position - start_position: Word)] return result -proc elna_lexer_classify_finalize(start_position: ^Char; position: ^ElnaPosition): ^ElnaLexerToken +proc elna_lexer_classify_finalize(start_position: ^Word8; position: ^ElnaPosition): ^ElnaLexerToken var - character: Char + character: Word8 result: ^ElnaLexerToken begin character := start_position^; @@ -634,9 +634,9 @@ begin end return result -proc elna_lexer_classify_single(start_position: ^Char; position: ^ElnaPosition): ^ElnaLexerToken +proc elna_lexer_classify_single(start_position: ^Word8; position: ^ElnaPosition): ^ElnaLexerToken var - character: Char + character: Word8 result: ^ElnaLexerToken begin result := malloc(#size(ElnaLexerToken)); @@ -675,10 +675,10 @@ begin end return result -proc elna_lexer_classify_composite(start_position, one_before_last: ^Char; position: ^ElnaPosition): ^ElnaLexerToken +proc elna_lexer_classify_composite(start_position, one_before_last: ^Word8; position: ^ElnaPosition): ^ElnaLexerToken var - first_character: Char - last_character: Char + first_character: Word8 + last_character: Word8 result: ^ElnaLexerToken begin first_character := start_position^; @@ -739,7 +739,7 @@ return token proc elna_lexer_execute_transition(cursor: ^ElnaLexerCursor): ^ElnaLexerToken var next_transition: ^ElnaLexerTransition - current_character: Char + current_character: Word8 begin current_character := cursor^.finish^; next_transition := elna_lexer_get_transition(cursor^.state, @@ -750,7 +750,7 @@ return elna_lexer_execute_action(cursor, next_transition^.action) (** * One time lexer initialization. *) -proc elna_lexer_initialize(cursor: ^ElnaLexerCursor; code_pointer: ^Char) +proc elna_lexer_initialize(cursor: ^ElnaLexerCursor; code_pointer: ^Word8) begin elna_lexer_classifications(); elna_lexer_transitions(); -- cgit v1.2.3