Commit Graph

56 Commits

Author SHA1 Message Date
31deaea266 frontend: update parser api usage with diagnostic support 2025-05-08 22:33:18 +01:00
8c703199cf frontend: update lex token usage 2025-05-08 22:33:05 +01:00
ce8a12d4f7 frontend: update api usage with diagnostic support 2025-05-08 20:32:22 +01:00
9f963c5757 frontend: add token coordinates to print_lex_token output 2025-05-08 10:53:35 +01:00
ff136adbe7 frontend: compile: print ast nodes as they are passed to the code generator
when both -a and -i switches are specified, ast nodes will be printed as they
are passed to the code generator, rather than all at once /before/ code
generation.

this makes it easier to determine which ast node is causing a code generation
error.
2025-04-28 15:47:32 +01:00
7ba88b65f8 frontend: update mie api usage to use new context parameter 2025-04-28 15:47:24 +01:00
1942070c4e frontend: repl: disable post-order ast printing 2025-04-22 15:31:51 +01:00
78817b6b8c update: use updated parser api to fix memory leaks 2025-04-17 23:16:16 +01:00
635d23d2e1 frontend: update codegen usage to only use pre-order ast traversal 2025-04-16 21:59:32 +01:00
abebdb595a frontend: add IR generation to compile command 2025-04-15 11:00:48 +01:00
4587416ac9 frontend: repl: generate ir from input 2025-04-14 20:15:41 +01:00
bcc0daa2d5 frontend: update ast iterator api usage 2025-04-14 12:25:49 +01:00
f123902215 frontend: add parameters to print_ast_node iterator function
the caller can now specify whether the nodes should be printed
in pre-order or post-order, and whether the output should be indented.
2025-04-14 12:24:56 +01:00
c682cbb15a frontend: update ast traversal api usage 2025-04-14 09:46:36 +01:00
251ed8c144 frontend: add coloured output for try-catch-finally AST nodes 2025-01-16 13:18:19 +00:00
d50417c4b7 frontend: add command to disassemble object files 2025-01-15 17:40:01 +00:00
bc8bfcea9d meta: add missing exe resource files 2024-12-16 20:57:30 +00:00
724f40f19f frontend: add stub disassemble command 2024-12-13 18:08:53 +00:00
b3a9943fe5 frontend: fix all compiler warnings 2024-12-13 17:20:45 +00:00
3bb94aa36e frontend: assemble: convert input file to output assembly 2024-12-13 12:26:32 +00:00
24d443b818 frontend: assemble: add assembler test 2024-12-10 22:27:34 +00:00
b87d152f07 meta: add metadata to win32 exe/dll files 2024-12-07 19:32:35 +00:00
bd377b00f4 frontend: repl: add show-lex and show-ast command options 2024-12-06 20:24:50 +00:00
175e191aa6 frontend: debug: replace custom ast node printer with ast_node_to_string 2024-12-06 20:24:33 +00:00
ec05379e33 cmake: add support for static build 2024-12-06 19:48:20 +00:00
603c6709fb frontend: add debug-print support for ATOM and STRING nodes; add colour to several node types 2024-12-06 13:48:08 +00:00
363b13534d frontend: compile: replace verbose option with dedicated logging options 2024-12-06 13:21:55 +00:00
8ef057360e frontend: compile: add verbose command option 2024-12-05 21:06:03 +00:00
5af47ce443 frontend: add colours to conditional AST tree debug output 2024-12-04 16:35:41 +00:00
bb34e46c69 frontend: implement an ast node printer 2024-12-01 13:19:48 +00:00
9df8474515 frontend: always print lex tokens when compiling file or repl input 2024-11-27 22:30:42 +00:00
886c0b49a4 frontend: compile: parse source files 2024-11-26 13:10:36 +00:00
25e65f2107 frontend: repl: combine repl_full and repl_lex_only 2024-11-26 13:09:57 +00:00
8eb7eff274 frontend: repl: print ast once all tokens in the lex buffer have been consumed 2024-11-25 16:51:29 +00:00
6fa1524766 frontend: repl: print the ast after each line of input 2024-11-24 20:50:32 +00:00
5622073252 frontend: repl: print and destroy ast nodes after parsing 2024-11-24 16:12:49 +00:00
e71f6a0904 frontend: repl: pass user input through the parser 2024-11-23 19:28:26 +00:00
17ee2b6b57 frontend: switch to new bluelib tty interface 2024-11-20 22:14:35 +00:00
8df4592a6b frontend: assemble: lex assembly file contents 2024-11-19 22:09:54 +00:00
adf4e38578 frontend: implement function for printing assembly lex tokens 2024-11-19 22:09:32 +00:00
335e360b2d frontend: implement printing integer and double lex tokens 2024-11-19 16:57:39 +00:00
ea3c01204b frontend: repl: remove line continuations from input produced by line-ed 2024-11-19 15:59:05 +00:00
b62c048498 frontend: line-ed: fix control characters (\n, \r, etc) being mishandled on win32 2024-11-19 15:58:25 +00:00
7eab36aa5f frontend: add command for internal debugging functionality 2024-11-19 15:22:58 +00:00
eda7a1f951 frontend: line-ed: add missing tty function implementations for linux & darwin 2024-11-19 13:00:11 +00:00
4d411c67f0 frontend: line-ed: add missing wchar includes 2024-11-19 12:59:52 +00:00
c5f60c285e frontend: line-ed: convert all escape code usage to s_tty calls 2024-11-18 21:13:28 +00:00
96172eac84 frontend: line-ed: move platform-specific code to separate directory 2024-11-18 15:15:04 +00:00
29447bf5ec frontend: split interactive and non-interactive modes into separate commands 2024-11-18 09:55:02 +00:00
d5c86c4eea frontend: move token printing code to a separate file 2024-11-18 09:54:27 +00:00