2022-03-13 23:20:34 -04:00
|
|
|
# Todo List
|
|
|
|
|
|
2022-03-17 16:47:57 -04:00
|
|
|
- [x] colorize the assembly output
|
|
|
|
|
- [x] create generalTokenizer to make tokenization generic
|
|
|
|
|
- [ ] rewrite disco tokenizer to the new generalTokenizer
|
2022-04-05 18:34:10 -04:00
|
|
|
- [ ] explore defining non terminals in a grammar with just a string
|
|
|
|
|
- possibly using tagged template strings??
|
2022-03-17 16:47:57 -04:00
|
|
|
- [ ] add an EOF token to earley, and yknow, add it to the tokenizer.
|
2022-04-05 18:34:10 -04:00
|
|
|
- [ ] add number support in consts
|
2022-03-17 16:47:57 -04:00
|
|
|
- [ ] add comment support
|
|
|
|
|
- [ ] add fixed length array support
|
|
|
|
|
- [ ] organize AST elements into classes
|
|
|
|
|
- [ ] better logging of the AST
|
|
|
|
|
- [ ] optionally artifically slow down compilation (for fun)
|
|
|
|
|
- [ ] implement functions
|
|
|
|
|
- [ ] implement some basic maths operations
|
|
|
|
|
- [ ] implement multi-argument invocations
|
|
|
|
|
- [ ] implement return values
|
|
|
|
|
- [ ] write a regex compiler
|
|
|
|
|
- [ ] write log in disco. creat a library for just doing syscalls. the rest can be done in disco
|
|
|
|
|
|
|
|
|
|
# Changelog
|
|
|
|
|
|
|
|
|
|
- fixed macos compilation to use relative addressing (i think)
|
|
|
|
|
- fixed a bug in the general tokenizer that failed to match some tokens properly.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- create generalized tokenizer
|
|
|
|
|
- implement assembly language grammar for syntax highlighting
|
|
|
|
|
- create a vscode extension for syntax highlighting
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
- compile disco code to assembly as POC
|
|
|
|
|
- create an AST for disco code
|
|
|
|
|
- implement earley grammar for disco including:
|
|
|
|
|
- linking library functions
|
|
|
|
|
- calling functions
|
|
|
|
|
- string literals
|
|
|
|
|
- string variables
|
|
|
|
|
- created earley parser
|