Lukas Krickl [Fri, 24 Nov 2023 08:43:24 +0000 (09:43 +0100)]
Implemented more instructions
Lukas Krickl [Fri, 24 Nov 2023 05:11:25 +0000 (06:11 +0100)]
WIP: Added some instructions
Lukas Krickl [Thu, 23 Nov 2023 05:21:27 +0000 (06:21 +0100)]
Added instructions that can contain expressions
Lukas Krickl [Wed, 22 Nov 2023 22:06:50 +0000 (23:06 +0100)]
WIP: parser
Lukas Krickl [Wed, 22 Nov 2023 21:51:28 +0000 (22:51 +0100)]
WIP: better instruction parser
Lukas Krickl [Wed, 22 Nov 2023 21:24:41 +0000 (22:24 +0100)]
WIP: lut based instructions
Lukas Krickl [Wed, 22 Nov 2023 19:40:46 +0000 (20:40 +0100)]
WIP: universal instruction parser table
Lukas Krickl [Wed, 22 Nov 2023 18:06:42 +0000 (19:06 +0100)]
added first working ld instruction
Lukas Krickl [Wed, 22 Nov 2023 09:51:05 +0000 (10:51 +0100)]
WIP: error handling
Lukas Krickl [Wed, 22 Nov 2023 09:12:46 +0000 (10:12 +0100)]
WIP: ld instruction
Lukas Krickl [Wed, 22 Nov 2023 07:29:00 +0000 (08:29 +0100)]
WIP: asm load instruction
Lukas Krickl [Tue, 21 Nov 2023 17:39:28 +0000 (18:39 +0100)]
WIP: ld8
Lukas Krickl [Tue, 21 Nov 2023 14:47:22 +0000 (15:47 +0100)]
WIP: ld instructions
Lukas Krickl [Tue, 21 Nov 2023 12:34:40 +0000 (13:34 +0100)]
WIP: ld instructions
Lukas Krickl [Tue, 21 Nov 2023 10:41:56 +0000 (11:41 +0100)]
WIP: Added register definitions
Lukas Krickl [Tue, 21 Nov 2023 06:49:00 +0000 (07:49 +0100)]
Fixed listing output
Lukas Krickl [Tue, 21 Nov 2023 05:20:28 +0000 (06:20 +0100)]
Added docs
Lukas Krickl [Tue, 21 Nov 2023 05:15:47 +0000 (06:15 +0100)]
Changed totok to also use istokterm
Lukas Krickl [Tue, 21 Nov 2023 05:13:25 +0000 (06:13 +0100)]
Moved comment handling to single point
Lukas Krickl [Mon, 20 Nov 2023 20:41:35 +0000 (21:41 +0100)]
Moved comment check to empty line check
Lukas Krickl [Mon, 20 Nov 2023 20:38:58 +0000 (21:38 +0100)]
Added comment support to instruction parser
Lukas Krickl [Mon, 20 Nov 2023 20:25:50 +0000 (21:25 +0100)]
WIP: first instructions are being parsed
Lukas Krickl [Mon, 20 Nov 2023 19:38:46 +0000 (20:38 +0100)]
WIP: asm step tokenizer
Lukas Krickl [Mon, 20 Nov 2023 18:46:22 +0000 (19:46 +0100)]
Moved output to separate functions
Lukas Krickl [Mon, 20 Nov 2023 18:33:25 +0000 (19:33 +0100)]
Made '-' a constant
Lukas Krickl [Mon, 20 Nov 2023 18:17:50 +0000 (19:17 +0100)]
Fixed files
Lukas Krickl [Mon, 20 Nov 2023 17:24:52 +0000 (18:24 +0100)]
Listing output is now using the correct file
Lukas Krickl [Mon, 20 Nov 2023 17:24:14 +0000 (18:24 +0100)]
WIP: added FILE* for symbol and listing buffer
Lukas Krickl [Mon, 20 Nov 2023 16:17:56 +0000 (17:17 +0100)]
WIP: instructions
Lukas Krickl [Mon, 20 Nov 2023 14:58:24 +0000 (15:58 +0100)]
WIP: instruction parsing
Lukas Krickl [Mon, 20 Nov 2023 13:44:40 +0000 (14:44 +0100)]
WIP: Added org directive
Lukas Krickl [Mon, 20 Nov 2023 12:10:49 +0000 (13:10 +0100)]
Added group expressions
Lukas Krickl [Mon, 20 Nov 2023 10:59:20 +0000 (11:59 +0100)]
Implemented unary expressions
Lukas Krickl [Mon, 20 Nov 2023 07:38:43 +0000 (08:38 +0100)]
Fixed some warnings
Lukas Krickl [Mon, 20 Nov 2023 07:27:32 +0000 (08:27 +0100)]
Added more operators
Lukas Krickl [Mon, 20 Nov 2023 06:54:43 +0000 (07:54 +0100)]
Added symbol to list of valid primary expressions
Lukas Krickl [Mon, 20 Nov 2023 06:52:54 +0000 (07:52 +0100)]
Added equality expression
Lukas Krickl [Mon, 20 Nov 2023 06:03:04 +0000 (07:03 +0100)]
Added literal expressions
Lukas Krickl [Sun, 19 Nov 2023 18:36:16 +0000 (19:36 +0100)]
WIP: expression eval
Lukas Krickl [Sun, 19 Nov 2023 16:25:08 +0000 (17:25 +0100)]
WIP: parser for int expressions
Lukas Krickl [Sun, 19 Nov 2023 13:18:49 +0000 (14:18 +0100)]
WIP: parser
Lukas Krickl [Sun, 19 Nov 2023 11:47:17 +0000 (12:47 +0100)]
Added expression buffer
Lukas Krickl [Sun, 19 Nov 2023 09:59:00 +0000 (10:59 +0100)]
WIP: tokenizer
Lukas Krickl [Sun, 19 Nov 2023 08:06:55 +0000 (09:06 +0100)]
WIP: tokenizer adding special tokens
Lukas Krickl [Sun, 19 Nov 2023 07:42:22 +0000 (08:42 +0100)]
WIP: int expressions
Lukas Krickl [Sun, 19 Nov 2023 06:19:04 +0000 (07:19 +0100)]
Fixed tag generator
Lukas Krickl [Sun, 19 Nov 2023 05:32:44 +0000 (06:32 +0100)]
Added sessions to gitignore
Lukas Krickl [Sat, 18 Nov 2023 17:25:48 +0000 (18:25 +0100)]
Simplified token struct
Lukas Krickl [Sat, 18 Nov 2023 13:37:17 +0000 (14:37 +0100)]
WIP: Expression parsing
Lukas Krickl [Sat, 18 Nov 2023 07:42:17 +0000 (08:42 +0100)]
WIP: expression parser
Lukas Krickl [Sat, 18 Nov 2023 06:27:38 +0000 (07:27 +0100)]
Added tests for symbol resolver
Lukas Krickl [Sat, 18 Nov 2023 05:37:11 +0000 (06:37 +0100)]
Added tests for unterminated strings
Lukas Krickl [Fri, 17 Nov 2023 20:38:29 +0000 (21:38 +0100)]
Fixed formatting
Lukas Krickl [Fri, 17 Nov 2023 20:34:32 +0000 (21:34 +0100)]
Changed back to clang-tidy
Lukas Krickl [Fri, 17 Nov 2023 17:35:54 +0000 (18:35 +0100)]
Fixed switch indentation
Lukas Krickl [Fri, 17 Nov 2023 17:26:30 +0000 (18:26 +0100)]
Added par to formatter
Lukas Krickl [Fri, 17 Nov 2023 17:17:29 +0000 (18:17 +0100)]
Moved to indent as formatter
Lukas Krickl [Fri, 17 Nov 2023 16:07:54 +0000 (17:07 +0100)]
Added tests for string tokens and escaping
Lukas Krickl [Fri, 17 Nov 2023 15:42:18 +0000 (16:42 +0100)]
Implemented tests for int token and char token
Lukas Krickl [Fri, 17 Nov 2023 08:03:25 +0000 (09:03 +0100)]
Removed remaining linter warnings
Lukas Krickl [Fri, 17 Nov 2023 07:45:18 +0000 (08:45 +0100)]
Moved all scripts to makefile
Lukas Krickl [Fri, 17 Nov 2023 07:24:10 +0000 (08:24 +0100)]
WIP: added some scripts
Lukas Krickl [Fri, 17 Nov 2023 06:38:01 +0000 (07:38 +0100)]
WIP: tokenizer
Lukas Krickl [Wed, 15 Nov 2023 18:36:46 +0000 (19:36 +0100)]
WIP: tokenizer
Lukas Krickl [Wed, 15 Nov 2023 16:48:56 +0000 (17:48 +0100)]
WIP: tokenizer
Lukas Krickl [Wed, 15 Nov 2023 16:31:14 +0000 (17:31 +0100)]
Replaced size_t with regular unsigned long
Lukas Krickl [Wed, 15 Nov 2023 16:29:41 +0000 (17:29 +0100)]
WIP: tokenizer
Lukas Krickl [Wed, 15 Nov 2023 14:29:36 +0000 (15:29 +0100)]
WIP: token buffer
Lukas Krickl [Wed, 15 Nov 2023 13:21:41 +0000 (14:21 +0100)]
WIP: expressions and values
Lukas Krickl [Tue, 14 Nov 2023 17:33:08 +0000 (18:33 +0100)]
WIP: int expressions
Lukas Krickl [Tue, 14 Nov 2023 10:41:36 +0000 (11:41 +0100)]
Moved asm step.
The asm step is now executed directly after each line is processed.
This makes it easier to track file locations for error reporting.
Lukas Krickl [Mon, 13 Nov 2023 19:15:35 +0000 (20:15 +0100)]
WIP: assembly directives
Lukas Krickl [Mon, 13 Nov 2023 18:44:49 +0000 (19:44 +0100)]
WIP: Assembly
Lukas Krickl [Mon, 13 Nov 2023 18:41:18 +0000 (19:41 +0100)]
Added helper for makign str larger by an offset rather than an absolute
Lukas Krickl [Mon, 13 Nov 2023 18:39:45 +0000 (19:39 +0100)]
WIP: assembly
Lukas Krickl [Mon, 13 Nov 2023 17:59:43 +0000 (18:59 +0100)]
Removed dead return
Lukas Krickl [Mon, 13 Nov 2023 13:53:50 +0000 (14:53 +0100)]
WIP: asm line
Lukas Krickl [Mon, 13 Nov 2023 13:14:02 +0000 (14:14 +0100)]
WIP: asm step
Lukas Krickl [Mon, 13 Nov 2023 13:03:02 +0000 (14:03 +0100)]
WIP: assembly step
Lukas Krickl [Mon, 13 Nov 2023 04:37:33 +0000 (05:37 +0100)]
Pulled preproc init and free into their own function so that
recrusive preproc parses may initialize their own buffers if needed
Lukas Krickl [Sun, 12 Nov 2023 17:36:52 +0000 (18:36 +0100)]
Fixed tests
Lukas Krickl [Sun, 12 Nov 2023 17:34:21 +0000 (18:34 +0100)]
Added \n trim to macro params
Lukas Krickl [Sun, 12 Nov 2023 17:20:18 +0000 (18:20 +0100)]
Removed stray token check in preproc
Lukas Krickl [Sun, 12 Nov 2023 17:16:49 +0000 (18:16 +0100)]
Added basic preprocessor to cli
Lukas Krickl [Sun, 12 Nov 2023 16:16:29 +0000 (17:16 +0100)]
Fixed comment
Lukas Krickl [Sun, 12 Nov 2023 16:15:10 +0000 (17:15 +0100)]
Added tests for ifdef and ifndef
Lukas Krickl [Sun, 12 Nov 2023 15:53:05 +0000 (16:53 +0100)]
WIP: ifdef
Lukas Krickl [Sat, 11 Nov 2023 18:45:37 +0000 (19:45 +0100)]
Making sure that macro params will fit into the buffer
Lukas Krickl [Sat, 11 Nov 2023 18:41:20 +0000 (19:41 +0100)]
Added some useful comments for macro expansion
Lukas Krickl [Sat, 11 Nov 2023 18:39:32 +0000 (19:39 +0100)]
Fixed test case for define without a value so that it does not consume
the nearest white space anymore
Lukas Krickl [Sat, 11 Nov 2023 18:38:58 +0000 (19:38 +0100)]
Added additional test case for define with no value
Lukas Krickl [Sat, 11 Nov 2023 18:37:19 +0000 (19:37 +0100)]
defines and parameters now correctly expand white spaces before the
inserted text
Lukas Krickl [Sat, 11 Nov 2023 17:39:05 +0000 (18:39 +0100)]
Updated macro expansion test
Lukas Krickl [Sat, 11 Nov 2023 17:31:41 +0000 (18:31 +0100)]
Added special $$ macro variable
Lukas Krickl [Sat, 11 Nov 2023 16:14:49 +0000 (17:14 +0100)]
Added simple docs for #define
Lukas Krickl [Sat, 11 Nov 2023 16:13:20 +0000 (17:13 +0100)]
Added #undef directive
Lukas Krickl [Sat, 11 Nov 2023 13:37:05 +0000 (14:37 +0100)]
Added preproc def lookup function for defined directives
Lukas Krickl [Sat, 11 Nov 2023 13:26:58 +0000 (14:26 +0100)]
Removed stdbool
Lukas Krickl [Sat, 11 Nov 2023 12:31:51 +0000 (13:31 +0100)]
Added more tests for macros
Lukas Krickl [Fri, 10 Nov 2023 18:27:46 +0000 (19:27 +0100)]
Added TODO item for macro expansion. Currently I am 99% certain we are
allocating too large a buffer.