diff --git a/lang/src/tokeniser.inc b/lang/src/tokeniser.inc index 182894b..89db7ef 100644 --- a/lang/src/tokeniser.inc +++ b/lang/src/tokeniser.inc @@ -34,6 +34,16 @@ LEXEMES: dq LEX_VOID dq LEX_SLASH dq LEX_STAR + dq LEX_U8 + dq LEX_I8 + dq LEX_U16 + dq LEX_I16 + dq LEX_U64 + dq LEX_I64 + dq LEX_USIZE + dq LEX_ISIZE + dq LEX_F32 + dq LEX_F64 align 8 TOKENS: @@ -70,6 +80,16 @@ TOKENS: db TOKEN_VOID ;; 30 db TOKEN_SLASH ;; 31 db TOKEN_STAR ;; 32 + db TOKEN_U8 ;; 33 + db TOKEN_I8 ;; 34 + db TOKEN_U16 ;; 35 + db TOKEN_I16 ;; 36 + db TOKEN_U64 ;; 37 + db TOKEN_I64 ;; 38 + db TOKEN_USIZE ;; 39 + db TOKEN_ISIZE ;; 40 + db TOKEN_F32 ;; 41 + db TOKEN_F64 ;; 42 align 8 LEXEME_LENS: @@ -106,9 +126,19 @@ LEXEME_LENS: dq LEX_VOID_len dq LEX_SLASH_len dq LEX_STAR_len + dq LEX_U8_len + dq LEX_I8_len + dq LEX_U16_len + dq LEX_I16_len + dq LEX_U64_len + dq LEX_I64_len + dq LEX_USIZE_len + dq LEX_ISIZE_len + dq LEX_F32_len + dq LEX_F64_len align 8 -NUM_LEXEMES: dq 33 +NUM_LEXEMES: dq 43 LEX_NOT_A_LEXEME db "", 0 LEX_LET db "let" @@ -175,6 +205,26 @@ NUM_LEXEMES: dq 33 LEX_SLASH_len equ $ - LEX_SLASH LEX_STAR db "*" LEX_STAR_len equ $ - LEX_STAR + LEX_U8 db "u8" + LEX_U8_len equ $ - LEX_U8 + LEX_I8 db "i8" + LEX_I8_len equ $ - LEX_I8 + LEX_U16 db "u16" + LEX_U16_len equ $ - LEX_U16 + LEX_I16 db "i16" + LEX_I16_len equ $ - LEX_I16 + LEX_U64 db "u64" + LEX_U64_len equ $ - LEX_U64 + LEX_I64 db "i64" + LEX_I64_len equ $ - LEX_I64 + LEX_USIZE db "usize" + LEX_USIZE_len equ $ - LEX_USIZE + LEX_ISIZE db "isize" + LEX_ISIZE_len equ $ - LEX_ISIZE + LEX_F32 db "f32" + LEX_F32_len equ $ - LEX_F32 + LEX_F64 db "f64" + LEX_F64_len equ $ - LEX_F64 LEX_IDENT db "" LEX_IDENT_len equ $ - LEX_IDENT LEX_NUMBER db "" @@ -218,8 +268,18 @@ NUM_LEXEMES: dq 33 TOKEN_VOID equ 30 ; :u8 TOKEN_SLASH equ 31 ; :u8 TOKEN_STAR equ 32 ; :u8 - TOKEN_IDENT equ 33 ; :u8 - TOKEN_NUMBER equ 34 ; :u8 - TOKEN_STRING equ 35 ; :u8 - TOKEN_COMMENT equ 36 ; :u8 + TOKEN_U8 equ 33 ; :u8 + TOKEN_I8 equ 34 ; :u8 + TOKEN_U16 equ 35 ; :u8 + TOKEN_I16 equ 36 ; :u8 + TOKEN_U64 equ 37 ; :u8 + TOKEN_I64 equ 38 ; :u8 + TOKEN_USIZE equ 39 ; :u8 + TOKEN_ISIZE equ 40 ; :u8 + TOKEN_F32 equ 41 ; :u8 + TOKEN_F64 equ 42 ; :u8 + TOKEN_IDENT equ 43 ; :u8 + TOKEN_NUMBER equ 44 ; :u8 + TOKEN_STRING equ 45 ; :u8 + TOKEN_COMMENT equ 46 ; :u8 ;; end-consts diff --git a/lang/tests/shared/defs.rs b/lang/tests/shared/defs.rs index df0959a..bc5692a 100644 --- a/lang/tests/shared/defs.rs +++ b/lang/tests/shared/defs.rs @@ -58,10 +58,20 @@ pub const TOKEN_RBRACKET: u8 = 29; pub const TOKEN_VOID: u8 = 30; pub const TOKEN_SLASH: u8 = 31; pub const TOKEN_STAR: u8 = 32; -pub const TOKEN_IDENT: u8 = 33; -pub const TOKEN_NUMBER: u8 = 34; -pub const TOKEN_STRING: u8 = 35; -pub const TOKEN_COMMENT: u8 = 36; +pub const TOKEN_U8: u8 = 33; +pub const TOKEN_I8: u8 = 34; +pub const TOKEN_U16: u8 = 35; +pub const TOKEN_I16: u8 = 36; +pub const TOKEN_U64: u8 = 37; +pub const TOKEN_I64: u8 = 38; +pub const TOKEN_USIZE: u8 = 39; +pub const TOKEN_ISIZE: u8 = 40; +pub const TOKEN_F32: u8 = 41; +pub const TOKEN_F64: u8 = 42; +pub const TOKEN_IDENT: u8 = 43; +pub const TOKEN_NUMBER: u8 = 44; +pub const TOKEN_STRING: u8 = 45; +pub const TOKEN_COMMENT: u8 = 46; #[repr(C)] #[derive(Debug)]