https://github.com/jonathanvdc/lemp-repl
A super simple REPL for experimenting with Loyc, EC# and LeMP.
https://github.com/jonathanvdc/lemp-repl
csharp ecsharp interactive loyc repl
Last synced: 8 days ago
JSON representation
A super simple REPL for experimenting with Loyc, EC# and LeMP.
- Host: GitHub
- URL: https://github.com/jonathanvdc/lemp-repl
- Owner: jonathanvdc
- Created: 2018-04-11T18:45:24.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-04-13T16:12:13.000Z (about 8 years ago)
- Last Synced: 2025-03-02T07:51:48.756Z (over 1 year ago)
- Topics: csharp, ecsharp, interactive, loyc, repl
- Language: C#
- Size: 19.5 KB
- Stars: 1
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LeMP-repl
`LeMP-repl` is a super simple interactive program that that reads unprocessed EC#, LES v2 or LES v3 code as input and produces processed or unprocessed EC#, LES v2 or LES v3 code as output.
Here's what `LeMP-repl` looks like in action:

Easy, right? It's just a simple tool that makes it much easier to look at and reason about EC# syntax trees.
## Build instructions
`LeMP-repl` is fairly straightforward to build. Just do this following:
```
$ nuget restore
$ msbuild /p:Configuration=Release
```
## Technologies
* `LeMP-repl` is mostly just a wrapper around David Piepgrass' amazing Lexical Macro Processor (LeMP) and Enhanced C# (EC#) parser, both of which can be found [here](https://github.com/qwertie/ecsharp).
* `LeMP-repl` uses [Pixie](https://github.com/jonathanvdc/Pixie) for option parsing and error logging.
## Options
`LeMP-repl` tries to fulfill a simple use case, so there aren't a lot of options. Here's a full list, adapted from `--help`:
### Input and output
* `--input-language=⟨language⟩, -i⟨language⟩`
Selects an input language, which can be either `ecs`, `les`, `les2` or `les3`. By default, the input language is `ecs`.
* `--no-process-macros, -p`
Turns off macro processing by LeMP.
* `--output-language=⟨language⟩, -o⟨language⟩`
Selects an output language, which can be either `cs`, `ecs`, `les`, `les2` or `les3`. By default, the output language is `les`.
### Overall options
* `--help, -h, -?`
Display a help message and exit.