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

https://github.com/covscript/ecs

Extended Covariant Script (CovScript 4)
https://github.com/covscript/ecs

programming-language

Last synced: 8 days ago
JSON representation

Extended Covariant Script (CovScript 4)

Awesome Lists containing this project

README

          

# Extended Covariant Script(CovScript 4)
ECS is the next generation of Covariant Script Programming Language

## How to install
### 1. Install CovScript 3 Runtime
Please visit [CovScript Official Website](http://covscript.org.cn) and follow the instruction

### 2. Install Dependencies via CSPKG
```bash
cspkg install ecs_bootstrap --yes
```
If you are running officially released CovScript runtime version 3.4.1+, `ecs` is setup ready after this step.
### (Optional) 3. Clone this repository to your machine
```bash
git clone https://github.com/covscript/ecs
```
### (Optional) 4. Give execution permission to bootstrap script(for *nix only)
```bash
chmod +x ecs
```
### (Optional) 5. Add absolute path of `ecs` to `PATH` environment variable of your OS
## How to use
`ecs` command is a compiler that will translate ECS to CovScript 3, but can use like an 'interpreter' (will compile your code before run automatically)
```
Usage:
ecs [options...] [arguments...]
ecs [options...]

Interpreter Options:
-f Disable compile cache
-m Disable beautify
-c Check grammar only
-g Generate cSYM info
-d Run debugger
-o Set output path
-- Pass parameters to CovScript

Interpreter REPL Options:
-s Close the command prompt
-r Set arguments for REPL

Common Options:
Option Function
-h Show help information
-v Show version infomation
-u Set unicode charset
CHARSET = {"AUTO", "UTF8", "GBK"}
-i Append import path

```
## Compatibility Notice
1. The program translated by ECS Compiler will depends on package `ecs`.
2. The behavior of Lambda Expression will be very different.
3. Separated exception system. Please call `e = ecs.handle_exception(e)` to solve compatible problem in CovScript 3 when catch exception from ECS Packages.
4. To support `new` and `gcnew` operator with arguments, please define `construct` function separately.