An open API service indexing awesome lists of open source software.

https://github.com/chshersh/rogue-lang

Compiler for Rogue programming language
https://github.com/chshersh/rogue-lang

language programming-language rogue rogue-lang

Last synced: 7 months ago
JSON representation

Compiler for Rogue programming language

Awesome Lists containing this project

README

          

# rogue-lang [![Build Status](https://travis-ci.org/ChShersh/rogue-lang.svg?branch=master)](https://travis-ci.org/ChShersh/rogue-lang)
Compiler of my programming language: Rogue

## Implementation details:
+ Implementation language: [Haskell](https://www.haskell.org/)
+ Target platform: [LLVM](http://llvm.org/)
+ Language specification: [Spec.pdf](https://github.com/chshersh/rogue-lang/blob/master/spec/rogue-lang-spec.pdf)

## How to build and run
Use [stack](http://docs.haskellstack.org/en/stable/README/) build tool in this directory:

```
stack build
stack exec roguec -- --file [--verbose]
```

#### Features
+ [ ] errors handling
- [x] monadic parser and lexer support for errors reporting
- [ ] typechecker
- [ ] semantic rules
+ [ ] global variables
+ [ ] power operator
+ [ ] make `scanf` return value, not write in variable (stdlib)
+ [ ] type inference
+ [ ] lazy logical operations
+ [ ] immutable variables (and passing to function by reference) support
+ [ ] HOF
+ [ ] pattern matching syntax sugar
+ [ ] default arguments
+ [ ] custom start function

#### Known bugs:
+ [ ] make `printf` and `scanf` work for booleans
+ [ ] not allowed linebreaks in expressions

### Compiler package structure
> TODO: describe sources