https://github.com/chlablak/platinum-parsing
All-around tools for compilation development
https://github.com/chlablak/platinum-parsing
cli compilation framework parsing platinum pp tools
Last synced: 4 months ago
JSON representation
All-around tools for compilation development
- Host: GitHub
- URL: https://github.com/chlablak/platinum-parsing
- Owner: chlablak
- License: bsd-3-clause
- Created: 2017-03-09T14:11:02.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-11-29T13:38:25.000Z (over 8 years ago)
- Last Synced: 2025-12-28T08:59:44.857Z (5 months ago)
- Topics: cli, compilation, framework, parsing, platinum, pp, tools
- Language: nesC
- Homepage: http://www.platinum-parsing.org/
- Size: 7.57 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# platinum-parsing
www.platinum-parsing.org
Platinum Parsing is an all-around solution for conceiving, developping and building a compiler or an interpreter, or just a part of it. It's composed of two parts: the Framework, written in Haskell, and the CLI (Command Line Interface), exposing the functionalities of the Framework.
## Features
- Purely functional, written in Haskell
- Generic approach to compilation
- Full EBNF grammar support
- Tokens definition with built-in RegEx
- Grammar validation on source file
- Dynamic AST generation
- LALR table and DFA generation
- Built-in lexer and parser
- Customisable template export
- CLI and Atom integration
- And more ... \*
\* Platinum Parsing is a recent project aimed to grow, you can find development axis in the _Issues_ menu.
## Getting started
Platinum Parsing is built with the famous [Haskell Tool Stack](https://www.haskellstack.org/), you will need to install it before continuing.
NB: if you prefer to use `cabal` instead of `stack`, feel free to do so.
Platinum Parsing is available on [Hackage](https://hackage.haskell.org/), thus you can install it with the command:
```console
$ stack install platinum-parsing
```
This will cause the CLI to be accessible in your terminal, try: `$ pp --help`
If you want to use the Framework directly in your Haskell project, add to your `.cabal` file the following line, and run a `$ stack build` afterwards:
```yaml
build-depends: platinum-parsing
```
Last option is to clone this repository and build the project by yourself:
```console
$ git clone git@github.com:chlablak/platinum-parsing.git
or
$ git clone https://github.com/chlablak/platinum-parsing.git
$ cd platinum-parsing
$ stack init
$ stack build
```
## Further reading
- Platinum Parsing has an [Atom](https://atom.io/) integration (plugin) for ease of development, available [here](https://atom.io/packages/platinum-parsing-atom).
- The library documentation is available on the Hackage [package](https://hackage.haskell.org/package/platinum-parsing).
- More documentation (examples, references, ...) can be found in the `doc/` [folder](doc/).
## Contributing
If you have any question, proposition or contribution, feel free to use the _Issues_ menu.