A good reason to learn Compiler design, is to create a language itself. Not necessarily a programming language but a simple data "holding" language. Graphful is a domain specific language(DSL) for defining graph data. Unlike JSON and XML, Graphful establishes connections (as edges) between data nodes.
To create any language, there are essentially two levels of development: The frontend and the backend. Each contains a series of stages. The frontend invloves a language's syntax, semantics and intermediate code. The backend essentially comprises of the final value that one aims achieve. In this case, the aim is to capture graph based data in a textual format.
- Lexical Analysis - done
- Syntax Parsing using LR(1) parser - done
- Context Free Grammer of the language - done
- Semantic parsing of parse tree - done
- Graph data structure - done
Make sure you have node >= 6.9.0
- npm install
- npm test