|
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 |
1.8.10