Update README.md

Update README.md to reflect the current state of the project.
This commit is contained in:
Nathan Braswell
2014-01-01 17:40:07 -06:00
parent 53b45f360d
commit 82df9b1592

View File

@@ -4,20 +4,26 @@ Kraken
The Kraken Programming Language
The Kraken Programming Language is in its infancy.
Currently, it consists of a RNGLALR parser written in C++ and a very experimental grammer that is evolving quickly.
When compiled, the kraken program (as it is not yet a compiler) will take in a text file to be parsed, the grammer file to use, and a filename to output a DOT file to.
Kraken will then generate the RN parsing tables from the grammer and then parse the input and export a DOT file that can be renderd into a graph using Graphviz.
Currently, it consists of a RNGLALR parser written in C++, an experimental grammer that is evolving, and a C code generator.
When compiled, the kraken compiler will take in a text file to be parsed, the grammer file to use, and an output file name.
Kraken will then generate the RN parsing tables from the grammer OR load them from a binary file if Kraken has been run with this exact version of the grammer before. Then it will parse the input and export DOT files for every .krak file in the project (these can be renderd into a graph using Graphviz), a C file for every file in the project, and a .sh script containing the compiler command to compile the C files together into a binary.
It is invoked in this way:
kraken inputTextFile inputGrammerFile outputFile.dot
kraken inputTextFile inputGrammerFile outputName
Dependencies
============
It is built using CMake, which is also its only dependency.
Goals
=====
It has the following design goals:
-Compiled
-Clean
-Fast (both running and writing)
-Good for Systems (including Operating Systems) programming
-Minimal "magic" code. (no runtime, other libraries automatically included)
* Compiled
* Clean
* Fast (both running and writing)
* Good for Systems (including Operating Systems) programming
* Minimal "magic" code. (no runtime, other libraries automatically included)
It is inspired by C/C++, Python, and Go.