Home

Awesome

Covariant Script Programming Language: The Interpreter

Welcome to the Covariant Script programming language!
Covariant Script is an open source, cross-platform programming language.
This project is an officially maintained Covariant Script interpreter.

Switch language

Features

Documents

Please visit Covariant Script Organization README

Codespace

You can try CovScript in GitHub Codespace directly.

Open in GitHub Codespaces

Installation

Run

Basic command

cs [options...] <FILE|STDIN> [arguments...]
cs [options...]

When replace FILE with STDIN, interpreter will directly reads inputs from standard input stream.

Options

Interpreter
OptionMnemonicFunction
--compile-only-cOnly compile
--dump-ast-dExport abstract syntax tree
--dependency-rExport module dependency
--csym <FILE>-g <FILE>Read cSYM from file
Interpreter REPL
OptionMnemonicFunction
--silent-sClose the command prompt
--args <...>-a <...>Set the covscript arguments

Note that everything you set after option --args or its mnemonic -a will be regarded as arguments.

Common
OptionMnemonicFunction
--no-optimize-oDisable optimizer
--help-hShow help infomation
--version-vShow version infomation
--wait-before-exit-wWait before process exit
--stack-resize <SIZE>-S <SIZE>Reset the size of runtime stack
--log-path <PATH>-l <PATH>Set the log path
--import-path <PATH>-i <PATH>Set the import path

The default stack size is 1000. When the stack size is set larger than the default value, the stack size of the coroutine will be dynamically adjusted to one tenth of the set size; when the stack size is set smaller than the default value, the stack size of the coroutine will be will remain at 100.

Note that if you do not set the log path, it will be directly output to the standard output stream.

Debugger

cs_dbg [options...] <FILE>

Options

OptionMnemonicFunction
--help-hShow help infomation
--version-vShow version infomation
--silent-sClose the command prompt
--wait-before-exit-wWait before process exit
--csym <FILE>-g <FILE>Read cSYM from file
--stack-resize <SIZE>-S <SIZE>Reset the size of runtime stack
--log-path <PATH>-l <PATH>Set the log path
--import-path <PATH>-i <PATH>Set the import path

The stack size policy is the same as for the interpreter.

Note that if you do not set the log path, it will be printed to stdout.

Examples

The covscript-example repository contains several example programs written by Covariant Script.

Copyright

The author of the Covariant Script Programming Language is @mikecovlee, licensed under Apache 2.0
Copyright © 2017-2024 Michael Lee(李登淳)
This software is registered with the National Copyright Administration of the People's Republic of China(Registration Number: 2020SR0408026) and is protected by the Copyright Law of the People's Republic of China.

Citation

Please cite the repo if you use CovScript.

@misc{CovScript,
  author = {Li, Dengchun},
  title = {Covariant Script Programming Language},
  year = {2024},
  publisher = {GitHub},
  howpublished = {\url{https://github.com/covscript/covscript}}
}

Thanks

Sichuan University, KDDE Lab (Prof. Lei Duan), freeCodeCamp Chengdu Community

@imkiva, @ice1000, @MouriNaruto, Weicheng Shi