BAM
Abstract Machine for Bottom-Up Evaluation with the Push Method
File List
Here is a list of all documented files with brief descriptions:
[detail level 12]
  baseBasic Definitions and Programming Support
 check.hRuntime assertion check
 err.hHandling of error and warning messages
 idiv.hMacros for rounded integer division and percent
 max.hMaximum function (as template or macro)
 min.hAn include file with the minimum function (as template or macro)
 perf.hPerformance measurement functions, especially timer
 str.hDefines type str_t and some useful string functions
 ver.hSome basic version settings
  bdsBasic Data Structures
 flexarr.hFlexible array (List with fast index access, Class Template)
 stack.hSimple Stack Implementation (Class Template)
  domDifferent implementations of string tables (for managing domains)
 atom.hShort Strings, Symbolic Constants
 atomtab.hStores a set of atoms, Similar to an enumeration type
 strmem.hStorage space for strings, permits to copy/save strings
 strtab.hStores strings and assigns unique numbers to them
  emu
 bam.hEmulator (Interpreter) for Bottom-Up Abstract Machine
 inst.hEnumeration type for Abstract Machine Instructions (OpCodes)
 itype.hEnumeration type for classifying BAM instructions by arguments
  factsData loader for Datalog facts
 lex.hLexical Scanner
 load.hParse and load data stored as Datalog facts
 syn.hSyntax error messages
 tok.hToken types (for lexical scanner)
  inputInput sources (e.g., for reading data files)
 ch.hCharacter classification (e.g., letter, digit)
 in.hSuperclass of input sources (e.g., file)
 in_cgi.hInput from web forms via CGI (currently not used)
 in_file.hInput from a file
 in_kbd.hInput from keyboard with prompt (currently not used)
  memMemory management
 mem.hBig Pieces of Dynamic Memory, from which Memory Pages are taken
 mpool.hMemory Pool (keeps track of allocated memory pages of this pool)
 page.hMemory page
  predDatabase predicates linked to the corresponding relations
 argtype.hEnumeration type for types of predicate arguments
 pred.hDatabase predicates with set of corresponding relations
  relMain Memory Relations (Implementations of Lists, Sets, Maps)
 bind.hBinding patterns for predicates
 cur_1.hCursor for list of rows with one int column
 cur_2.hCursor for list of rows with two int columns
 cur_list.hCursor for list of objects/tuples
 cur_n_n.hCursor for accessing rel_n_n with given first argument
 list.hList of objects/tuples - relation with binding pattern "f..f"
 list_1.hList of rows with one int column (relation with binding "f")
 list_2.hList of rows with two int columns (relation with binding "ff")
 rel.hSuperclass of all data structures for relations
 rel_n_n.hRelation with two non-negative integer columns, index over 1st
 relsize.hSize measures for relation data structures
 row_1.hTuple/Table Row with one integer column
 row_2.hTuple/Table Row with two integer columns
 set.hSet of objects/tuples - relation with binding pattern "b..b"
 set_1.hSet of rows with one int column (relation with binding b)
 set_1e.hSet of rows with one int column (binding b) - Extendible Hash
 set_1s.hSet of rows with one int column (binding b): C++11 Standard Library
 set_2.hSet of rows with two int columns (relation with binding "bb")
 set_2e.hSet of rows with two int columns (relation with binding "bb")
 set_2s.hSet of rows with two int columns (relation with binding "bb")
 set_e.hSet of tuples (binding pattern "b..b"): Using Extendible Hashing
 set_s.hSet of tuples (binding pattern "b..b"): Using C++ Standard Template Library
 set_tt.hSet with two columns with range [0..1023] (ten bits) (Bitmap)
  testPerformance Tests (Benchmarks)
 bench.hAbstract Superclass of Standard Benchmarks with load() and eval()
 bench_j1axy_1.hJoin1 Benchmark a(X, Y), Version 1 (Full duplicate check, no goto)
 bench_j1axy_2.hJoin1 Benchmark a(X, Y), Version 2 (Full duplicate check, no goto, bitmap set implementation)
 bench_j1axy_3.hJoin1 Benchmark a(X, Y), Version 3 (goto, bitmap duplicate check, cursor interface)
 bench_j1axy_4.hJoin1 Benchmark a(X, Y), Version 4 (functions, bitmap duplicate check)
 bench_j1axy_5.hJoin1 Benchmark a(X, Y), Version 5 (goto, bitmap duplicate check, functions without arguments)
 bench_j1axy_6.hJoin1 Benchmark a(X, Y), Version 6 (abstract machine, bitmap duplicate check)
 bench_tcff_1.hTransitive Closure Benchmark tc(X,Y) (Binding Pattern "ff"), Version 1 (handcrafted loader, static function, relations in local variables)
 bench_tcff_2.hTransitive 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.hTransitive Closure Benchmark tc(X,Y) (Binding Pattern "ff"), Version 3 (seminaive evaluation)
 bench_tcff_4.hTransitive Closure Benchmark tc(X,Y) (Binding Pattern "ff"), Version 4 (Push method with functions)
 bench_tcff_5.hTransitive Closure Benchmark tc(X,Y) (Binding Pattern "ff"), Version 5 (with Abstract Machine)
 gen_cur1.hCursor over Generated Relations with one Integer Column (for Tests)
 gen_cur2.hCursor over Generated Relations with two Integer Columns (for Tests)
 load_tc.hData Loader for Transitive Closure Benchmark (with Binding Pattern "ff")
 main.hMain program and project documentation for Doxygen
 out.hSelective Output for Tests/Benchmarks
 rtest.hSuperclass for Standard Tests of Relation-like Data Structures
 test.hText execution, List of all Tests/Benchmarks
 test_set1.hA test method for set implementations with one integer argument
 test_set2.hA test method for set implementations with two integer arguments