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.
ravi/ravicomp/src
annelin be65484feb
Removed RAVI_DEFER_STATEMENT define (there are no reasons to disable it)
3 years ago
..
README.md issue #198 Include Ravi Compiler 3 years ago
allocate.c issue #198 Sync with upstream project 3 years ago
allocate.h issue #198 Sync with upstream project 3 years ago
ast_printer.c issue #198 Sync with upstream project 3 years ago
ast_simplify.c issue #198 Sync with upstream project 3 years ago
ast_walker.c issue #198 Sync with upstream project 3 years ago
bitset.c issue #198 Sync with upstream project 3 years ago
bitset.h issue #198 Sync with upstream project 3 years ago
cfg.c issue #198 Sync with upstream project 3 years ago
cfg.h Update copyright notices 3 years ago
codegen.c Removed RAVI_DEFER_STATEMENT define (there are no reasons to disable it) 3 years ago
codegen.h Update copyright notices 3 years ago
common.h Update copyright notices 3 years ago
dataflow_framework.c issue #198 Sync with upstream project 3 years ago
dataflow_framework.h Update copyright notices 3 years ago
df_liveness.c issue #198 Sync with upstream project 3 years ago
dominator.c issue #198 Sync with upstream project 3 years ago
dominator.h issue #198 Sync with upstream project 3 years ago
fnv_hash.c issue #198 Sync with upstream project 3 years ago
fnv_hash.h issue #198 Include Ravi Compiler 3 years ago
graph.c issue #198 Sync with upstream project 3 years ago
graph.h Update copyright notices 3 years ago
hash_table.c issue #198 Sync with upstream project 3 years ago
hash_table.h issue #198 Sync with upstream project 3 years ago
lexer.c issue #198 Sync with upstream project 3 years ago
linearizer.c issue #198 Sync with upstream project 3 years ago
linearizer.h issue #198 Sync with upstream project 3 years ago
membuf.c issue #198 Sync with upstream project 3 years ago
membuf.h Update copyright notices 3 years ago
opt_unusedcode.c issue #198 Sync with upstream project 3 years ago
optimizer.h Update copyright notices 3 years ago
parser.c issue #198 Sync with upstream project 3 years ago
parser.h issue #198 Sync with upstream project 3 years ago
ptrlist.c issue #198 Sync with upstream project 3 years ago
ptrlist.h issue #198 Sync with upstream project 3 years ago
ravi_binding.c issue #198 Sync with upstream project 3 years ago
set.c issue #198 Sync with upstream project 3 years ago
set.h issue #198 Include Ravi Compiler 3 years ago
typechecker.c issue #198 Sync with upstream project 3 years ago

README.md

Sources

  • lexer.c - derived from Lua 5.3 lexer but modified to work as a standalone lexer
  • parser.c - responsible for generating abstract syntax tree (AST) - consumes lexer output.
  • ast_printer.c - responsible for printing out the AST
  • ast_walker.c - API for walking the AST
  • ast_simplify.c - responsible for simplifications done on AST such as constant folding
  • typechecker.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 yet
  • dataflow_framework.c - a framework for calculating dataflow equations - not used yet
  • opt_unusedcode.c - a simple optimization pass that deletes unreachable basic blocks
  • codegen.c - responsible for generating C code from the linear IR

Utilities

  • allocate.c - memory allocator
  • fnv_hash.c - string hashing function
  • hash_table.c - hash table
  • set.c - set data structure
  • ptrlist.c - a hybrid array/linked list data structure
  • membuf.c - dynamic memory buffer that supports formatted input - used to build strings incrementally
  • graph.c - simple graph data structure used to generate control flow graph.
  • bitset.c - bitset data structure