Commit Graph

24 Commits

Author SHA1 Message Date
52826975e8 core: Add initial symbol table impl
For now, symbol lookups are to require a linear scan. We can speed this
up in the future by adding a cache and further down the line considering
a hashmap.

Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-15 13:06:55 -05:00
7f0ba20dd6 parser: Handle parser scanning on pass 1
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-15 12:40:55 -05:00
5baa20c892 lexer: Add tokens for LPAREN + RPAREN
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-15 12:36:05 -05:00
44017eb06f lexer: Add token for ':'
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-15 12:30:57 -05:00
aa8afdd3d0 lexer: Add token for '.extern'
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-15 12:25:37 -05:00
e928d07bad lexer: Add token for '.f' [func] directive
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 23:37:32 -05:00
9e4c417657 lexer: Add scanning of identifiers
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 21:30:05 -05:00
38ae3eaa14 core: Add state-wide pointer box field
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 20:40:08 -05:00
eb8a6b84a2 lexer: Add putback buffer
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 16:57:35 -05:00
08f326440f core: Add pointer box impl
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 16:36:29 -05:00
9fa44ebda9 sample: Add more complete sample files
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 14:02:54 -05:00
9415ab38bc core: Allocate token buffer
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 02:04:20 -05:00
d09082e879 parser: Add preprocessing stubs
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 02:02:07 -05:00
e8abd2e40e state: Ensure compiler state is zeroed
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 02:01:51 -05:00
e8d8ef0e48 core: Add token buffer impl
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 00:48:57 -05:00
9e22c31a2f core: Add initial lexer and parser sources
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 00:11:26 -05:00
f249a12b5a core: Fix up trace_debug()
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 00:11:05 -05:00
33a1007556 core: Add initial token definitions
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 00:10:46 -05:00
743178e734 core: Add trace helper macros
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-14 00:01:52 -05:00
a8772e7d18 state: Start line numbers at 1
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-13 23:51:07 -05:00
5cbb5dc5dd docs: Add README.md
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-13 23:49:36 -05:00
ce86a7a2b1 sample: Add sample prototype
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-13 23:45:01 -05:00
e6cc68b8d4 core: Add initial state management
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-13 23:44:48 -05:00
0ddd6d6e23 initial commit
Signed-off-by: Ian Moffett <ian@mirocom.org>
2026-02-13 22:48:10 -05:00