diff options
Diffstat (limited to 'source/common.elna')
| -rw-r--r-- | source/common.elna | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/source/common.elna b/source/common.elna deleted file mode 100644 index e7b30ca..0000000 --- a/source/common.elna +++ /dev/null @@ -1,72 +0,0 @@ -(* This Source Code Form is subject to the terms of the Mozilla Public License, - v. 2.0. If a copy of the MPL was not distributed with this file, You can - obtain one at https://mozilla.org/MPL/2.0/. *) -module; - -import cstring, cstdio; - -type - Identifier = [256]Char; - TextLocation* = record - line: Word; - column: Word - end; - -proc write*(fd: Int, buf: Pointer, Word: Int) -> Int; extern; - -proc write_s*(value: String); -begin - (* fwrite(cast(value.ptr: Pointer), value.length, 1u, stdout) *) - write(1, cast(value.ptr: Pointer), cast(value.length: Int)) -end; - -proc write_z*(value: ^Char); -begin - write(1, cast(value: Pointer), cast(strlen(value): Int)) -end; - -proc write_b*(value: Bool); -begin - if value then - write_s("true") - else - write_s("false") - end -end; - -proc write_c*(value: Char); -begin - putchar(cast(value: Int)); - fflush(nil) -end; - -proc write_i*(value: Int); -var - digit: Int; - n: Word; - buffer: [10]Char; -begin - n := 10u; - - if value = 0 then - write_c('0') - end; - while value <> 0 do - digit := value % 10; - value := value / 10; - - buffer[n] := cast(cast('0': Int) + digit: Char); - n := n - 1u - end; - while n < 10u do - n := n + 1u; - write_c(buffer[n]) - end -end; - -proc write_u*(value: Word); -begin - write_i(cast(value: Int)) -end; - -end. |
