This project models an In-Memory Relational Database Management System using facilities of a Functional Language. In particular, we use a flavor of ML (Meta Language) called OCAML (Objective Caml) to implement a working Relational Database Management System.
Initial Project Charter
Final Project Report (New!)
File | Description | Completed |
mldbmstypes.ml | Defines types and records to hold DBMS user data | 7/20/06 |
mldbmsdm.ml | OCAML functions to manipulate the DBMS user data - the Native API | 7/20/06 |
mldbmstestfn.ml | Tests for the Native API | 7/20/06 |
sqllex.mll | Lex definition | 7/30/06 |
sqllex.ml | Generated Lex file | 7/30/06 |
sqlparse.mly | Grammar definition | 7/30/06 |
sqlparse.ml | Generated Parser | 7/30/06 |
sqlexpressions.ml | Types for AST created by the parser | 7/30/06 |
mlsql.ml | Interpreter for the AST - the SQL Interface | 7/30/06 |
mldbms.ml | Main file | 7/30/06 |
See the final project report or the readme.txt file in the package for instructions on how to execute this program.