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.