2022-02-05 00:47 | add initial array member access syntax | Nihal Jere | 5 | +71 | -0 |
2022-02-05 00:46 | x64: use 1 byte register for comparisons | Nihal Jere | 2 | +3 | -3 |
2022-02-05 00:45 | x64: pick store size using temp size | Nihal Jere | 1 | +16 | -1 |
2022-02-05 00:45 | x64: fix 1 byte reg to reg comparisons | Nihal Jere | 1 | +1 | -1 |
2022-02-03 23:26 | parse: reorganize main switch, exptract expr.start assignment | Nihal Jere | 1 | +54 | -59 |
2022-02-03 20:09 | ir: pull variable into scope where it's used | Nihal Jere | 1 | +3 | -3 |
2022-02-03 19:07 | ir: remove unnecessary variable | Nihal Jere | 1 | +2 | -4 |
2022-02-03 18:46 | move statbuf inside main | Nihal Jere | 1 | +1 | -2 |
2022-02-03 18:22 | main: remove decl_alloc | Nihal Jere | 1 | +16 | -22 |
2022-02-03 01:03 | move emit* call to main | Nihal Jere | 3 | +19 | -22 |
2022-02-02 23:43 | check that toplevel main declaration is a procedure | Nihal Jere | 1 | +3 | -0 |
2022-01-31 22:54 | add break statement to get out of loops | Nihal Jere | 7 | +52 | -8 |
2022-01-30 17:38 | replace blockstack with a more generic pointer stack | Nihal Jere | 17 | +121 | -97 |
2022-01-29 19:33 | ir: incorporate regalloc and regfree into chooseregs | Nihal Jere | 1 | +13 | -26 |
2022-01-29 16:38 | parse: add EXPECTADV macro | Nihal Jere | 1 | +15 | -26 |
2022-01-29 16:31 | parse: only accept curly brackets for blocks that aren't the toplevel | Nihal Jere | 2 | +8 | -6 |
2022-01-29 05:33 | more cleanup | Nihal Jere | 11 | +69 | -89 |
2022-01-29 01:18 | cleanup, especially externs | Nihal Jere | 12 | +34 | -50 |
2022-01-28 05:36 | use const | Nihal Jere | 18 | +172 | -172 |
2022-01-28 02:08 | add not operator | Nihal Jere | 8 | +61 | -0 |
2022-01-28 01:18 | parse: enforce that if conditions are booleans with new class | Nihal Jere | 3 | +18 | -2 |
2022-01-27 22:34 | style | Nihal Jere | 1 | +1 | -2 |
2022-01-27 22:34 | x64: handle je with 32-bit offset | Nihal Jere | 1 | +13 | -2 |
2022-01-27 22:30 | ir: add iblock for more correct register allocation | Nihal Jere | 2 | +63 | -15 |
2022-01-27 22:23 | dumpir: print allocation range for a temporary | Nihal Jere | 1 | +6 | -1 |
2022-01-20 20:36 | ir: add unconditional loop support | Nihal Jere | 1 | +7 | -0 |
2022-01-20 20:37 | x64: handle backward jumps | Nihal Jere | 2 | +30 | -19 |
2022-01-18 18:01 | main: fix assertion | Nihal Jere | 1 | +1 | -1 |
2022-01-18 17:52 | use toplevel data struct instead of global one | Nihal Jere | 3 | +15 | -18 |
2022-01-18 05:20 | ir: add bumplabel wrapper | Nihal Jere | 2 | +16 | -2 |
2022-01-18 04:09 | ir: pull assignment generation code into function to replace goto | Nihal Jere | 1 | +27 | -24 |
2022-01-18 03:52 | rename `struct item` to `struct statement` | Nihal Jere | 5 | +45 | -45 |
2022-01-18 03:47 | x64: add curlabel and assertions | Nihal Jere | 1 | +14 | -4 |
2022-01-16 02:59 | x64: use setcc for comparisons and use this for condjump | Nihal Jere | 1 | +65 | -31 |
2022-01-16 02:52 | x64: consider active registers and curi when calculating block length | Nihal Jere | 1 | +5 | -7 |
2022-01-15 23:00 | ir: combine common decl/assgn code in genblock | Nihal Jere | 1 | +8 | -23 |
2022-01-15 22:43 | ir: change genexpr signature to return value type as well | Nihal Jere | 1 | +45 | -33 |
2022-01-15 04:48 | util: output sigil appropriate for valtype in dumpir | Nihal Jere | 1 | +39 | -18 |
2022-01-15 03:15 | ir: add value type | Nihal Jere | 3 | +110 | -65 |
2022-01-14 23:37 | ir: convert PUTINS macro into function | Nihal Jere | 1 | +28 | -20 |
2022-01-14 17:56 | x64: remove outdated FIXME | Nihal Jere | 1 | +0 | -1 |
2022-01-14 04:00 | ir: handle zext properly in comparisons | Nihal Jere | 3 | +165 | -36 |
2022-01-14 02:23 | ir: move blockpush/pop into genblock | Nihal Jere | 1 | +5 | -4 |
2022-01-14 01:32 | ir: add zext instruction to enable differentiating different widths | Nihal Jere | 6 | +107 | -9 |
2022-01-13 23:33 | replace IR_SIZE with size field, and add flags field to struct temp | Nihal Jere | 4 | +22 | -36 |
2022-01-13 06:16 | ir: rename `struct interval` to `struct temp` | Nihal Jere | 4 | +30 | -30 |
2022-01-13 02:59 | ir: rename instr.id to instr.val | Nihal Jere | 4 | +36 | -36 |
2022-01-13 02:10 | remove x64.h | Nihal Jere | 2 | +19 | -22 |
2022-01-13 02:08 | remove extra allocation when generating code | Nihal Jere | 8 | +300 | -288 |
2022-01-12 22:39 | ir: extract common generation patterns to make less error prone | Nihal Jere | 1 | +71 | -46 |
2022-01-12 20:57 | ir: remove active member from `struct interval` | Nihal Jere | 2 | +26 | -16 |
2022-01-12 02:30 | x64: only push used registers to the stack before call | Nihal Jere | 2 | +27 | -10 |
2022-01-12 00:46 | ir: fix *INS, reset out_index once done with it | Nihal Jere | 1 | +4 | -2 |
2022-01-11 05:01 | move backend specific stuff to ir.c | Nihal Jere | 5 | +36 | -30 |
2022-01-11 02:10 | x64: support numbered registers everywhere and remove some repetition | Nihal Jere | 2 | +106 | -140 |
2022-01-10 21:27 | ir: fix some *INS macros | Nihal Jere | 1 | +5 | -5 |
2022-01-10 21:10 | x64: remove unused functions and make instruction functions static | Nihal Jere | 2 | +229 | -301 |
2022-01-10 20:39 | ir: replace regalloc loop with ffs | Nihal Jere | 1 | +8 | -9 |
2022-01-10 20:26 | make toplevel a global | Nihal Jere | 4 | +10 | -8 |
2022-01-10 18:19 | x64: use relative offsets for call | Nihal Jere | 3 | +34 | -32 |
2022-01-10 05:29 | add x64 backend and do basic register allocation | Nihal Jere | 30 | +506 | -125 |
2022-01-10 05:10 | x64: push and pop numbered registers | Nihal Jere | 1 | +18 | -8 |
2022-01-10 05:09 | x64: allow numbered registers as call address | Nihal Jere | 1 | +5 | -2 |
2022-01-10 05:07 | x64: fix opcodes for mov_r*_mr* instructions | Nihal Jere | 1 | +8 | -8 |
2022-01-05 16:03 | replace x64 code generation with intermediate representation | Nihal Jere | 21 | +455 | -498 |
2022-01-03 05:28 | add xrealloc | Nihal Jere | 3 | +18 | -10 |
2022-01-02 02:41 | gen expr to reg directly | Nihal Jere | 1 | +7 | -10 |
2022-01-01 01:17 | type: typecheck procedure parameters | Nihal Jere | 2 | +97 | -43 |
2021-12-31 01:56 | move typecheck into type.c | Nihal Jere | 3 | +72 | -68 |
2021-12-31 01:19 | add reference type and class to replace str | Nihal Jere | 7 | +18 | -14 |
2021-12-30 20:49 | add fixed size global arrays | Nihal Jere | 7 | +66 | -7 |
2021-12-30 03:05 | replace strncmp | Nihal Jere | 1 | +1 | -2 |
2021-12-30 01:39 | reference to local variables | Nihal Jere | 4 | +24 | -1 |
2021-12-29 23:30 | initial reference operator implementation | Nihal Jere | 6 | +50 | -0 |
2021-12-29 20:57 | expr: put left and right into binop struct inside union | Nihal Jere | 5 | +42 | -40 |
2021-12-27 04:48 | parse: extract number parsing into parsenum | Nihal Jere | 1 | +23 | -5 |
2021-12-27 03:58 | parse: remove unused function findparam | Nihal Jere | 1 | +0 | -14 |
2021-12-27 02:47 | move debugging facilities into util | Nihal Jere | 3 | +118 | -111 |
2021-12-27 02:42 | remove unused global | Nihal Jere | 1 | +0 | -2 |
2021-12-27 02:23 | add some tests | Nihal Jere | 3 | +26 | -0 |
2021-12-26 23:50 | add i8 | Nihal Jere | 5 | +130 | -0 |
2021-12-26 23:06 | remove unused includes | Nihal Jere | 6 | +0 | -7 |
2021-12-26 22:40 | add equals boolean operator | Nihal Jere | 8 | +33 | -3 |
2021-12-26 22:10 | i16 | Nihal Jere | 4 | +129 | -0 |
2021-12-26 19:13 | add i32 support in new 'place' scheme | Nihal Jere | 5 | +130 | -24 |
2021-12-26 04:15 | combine struct out and decl abstractions into struct place | Nihal Jere | 3 | +105 | -161 |
2021-12-26 04:22 | x64: mov_disp8_m64_r64: fix operand order | Nihal Jere | 1 | +1 | -1 |
2021-12-25 05:19 | remove unused 'curproc' | Nihal Jere | 2 | +0 | -5 |
2021-12-25 04:36 | fix global declarations | Nihal Jere | 4 | +53 | -10 |
2021-12-24 04:06 | add i32 type | Nihal Jere | 6 | +150 | -18 |
2021-12-21 00:22 | check assignment expression for correct class instead of declaration | Nihal Jere | 2 | +6 | -5 |
2021-12-20 23:29 | typecheck all blocks, set appropriate classes for proc calls and idents | Nihal Jere | 6 | +77 | -34 |
2021-12-20 18:00 | generate assignment code in genexpr | Nihal Jere | 1 | +6 | -16 |
2021-12-20 06:17 | typecheck assignments and declarations the same, and add a test | Nihal Jere | 2 | +22 | -30 |
2021-12-20 00:58 | type: fix str (pointer) size, and index for types already in table | Nihal Jere | 1 | +3 | -1 |
2021-12-18 20:12 | return 1 value from a procedure | Nihal Jere | 6 | +145 | -83 |
2021-12-17 19:11 | refactor parameter parsing, parse function out nametypes | Nihal Jere | 14 | +91 | -54 |
2021-12-16 17:41 | get return value from syscall | Nihal Jere | 2 | +120 | -128 |
2021-12-16 05:58 | gensyscall: correct register allocation | Nihal Jere | 1 | +16 | -4 |
2021-12-16 05:35 | only allocate a register when necessary, fix clearreg | Nihal Jere | 2 | +7 | -3 |
2021-12-16 02:01 | x64: make make function names more consistent, simplify things | Nihal Jere | 3 | +64 | -76 |
2021-12-15 18:04 | cleanup | Nihal Jere | 3 | +12 | -6 |
2021-12-14 23:47 | test/assign_int: exit | Nihal Jere | 1 | +2 | -0 |
2021-12-14 23:08 | fix stack addressing | Nihal Jere | 1 | +2 | -2 |
2021-12-14 22:50 | only exit blockloop on RCURLY if opened with LCURLY | Nihal Jere | 2 | +4 | -1 |
2021-12-14 22:42 | x64: use correct opcode for mov_disp8_m64_r64 | Nihal Jere | 1 | +1 | -1 |
2021-12-14 22:42 | reserve RBP and RSP | Nihal Jere | 2 | +3 | -1 |
2021-12-14 18:47 | stack allocated variables | Nihal Jere | 10 | +186 | -58 |
2021-12-14 18:37 | blockstack: rework | Nihal Jere | 5 | +23 | -12 |
2021-12-14 02:21 | array: add function to add count zero bytes to array | Nihal Jere | 2 | +26 | -0 |
2021-12-14 01:43 | array: reorder params | Nihal Jere | 2 | +4 | -4 |
2021-12-13 22:43 | fix warnings, cleanup | Nihal Jere | 7 | +19 | -27 |
2021-12-13 22:07 | type check proc declarations | Nihal Jere | 2 | +13 | -1 |
2021-12-13 21:58 | decl: number of parameters must match in proc type and proc expression | Nihal Jere | 2 | +11 | -0 |
2021-12-13 05:03 | Add types, stack frame construction and consequently procedures | Nihal Jere | 19 | +1055 | -39 |
2021-12-10 02:17 | map tokens to strings, improve error message | Nihal Jere | 2 | +24 | -1 |
2021-12-10 02:01 | make error vararg | Nihal Jere | 5 | +45 | -34 |
2021-12-09 22:54 | parse: split | Nihal Jere | 4 | +272 | -240 |
2021-12-09 20:25 | lex: split into separate file | Nihal Jere | 4 | +130 | -124 |
2021-12-09 19:36 | set entry to offset of main procedure | Nihal Jere | 7 | +46 | -28 |
2021-12-09 16:58 | initial procedure implementation | Nihal Jere | 7 | +100 | -22 |
2021-12-08 05:48 | fix line/col marking | Nihal Jere | 1 | +3 | -2 |
2021-12-07 22:44 | move whitespace cases to top | Nihal Jere | 1 | +12 | -8 |
2021-12-07 22:24 | report location of errors and add test | Nihal Jere | 6 | +103 | -61 |
2021-12-07 17:57 | error check on mmap | Nihal Jere | 1 | +4 | -0 |
2021-12-07 17:44 | remove prog.nc | Nihal Jere | 1 | +0 | -8 |
2021-12-07 17:44 | add variable reassignment, and some tests | Nihal Jere | 7 | +97 | -8 |
2021-12-05 23:48 | disallow multiple declarations with same name in a block | Nihal Jere | 1 | +5 | -0 |
2021-12-05 20:17 | fix block curly bracket handling | Nihal Jere | 1 | +3 | -1 |
2021-12-05 20:02 | use 'let' for declaration | Nihal Jere | 4 | +18 | -13 |
2021-12-05 18:37 | add yes test | Nihal Jere | 2 | +15 | -0 |
2021-12-05 18:20 | string escapes | Nihal Jere | 4 | +64 | -36 |
2021-12-05 04:32 | remove unnecessary dereference/reference | Nihal Jere | 1 | +1 | -1 |
2021-12-05 04:28 | add loops | Nihal Jere | 3 | +23 | -6 |
2021-12-05 01:07 | add ADVANCE macro to advance slice when lexing | Nihal Jere | 1 | +26 | -40 |
2021-12-05 01:01 | add function to compare literals to slices | Nihal Jere | 4 | +20 | -4 |
2021-12-05 00:06 | remove unnecessary malloc | Nihal Jere | 1 | +2 | -11 |
2021-12-04 23:44 | fix some -Wall -Werror issues | Nihal Jere | 1 | +6 | -7 |
2021-12-04 02:42 | correct jump offset when exiting if | Nihal Jere | 2 | +2 | -2 |
2021-12-04 02:16 | push starting virtual address to 0x10000 | Nihal Jere | 2 | +6 | -5 |
2021-12-03 21:57 | initial if/else | Nihal Jere | 5 | +273 | -103 |
2021-11-30 19:38 | expression evaluation at assignment | Nihal Jere | 5 | +48 | -10 |
2021-11-30 17:07 | check that binary expression operands are of the same type | Nihal Jere | 2 | +28 | -27 |
2021-11-29 02:47 | error if not enough args given | Nihal Jere | 1 | +3 | -1 |
2021-11-29 02:07 | add str type, allow assignment to variable from str literal | Nihal Jere | 3 | +23 | -7 |
2021-11-29 00:58 | types and typechecking | Nihal Jere | 3 | +46 | -6 |
2021-11-28 05:28 | subtract operands in correct order | Nihal Jere | 1 | +1 | -1 |
2021-11-28 05:06 | paranthetical grouping for expressions | Nihal Jere | 2 | +8 | -1 |
2021-11-27 05:31 | make fcall an expression | Nihal Jere | 2 | +53 | -48 |
2021-11-24 00:36 | subtraction | Nihal Jere | 5 | +41 | -1 |
2021-11-24 00:17 | cast void* to char* for memcpy for arithmetic | Nihal Jere | 1 | +1 | -1 |
2021-11-24 00:17 | Makefile: add clean target | Nihal Jere | 1 | +3 | -0 |
2021-11-23 22:46 | functional binary expression evaluation | Nihal Jere | 4 | +59 | -6 |
2021-11-23 22:45 | allow dumping of EXPR_IDENT | Nihal Jere | 1 | +5 | -0 |
2021-11-19 17:12 | add license | Nihal Jere | 1 | +13 | -0 |
2021-11-19 17:09 | add .gitignore | Nihal Jere | 1 | +2 | -0 |
2021-11-19 16:14 | extract elf | Nihal Jere | 4 | +71 | -63 |
2021-11-19 15:42 | util.[ch] and nooc.h | Nihal Jere | 5 | +134 | -122 |
2021-11-19 03:09 | add Makefile | Nihal Jere | 1 | +5 | -0 |
2021-11-19 03:08 | pull x64 specific code out of main | Nihal Jere | 3 | +95 | -85 |
2021-11-19 00:38 | DATA_OFFSET, compile with cproc | Nihal Jere | 1 | +13 | -10 |
2021-11-18 20:44 | integer variables! | Nihal Jere | 2 | +151 | -48 |
2021-11-18 20:44 | array: determine item size properly | Nihal Jere | 1 | +1 | -1 |
2021-11-17 05:13 | add name and = token | Nihal Jere | 1 | +16 | -1 |
2021-11-17 01:29 | codegen for simple add expressions | Nihal Jere | 2 | +42 | -6 |
2021-11-17 00:35 | add initial expression codegen | Nihal Jere | 1 | +138 | -40 |
2017-02-27 07:21 | remove old code array | Nihal Jere | 1 | +0 | -2 |
2021-11-09 23:02 | start on expression parsing | Nihal Jere | 1 | +71 | -23 |
2021-11-09 18:35 | pull mov encoding out of gensyscall, make enums important for encoding | Nihal Jere | 1 | +58 | -20 |
2021-11-07 05:34 | support multiple statements | Nihal Jere | 2 | +63 | -42 |
2021-11-07 01:40 | array: fix allocation | Nihal Jere | 1 | +8 | -3 |
2021-11-06 21:53 | write syscall support | Nihal Jere | 4 | +81 | -40 |
2021-11-03 19:39 | can do arbitrary syscalls | Nihal Jere | 4 | +90 | -15 |
2021-11-02 16:16 | add syscall call | Nihal Jere | 2 | +24 | -7 |
2021-11-02 04:54 | handle whitespace | Nihal Jere | 2 | +7 | -3 |
2021-11-02 04:48 | add simple lexing, parsing and codegen capable of "compiling" prog.nc | Nihal Jere | 2 | +125 | -5 |
2021-11-01 04:09 | mmap input file | Nihal Jere | 1 | +21 | -8 |
2021-10-31 03:15 | return code generator | Nihal Jere | 1 | +97 | -0 |