diff options
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 |
