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.
annelin
be65484feb
|
3 years ago | |
---|---|---|
.. | ||
README.md | 3 years ago | |
allocate.c | 3 years ago | |
allocate.h | 3 years ago | |
ast_printer.c | 3 years ago | |
ast_simplify.c | 3 years ago | |
ast_walker.c | 3 years ago | |
bitset.c | 3 years ago | |
bitset.h | 3 years ago | |
cfg.c | 3 years ago | |
cfg.h | 3 years ago | |
codegen.c | 3 years ago | |
codegen.h | 3 years ago | |
common.h | 3 years ago | |
dataflow_framework.c | 3 years ago | |
dataflow_framework.h | 3 years ago | |
df_liveness.c | 3 years ago | |
dominator.c | 3 years ago | |
dominator.h | 3 years ago | |
fnv_hash.c | 3 years ago | |
fnv_hash.h | 3 years ago | |
graph.c | 3 years ago | |
graph.h | 3 years ago | |
hash_table.c | 3 years ago | |
hash_table.h | 3 years ago | |
lexer.c | 3 years ago | |
linearizer.c | 3 years ago | |
linearizer.h | 3 years ago | |
membuf.c | 3 years ago | |
membuf.h | 3 years ago | |
opt_unusedcode.c | 3 years ago | |
optimizer.h | 3 years ago | |
parser.c | 3 years ago | |
parser.h | 3 years ago | |
ptrlist.c | 3 years ago | |
ptrlist.h | 3 years ago | |
ravi_binding.c | 3 years ago | |
set.c | 3 years ago | |
set.h | 3 years ago | |
typechecker.c | 3 years ago |
README.md
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