aboutsummaryrefslogtreecommitdiff
path: root/src/parser.c
AgeCommit message (Collapse)Author
2020-07-25Add exported variable (only functions for now), export main func, start ↵dec05eba
execution from main func
2020-07-25Move thread work from compiler/parser to thread_work file, fix use after ↵dec05eba
free bug in multithreaded parser allocator
2020-07-25hash map containsdec05eba
2020-07-25Add extern funcs, parameter registers, fix asm_rm RSP bugdec05eba
2020-07-25Implement more instructions, implement function parameters and argumentsdec05eba
2020-07-25Before interpreter. Cleanup build script. Begin writing code analyzer tool ↵dec05eba
to find common mistakes
2020-07-25Remove nullable... it's bad to have magic. Static analysis can do it insteaddec05eba
2020-07-25Add nullable, add bytecode documentationdec05eba
2020-07-25Starting on asm, implementing extern function call so progress is visibledec05eba
2020-07-25Start on amal programdec05eba
Fix mutex issue in lhs expr which can cause a deadlock when a file has an error and throws and doesn't close the mutex and another thread waits for that mutex. The mutex can instead be removed and ignore race conditions which are uncommon. This should improve memory usage and performance.
2020-07-25Fix errors from pedantic checkdec05eba
2020-07-25Add assignment, while, extern, function signature type, start on bytecodedec05eba
2020-07-25Progressing on bytecode (to c), fix ssa resolving multiple timesdec05eba
2020-07-25Start on bytecode. Commit before os switchdec05eba
2020-07-25Test errors, stop working on errordec05eba
2020-07-25Synchronize funccall generate. Uses correct func index nowdec05eba
2020-07-25Resolve cross-file references (with mutex). Not donedec05eba
2020-07-25Use ast pointers to fix resolving, remove try/throwing macrosdec05eba
2020-07-25Add mutex for lhs expr, add error for missing lhs expr for func, structdec05eba
TODO: Use mutex in lhs expr and set resolved_type
2020-07-25Add pub keyword, more import stuff, optimize hash mapdec05eba
Hash map now stores hash of keys to reduce the number of hash operations. Positive: faster insert/get. Negative: more space required (to store usize hash).
2020-07-25Add struct, import caching, binop ops etcdec05eba
2020-07-25Resolve variable referencesdec05eba
2020-07-25Add ssa stringdec05eba
2020-07-25Load @import files relative to the file that uses @importdec05eba
2020-07-25Use ast_initdec05eba
2020-07-25Start on resolving ast. Add recursive declaration checkdec05eba
2020-07-25Add check for duplicate variable namesdec05eba
2020-07-25Add ast resolving using multiple threadsdec05eba
Fix issue where not all files are parsed
2020-07-25Cleanup, fix syntax defdec05eba
2020-07-25Code cleanupdec05eba
2020-07-25Simplify (cleanup) binop parsingdec05eba
2020-07-25Use setjmp, longjmp instead of return_if_error to improve performancedec05eba
2020-07-25Add arithmetic (binop) parsingdec05eba
2020-07-25Add variable declaration without assignmentdec05eba
2020-07-25Readd requirement for semicolon, makes things much simpler (for user as well)dec05eba
2020-07-25Use 'fn' to define closure to make parsing/reading the language easierdec05eba
It caused issues when you have parentheses to surround math expression, for example: ((func() + 34) * 54) is easier to parse if closure has to begin with 'fn'. Also removed requirement for semicolons. Semicolons can't even be used optionally yet.
2020-07-25Add string, variable and number. Fix identifier match against const and vardec05eba
2020-07-25Fix crash in parser import, optimize tokenizer_consume_if to not reparse if ↵dec05eba
already parsed
2020-07-25Fix compiler join thread, fix compiliation with clangdec05eba
2020-07-25fix crashesdec05eba
2020-07-25Use multiple threads to parsedec05eba
2020-07-25Separate buffers from general allocation, but still have them in scoped ↵dec05eba
allocator
2020-07-25Fixed CHECK_RESULT macro, use scoped allocatordec05eba
Scoped allocator gives us better performance and cleanup code for error cases is much cleaner
2020-07-25Fixed CHECK_RESULT macro, use scoped allocatordec05eba
Scoped allocator gives us better performance and cleanup code for error cases is much cleaner
2020-07-25Add result check for msvcdec05eba
2020-07-25Add grammar above parser functionsdec05eba
2020-07-25Initial commit, Function declaration work somewhatdec05eba