diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-07-21 21:27:03 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-07-21 21:27:03 +0200 |
| commit | 5cc2947143f2a6ebd4ef1ae4d25ab956b87de808 (patch) | |
| tree | 0d4489b298da3be04ed4bce117f616468146a0f8 /source/main.elna | |
| parent | 44d6e8a27294e5ca7300ab11900011b73d9336d4 (diff) | |
| download | elna-5cc2947143f2a6ebd4ef1ae4d25ab956b87de808.tar.gz | |
Diffstat (limited to 'source/main.elna')
| -rw-r--r-- | source/main.elna | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/source/main.elna b/source/main.elna index 4a23898..c127ba4 100644 --- a/source/main.elna +++ b/source/main.elna @@ -40,19 +40,13 @@ var proc reallocarray(ptr: Pointer; n: Word; size: Word): Pointer return realloc(ptr, n * size) -proc substring(string: String; start: Word; count: Word): String -return String(string.ptr + start, count) - -proc open_substring(string: String; start: Word): String -return substring(string, start, string.length - start) - -proc string_dup(origin: String): String +proc string_dup(origin: []const Char): []const Char var copy: ^Char begin copy := malloc(origin.length); strncpy(copy, origin.ptr, origin.length) -return String(copy, origin.length) +return copy[1 to origin.length] proc string_buffer_new(): StringBuffer var @@ -78,11 +72,11 @@ begin buffer^.size := buffer^.size - count return -proc string_buffer_clear(buffer: ^StringBuffer): String +proc string_buffer_clear(buffer: ^StringBuffer): []const Char var - result: String + result: []const Char begin - result := String(cast(buffer^.data: ^Char), buffer^.size); + result := cast(buffer^.data: ^Char)[1 to buffer^.size]; buffer^.size := 0u return result @@ -300,7 +294,7 @@ begin return (* Categorize an identifier. *) -proc lexer_categorize(token_content: String): ^ElnaLexerToken +proc lexer_categorize(token_content: []const Char): ^ElnaLexerToken var current_token: ^ElnaLexerToken begin |
