BAM
Abstract Machine for Bottom-Up Evaluation with the Push Method
|
▼ base | Basic Definitions and Programming Support |
check.h | Runtime assertion check |
err.h | Handling of error and warning messages |
idiv.h | Macros for rounded integer division and percent |
max.h | Maximum function (as template or macro) |
min.h | An include file with the minimum function (as template or macro) |
perf.h | Performance measurement functions, especially timer |
str.h | Defines type str_t and some useful string functions |
ver.h | Some basic version settings |
▼ bds | Basic Data Structures |
flexarr.h | Flexible array (List with fast index access, Class Template) |
stack.h | Simple Stack Implementation (Class Template) |
▼ dom | Different implementations of string tables (for managing domains) |
atom.h | Short Strings, Symbolic Constants |
atomtab.h | Stores a set of atoms, Similar to an enumeration type |
strmem.h | Storage space for strings, permits to copy/save strings |
strtab.h | Stores strings and assigns unique numbers to them |
▼ emu | |
bam.h | Emulator (Interpreter) for Bottom-Up Abstract Machine |
inst.h | Enumeration type for Abstract Machine Instructions (OpCodes) |
itype.h | Enumeration type for classifying BAM instructions by arguments |
▼ facts | Data loader for Datalog facts |
lex.h | Lexical Scanner |
load.h | Parse and load data stored as Datalog facts |
syn.h | Syntax error messages |
tok.h | Token types (for lexical scanner) |
▼ input | Input sources (e.g., for reading data files) |
ch.h | Character classification (e.g., letter, digit) |
in.h | Superclass of input sources (e.g., file) |
in_cgi.h | Input from web forms via CGI (currently not used) |
in_file.h | Input from a file |
in_kbd.h | Input from keyboard with prompt (currently not used) |
▼ mem | Memory management |
mem.h | Big Pieces of Dynamic Memory, from which Memory Pages are taken |
mpool.h | Memory Pool (keeps track of allocated memory pages of this pool) |
page.h | Memory page |
▼ pred | Database predicates linked to the corresponding relations |
argtype.h | Enumeration type for types of predicate arguments |
pred.h | Database predicates with set of corresponding relations |
▼ rel | Main Memory Relations (Implementations of Lists, Sets, Maps) |
bind.h | Binding patterns for predicates |
cur_1.h | Cursor for list of rows with one int column |
cur_2.h | Cursor for list of rows with two int columns |
cur_list.h | Cursor for list of objects/tuples |
cur_n_n.h | Cursor for accessing rel_n_n with given first argument |
list.h | List of objects/tuples - relation with binding pattern "f..f" |
list_1.h | List of rows with one int column (relation with binding "f") |
list_2.h | List of rows with two int columns (relation with binding "ff") |
rel.h | Superclass of all data structures for relations |
rel_n_n.h | Relation with two non-negative integer columns, index over 1st |
relsize.h | Size measures for relation data structures |
row_1.h | Tuple/Table Row with one integer column |
row_2.h | Tuple/Table Row with two integer columns |
set.h | Set of objects/tuples - relation with binding pattern "b..b" |
set_1.h | Set of rows with one int column (relation with binding b) |
set_1e.h | Set of rows with one int column (binding b) - Extendible Hash |
set_1s.h | Set of rows with one int column (binding b): C++11 Standard Library |
set_2.h | Set of rows with two int columns (relation with binding "bb") |
set_2e.h | Set of rows with two int columns (relation with binding "bb") |
set_2s.h | Set of rows with two int columns (relation with binding "bb") |
set_e.h | Set of tuples (binding pattern "b..b"): Using Extendible Hashing |
set_s.h | Set of tuples (binding pattern "b..b"): Using C++ Standard Template Library |
set_tt.h | Set with two columns with range [0..1023] (ten bits) (Bitmap) |
▼ test | Performance Tests (Benchmarks) |
bench.h | Abstract Superclass of Standard Benchmarks with load() and eval() |
bench_j1axy_1.h | Join1 Benchmark a(X, Y), Version 1 (Full duplicate check, no goto) |
bench_j1axy_2.h | Join1 Benchmark a(X, Y), Version 2 (Full duplicate check, no goto, bitmap set implementation) |
bench_j1axy_3.h | Join1 Benchmark a(X, Y), Version 3 (goto, bitmap duplicate check, cursor interface) |
bench_j1axy_4.h | Join1 Benchmark a(X, Y), Version 4 (functions, bitmap duplicate check) |
bench_j1axy_5.h | Join1 Benchmark a(X, Y), Version 5 (goto, bitmap duplicate check, functions without arguments) |
bench_j1axy_6.h | Join1 Benchmark a(X, Y), Version 6 (abstract machine, bitmap duplicate check) |
bench_tcff_1.h | Transitive Closure Benchmark tc(X,Y) (Binding Pattern "ff"), Version 1 (handcrafted loader, static function, relations in local variables) |
bench_tcff_2.h | Transitive Closure Benchmark tc(X,Y) (Binding Pattern "ff"), Version 2 (with general loader, relations in attributes, and standard cursor interface to retrieve answers) |
bench_tcff_3.h | Transitive Closure Benchmark tc(X,Y) (Binding Pattern "ff"), Version 3 (seminaive evaluation) |
bench_tcff_4.h | Transitive Closure Benchmark tc(X,Y) (Binding Pattern "ff"), Version 4 (Push method with functions) |
bench_tcff_5.h | Transitive Closure Benchmark tc(X,Y) (Binding Pattern "ff"), Version 5 (with Abstract Machine) |
gen_cur1.h | Cursor over Generated Relations with one Integer Column (for Tests) |
gen_cur2.h | Cursor over Generated Relations with two Integer Columns (for Tests) |
load_tc.h | Data Loader for Transitive Closure Benchmark (with Binding Pattern "ff") |
main.h | Main program and project documentation for Doxygen |
out.h | Selective Output for Tests/Benchmarks |
rtest.h | Superclass for Standard Tests of Relation-like Data Structures |
test.h | Text execution, List of all Tests/Benchmarks |
test_set1.h | A test method for set implementations with one integer argument |
test_set2.h | A test method for set implementations with two integer arguments |