tokeniser: int/float types
This commit is contained in:
parent
2df4d182f9
commit
4491df79a2
|
|
@ -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 "<not a lexeme>", 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 "<identifier>"
|
||||
LEX_IDENT_len equ $ - LEX_IDENT
|
||||
LEX_NUMBER db "<number>"
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)]
|
||||
|
|
|
|||
Loading…
Reference in a new issue