You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.4 KiB
1.4 KiB
Sources
lexer.c
- derived from Lua 5.3 lexer but modified to work as a standalone lexerparser.c
- responsible for generating abstract syntax tree (AST) - consumes lexer output.ast_printer.c
- responsible for printing out the ASTast_walker.c
- API for walking the ASTast_simplify.c
- responsible for simplifications done on AST such as constant foldingtypechecker.c
- responsible for performing typechecking and assigning types to various things. Runs on the AST.linearizer.c
(WIP) - responsible for generating linear intermediate code (linear IR).cfg.c
- responsible for constructing a control flow graph from the output of the linearizer.dominator.c
- implementation of dominator tree calculation - this is not used yetdataflow_framework.c
- a framework for calculating dataflow equations - not used yetopt_unusedcode.c
- a simple optimization pass that deletes unreachable basic blockscodegen.c
- responsible for generating C code from the linear IR
Utilities
allocate.c
- memory allocatorfnv_hash.c
- string hashing functionhash_table.c
- hash tableset.c
- set data structureptrlist.c
- a hybrid array/linked list data structuremembuf.c
- dynamic memory buffer that supports formatted input - used to build strings incrementallygraph.c
- simple graph data structure used to generate control flow graph.bitset.c
- bitset data structure