- [KANBAN] Initialize
- [KUICK][TOKENIZER] Write tests to specificity test tokenizer
- [KUICK][PARSER] refactor still pass tests
- [KUICK][TOKENIZER] change whitespace and comments to their own tokens
- [KUICK][TOKENIZER][TOKEN] implement NUMBER_FLOAT
- [KUICK][TOKENIZER][TOKEN] implement NUMBER_DOUBLE
- [KUICK][TOKENIZER][TOKEN] implement NUMBER_HEX
- [KUICK][TOKENIZER] Write Tests for every Token
- [KUICK][TOKENIZER] Implement all failing tests
- [KUICK][TOKENIZER] Implement all failing tests
- [KUICK][LEXER] Refactor switch the name of the parser and lexer because I had the definitions backwards
- [KUICK][PARSER] Change to using a parser that makes an intermediary AST (Abstract Syntax Tree)
- [KUICK][PARSER] Write Test for R Type Instruction
ADD
- [KUICK][PARSER] Write Test for I Type Instruction
ADDI
- [KUICK][PARSER] Write Test for S Type Instruction
SW
- [KUICK][PARSER] Write Test for S Type Instruction
SH
- [KUICK][PARSER] Write Test for S Type Instruction
SB
- [KUICK][PARSER] Refactor ParseIInstruction to use the new ParseOP, ParseRegister, and ParseImmediate functions
- [KUICK][PARSER] Refactor ParseRInstruction to use the new ParseOP, ParseRegister, and ParseImmediate functions
- [KUICK][PARSER] Write Test for R Type Instruction
SUB
- [KUICK][PARSER] Write Test for R Type Instruction
AND
- [KUICK][PARSER] Write Test for R Type Instruction
OR
- [KUICK][PARSER] Write Test for I Type Instruction
SLTI
- [KUICK][PARSER] Write Test for I Type Instruction
XORI
- [KUICK][PARSER] Write Test for I Type Instruction
ORI
- [KUICK][PARSER] Write Test for I Type Instruction
SLLI
- [KUICK][PARSER] Write Test for I Type Instruction
SRLI
- [KUICK][PARSER] Write Test for B Type Instruction
BEQ
- [KUICK][PARSER] Write Test for B Type Instruction
BNE
- [KUICK][PARSER] Write Test for B Type Instruction
BLT
- [KUICK][PARSER] Write Test for B Type Instruction
BGE
- [KUICK][PARSER] Refactor ParseNodeSection to use a switch statement instead of ifs
- [KUICK][PARSER] Refactor ParseNodeSection to Reduce code dupliaction in the difrent OP types
- [KUICK][PARSER] Write Test for U Type Instruction
LUI
- [KUICK][PARSER] Write Test for U Type Instruction
AUIPC
- [KUICK][PARSER] Write Test for J Type Instruction
JAL
- [KUICK][PARSER] Rewrite tests to take in string and output AST
- [KUICK][PARSER] Implement Pseudo Instruction:
nop
- [KUICK][PARSER] Implement Pseudo Instruction:
neg
- [KUICK][PARSER] Implement Pseudo Instruction:
seqz
- [KUICK][PARSER] Implement Pseudo Instruction:
snez
- [KUICK][PARSER] Implement Pseudo Instruction:
sltz
- [KUICK][PARSER] Implement Pseudo Instruction:
sgtz
- [KUICK][PARSER] Implement Pseudo Instruction:
beqz
- [KUICK][PARSER] Implement Pseudo Instruction:
bnez
- [KUICK][PARSER] Implement Pseudo Instruction:
blez
- [KUICK][PARSER] Implement Pseudo Instruction:
bgez
- [KUICK][PARSER] Implement Pseudo Instruction:
bltz
- [KUICK][PARSER] Implement Pseudo Instruction:
bgtz
- [KIUCK][PARSER][BUG]
BEQZ
type instructions not working for some reason. Figure out why and fix it. - [KIUCK][PARSER][BUG] Fix test case for
bltz x3, 0x00000001
- [KUICK][LEXER] Implement Binary Literals
- [KUICK][PARSER] Implement Inline Directive
%hi
- [KUICK][PARSER] Implement Inline Directive
%lo
- [KUICK][PARSER] Implement Inline Directive
%pcrel_hi
- [KUICK][PARSER] Implement Inline Directive
%pcrel_lo
- [KUICK][PARSER] Implement
LB
- [KUICK][PARSER] Implement
LBU
- [KUICK][PARSER] Implement
LH
- [KUICK][PARSER] Implement
LHU
- [KUICK][PARSER] Implement
LW
- [KUICK][PARSER] Implement
LWU
- [KUICK][PARSER] Implement
LD
- [IO][External] ELF64 Parser (Headers)
-
[IO][External] ELF64 Parser (Program Headers)
-
[IO][External] ELF64 Parser (Sections)
-
[IO][External] ELF64 Writer (Headers)
-
[IO][External] ELF64 Writer (Program Headers)
-
[IO][External] ELF64 Writer (Sections)
-
[KIUCK][PARSER] Implement Pseudo Instructions
-
[KIUCK][PARSER][TEST] Pseudo Instruction
beqz
-
[KIUCK][PARSER][TEST] Pseudo Instruction
bnez
-
[KIUCK][PARSER][TEST] Pseudo Instruction
blez
-
[KIUCK][PARSER][TEST] Pseudo Instruction
bgez
-
[KIUCK][PARSER][TEST] Pseudo Instruction
bltz
-
[KIUCK][PARSER][TEST] Pseudo Instruction
bgtz
-
[KANBAN][KIUCK][PARSER] Add Tasks for remaining Pseudo Instruction implementations
-
Confirm that all the tests for the previous Pseudo Instruction implementations exist (Rushed atm)
-
Refactor KUICK into its own library
-
[KUICK][ASSEMBLER] Rewrite tests to take in AST and output binary
-
[KUICK][ASSEMBLER] Write Tests for every Token
- [KUICK][PARSER] Implement
%hi(msg)
- [KUICK][PARSER] Implement
%lo(msg)
- [KUICK][PARSER] Implement
msg: .string "Hello World\n"
- [KUICK][ASSEMBLER] Implement all failing tests
- Implement all RISC-V ASM directives in (RISC-V ASSEMBLY LANGUAGE Programmer Manual - Part 1)[https://shakti.org.in/docs/risc-v-asm-manual.pdf] (contact @ shakti[dot]iitm[@]gmail[dot]com)
- [KUICK][PARSER] Write Test for F Type Instruction
FADD.S
- [KUICK][PARSER] Write Test for F Type Instruction
FMUL.D
- [KUICK][PARSER] Write Test for RV32I/E Instruction Set Instruction
LW
- [KUICK][PARSER] Write Test for RV64I/E Instruction Set Instruction
ADDIW
- [KUICK][PARSER] Write Test for RV64I/E Instruction Set Instruction
LD
- [KUICK][PARSER] Write Test for RV64I/E Instruction Set Instruction
SD
- [Cite] Email SHAKTI Development Team requesting to include their PDF in this repository (RISC-V ASSEMBLY LANGUAGE Programmer Manual - Part 1)[https://shakti.org.in/docs/risc-v-asm-manual.pdf]