![]() |
T.I.M | Toolchain Documentation
|
Header file for data types and functions used by the asm code lexer. More...
Go to the source code of this file.
Data Structures | |
| struct | asm_lex_token |
| Typedef for the asm lexer token structure. More... | |
| union | asm_lex_token_value |
| Union to hold the correct value of an instruction. More... | |
| #define | lex_tok_LOAD "LOAD" |
| #define | lex_tok_STORE "STORE" |
| #define | lex_tok_PUSH "PUSH" |
| #define | lex_tok_POP "POP" |
| #define | lex_tok_MOV "MOV" |
| #define | lex_tok_JUMP "JUMP" |
| #define | lex_tok_CALL "CALL" |
| #define | lex_tok_RETURN "RETURN" |
| #define | lex_tok_TEST "TEST" |
| #define | lex_tok_HALT "HALT" |
| #define | lex_tok_AND "AND" |
| #define | lex_tok_NAND "NAND" |
| #define | lex_tok_OR "OR" |
| #define | lex_tok_NOR "NOR" |
| #define | lex_tok_XOR "XOR" |
| #define | lex_tok_LSL "LSL" |
| #define | lex_tok_LSR "LSR" |
| #define | lex_tok_NOT "NOT" |
| #define | lex_tok_IADD "IADD" |
| #define | lex_tok_ISUB "ISUB" |
| #define | lex_tok_IMUL "IMUL" |
| #define | lex_tok_IDIV "IDIV" |
| #define | lex_tok_IASR "IASR" |
| #define | lex_tok_FADD "FADD" |
| #define | lex_tok_FSUB "FSUB" |
| #define | lex_tok_FMUL "FMUL" |
| #define | lex_tok_FDIV "FDIV" |
| #define | lex_tok_FASR "FASR" |
| #define | lex_tok_NOP "NOP" |
| #define | lex_tok_SLEEP "SLEEP" |
| #define | lex_tok_DATA "DATA" |
| enum | asm_lex_opcode { LEX_LOAD = 1, LEX_STORE = 2, LEX_PUSH = 3, LEX_POP = 4, LEX_MOV = 5, LEX_JUMP = 6, LEX_CALL = 7, LEX_RETURN = 8, LEX_TEST = 9, LEX_HALT = 10, LEX_AND = 11, LEX_NAND = 12, LEX_OR = 13, LEX_NOR = 14, LEX_XOR = 15, LEX_LSL = 16, LEX_LSR = 17, LEX_NOT = 18, LEX_IADD = 19, LEX_ISUB = 20, LEX_IMUL = 21, LEX_IDIV = 22, LEX_IASR = 23, LEX_FADD = 24, LEX_FSUB = 25, LEX_FMUL = 26, LEX_FDIV = 27, LEX_FASR = 28, LEX_NOP = 29, LEX_SLEEP = 30, LEX_DATA = 31, LEX_ERROR = 32 } |
| enum | asm_lex_token_type { OPCODE, LABEL, REGISTER, IMMEDIATE, CONDITION } |
| The type of token that a lexer token can be. More... | |
| typedef char | asm_lex_label |
| Type mask for a character array. More... | |
| asm_lex_token * | asm_lex_input_file (FILE *input, int *errors) |
| Parses an entire input file into a single lexical token stream. More... | |
Header file for data types and functions used by the asm code lexer.
| #define lex_tok_AND "AND" |
Referenced by asm_lex_instruction().
| #define lex_tok_CALL "CALL" |
Referenced by asm_lex_instruction().
| #define lex_tok_DATA "DATA" |
Referenced by asm_lex_instruction().
| #define lex_tok_FADD "FADD" |
Referenced by asm_lex_instruction().
| #define lex_tok_FASR "FASR" |
Referenced by asm_lex_instruction().
| #define lex_tok_FDIV "FDIV" |
Referenced by asm_lex_instruction().
| #define lex_tok_FMUL "FMUL" |
Referenced by asm_lex_instruction().
| #define lex_tok_FSUB "FSUB" |
Referenced by asm_lex_instruction().
| #define lex_tok_HALT "HALT" |
Referenced by asm_lex_instruction().
| #define lex_tok_IADD "IADD" |
Referenced by asm_lex_instruction().
| #define lex_tok_IASR "IASR" |
Referenced by asm_lex_instruction().
| #define lex_tok_IDIV "IDIV" |
Referenced by asm_lex_instruction().
| #define lex_tok_IMUL "IMUL" |
Referenced by asm_lex_instruction().
| #define lex_tok_ISUB "ISUB" |
Referenced by asm_lex_instruction().
| #define lex_tok_JUMP "JUMP" |
Referenced by asm_lex_instruction().
| #define lex_tok_LOAD "LOAD" |
Referenced by asm_lex_instruction().
| #define lex_tok_LSL "LSL" |
Referenced by asm_lex_instruction().
| #define lex_tok_LSR "LSR" |
Referenced by asm_lex_instruction().
| #define lex_tok_MOV "MOV" |
Referenced by asm_lex_instruction().
| #define lex_tok_NAND "NAND" |
Referenced by asm_lex_instruction().
| #define lex_tok_NOP "NOP" |
Referenced by asm_lex_instruction().
| #define lex_tok_NOR "NOR" |
Referenced by asm_lex_instruction().
| #define lex_tok_NOT "NOT" |
Referenced by asm_lex_instruction().
| #define lex_tok_OR "OR" |
Referenced by asm_lex_instruction().
| #define lex_tok_POP "POP" |
Referenced by asm_lex_instruction().
| #define lex_tok_PUSH "PUSH" |
Referenced by asm_lex_instruction().
| #define lex_tok_RETURN "RETURN" |
Referenced by asm_lex_instruction().
| #define lex_tok_SLEEP "SLEEP" |
Referenced by asm_lex_instruction().
| #define lex_tok_STORE "STORE" |
Referenced by asm_lex_instruction().
| #define lex_tok_TEST "TEST" |
Referenced by asm_lex_instruction().
| #define lex_tok_XOR "XOR" |
Referenced by asm_lex_instruction().
| typedef char asm_lex_label |
Type mask for a character array.
| enum asm_lex_opcode |
| enum asm_lex_token_type |
| asm_lex_token* asm_lex_input_file | ( | FILE * | input, |
| int * | errors | ||
| ) |
Parses an entire input file into a single lexical token stream.
| input | - The input file with the seeker at the beginning of the file. |
| errors | - pointer to an error counter. |
References ALWAYS, asm_lex_file_readline(), asm_lex_immediate(), asm_lex_instruction(), asm_lex_register(), CONDITION, error, IFFALSE, IFTRUE, IFZERO, IMMEDIATE, LABEL, LEX_ERROR, OPCODE, and REGISTER.
Referenced by main().