2019-03-12 10:09:46 +01:00
|
|
|
# Comp_iler
|
|
|
|
|
|
|
|
Sandboxed code execution discord bot.
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
### Code Blocks
|
|
|
|
|
|
|
|
````
|
|
|
|
>```lang
|
|
|
|
code
|
|
|
|
```
|
|
|
|
|
2019-03-13 06:54:36 +01:00
|
|
|
>options```lang
|
2019-03-12 10:09:46 +01:00
|
|
|
code
|
|
|
|
```
|
|
|
|
````
|
|
|
|
|
|
|
|
### Inline Code
|
|
|
|
|
|
|
|
```
|
|
|
|
>`lang code`
|
|
|
|
|
2019-03-13 06:54:36 +01:00
|
|
|
>options`lang code`
|
2019-03-15 02:58:43 +01:00
|
|
|
```
|
2019-03-12 10:09:46 +01:00
|
|
|
|
|
|
|
### Examples
|
|
|
|
|
|
|
|
````
|
2019-03-15 02:58:43 +01:00
|
|
|
>```cpp
|
|
|
|
#include <iostream>
|
|
|
|
|
|
|
|
int main()
|
|
|
|
{
|
|
|
|
std::cout << "Hello World!" << std::endl;
|
|
|
|
}
|
2019-03-12 10:09:46 +01:00
|
|
|
```
|
|
|
|
|
2019-03-13 06:54:36 +01:00
|
|
|
>harmony```js
|
2019-03-12 10:09:46 +01:00
|
|
|
class Foo {
|
|
|
|
bar = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
console.log(new Foo().bar);
|
|
|
|
```
|
|
|
|
|
|
|
|
>`py print('hello world')`
|
|
|
|
|
2019-03-13 06:54:36 +01:00
|
|
|
>e`hs (+) <$> Just 1 <*> Just 2`
|
2019-03-15 02:58:43 +01:00
|
|
|
````
|
2019-03-13 06:54:36 +01:00
|
|
|
|
2019-03-15 02:58:43 +01:00
|
|
|
## Supported Languages and Options
|
2019-03-12 10:09:46 +01:00
|
|
|
|
2019-03-15 02:58:43 +01:00
|
|
|
One of the following language codes is set in `lang`.
|
|
|
|
Options are optionally set in `options`, which is a semicolon-delimited list of `flag` or `flag=value`.
|
2019-03-12 10:09:46 +01:00
|
|
|
|
2019-03-16 00:48:24 +01:00
|
|
|
- `bash` Bash (Bash 5.0.2)
|
2019-03-15 02:32:39 +01:00
|
|
|
- `c` C (GCC 8.2.0)
|
2019-03-15 05:06:59 +01:00
|
|
|
- `clj` Clojure (Clojure 1.10)
|
2019-03-15 02:32:39 +01:00
|
|
|
- `cpp` C++ (G++ 8.2.0)
|
|
|
|
- `cs` C# (Mono 5.18.0)
|
2019-03-15 02:58:43 +01:00
|
|
|
- `e` evaluates a single expression instead of a module
|
2019-03-15 06:08:41 +01:00
|
|
|
- `elixir` Elixir (Elixir 1.8.1)
|
2019-03-15 02:58:43 +01:00
|
|
|
- `fs` F# (FSharp 4.5)
|
|
|
|
- `go` Go (Go 1.12)
|
|
|
|
- `hs` Haskell (GHC 8.6.3)
|
|
|
|
- `e` evaluates a single expression instead of a module
|
2019-03-15 05:06:59 +01:00
|
|
|
- `java` Java (OpenJDK 13)
|
2019-03-15 02:58:43 +01:00
|
|
|
- `js` JavaScript (Node 11.11.0)
|
|
|
|
- `harmony` enables harmony features (`--harmony` on node)
|
|
|
|
- `e` prints the result of evaluating the code
|
2019-03-16 01:24:49 +01:00
|
|
|
- `julia` Julia (Julia 1.1.0)
|
|
|
|
- `e` prints the result of evaluating the code
|
2019-03-16 01:32:30 +01:00
|
|
|
- `lua` (Lua 5.3)
|
2019-03-15 02:58:43 +01:00
|
|
|
- `pas` Pascal (FPC 3.0.4)
|
2019-03-16 00:48:24 +01:00
|
|
|
- `php` PHP (PHP 7.3.3)
|
|
|
|
- `pl` Perl (Perl 5.28.1)
|
2019-03-16 01:44:37 +01:00
|
|
|
- `prolog` Prolog (SWI-Prolog 8.1.2)
|
2019-03-15 02:58:43 +01:00
|
|
|
- `py` Python (CPython 3.7.2, CPython 2.7.16)
|
|
|
|
- `2` runs Python 2 instead of Python 3
|
2019-03-15 05:06:59 +01:00
|
|
|
- `rb` Ruby (Ruby 2.6.2)
|
|
|
|
- `rs` Rust (Rust 1.33.0)
|