Update README.md

This commit is contained in:
Nathan Braswell
2015-07-18 16:29:29 -04:00
parent f431b0305a
commit 743d339fec

View File

@@ -5,17 +5,23 @@ The Kraken Programming Language
(more info and examples at http://limvot.github.io/kraken/) (more info and examples at http://limvot.github.io/kraken/)
(try it out online at http://www.kraken-lang.org/)
(vim integration (filetype, syntax highlighting, Syntastic) at https://github.com/Limvot/kraken.vim) (vim integration (filetype, syntax highlighting, Syntastic) at https://github.com/Limvot/kraken.vim)
The Kraken Programming Language is in its infancy. (try it out online at http://www.kraken-lang.org/)
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. The Kraken Programming Language is functional but very much still in development.
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. Currently, it consists of a RNGLALR parser written in C++, an AST intermediate representation, and a C code generator.
When compiled, the kraken compiler will take in a text file to be parsed and optionally the grammer file to use and an output file name.
Kraken will then generate the RNLALR 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 one .c and .h file along with a .sh script containing the compiler command to compile the C files together into a binary.
It is invoked in this way: It is invoked in this way:
kraken inputTextFile inputGrammerFile outputName
kraken inputKrakenFile
OR
kraken inputKrakenFile inputGrammerFile outputName
Dependencies Dependencies
============ ============
@@ -32,4 +38,4 @@ It has the following design goals:
* Good for Systems (including Operating Systems) programming * Good for Systems (including Operating Systems) programming
* Minimal "magic" code. (no runtime, other libraries automatically included) * Minimal "magic" code. (no runtime, other libraries automatically included)
It is inspired by C/C++, Python, and Go. It is inspired by C/C++, Scala, and Rust.