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
- Host: GitHub
- URL: https://github.com/chshersh/rogue-lang
- Owner: chshersh
- License: bsd-3-clause
- Created: 2016-03-30T19:42:59.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-10-18T14:03:28.000Z (almost 6 years ago)
- Last Synced: 2025-03-21T01:34:02.897Z (7 months ago)
- Topics: language, programming-language, rogue, rogue-lang
- Language: Haskell
- Homepage:
- Size: 356 KB
- Stars: 7
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rogue-lang [](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