Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/c2lang/c2compiler
the c2 programming language
https://github.com/c2lang/c2compiler
c c2 compiler programming-language
Last synced: about 2 months ago
JSON representation
the c2 programming language
- Host: GitHub
- URL: https://github.com/c2lang/c2compiler
- Owner: c2lang
- License: apache-2.0
- Created: 2013-01-12T20:40:47.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2024-10-23T19:31:08.000Z (2 months ago)
- Last Synced: 2024-10-24T06:17:22.577Z (2 months ago)
- Topics: c, c2, compiler, programming-language
- Language: C
- Homepage: c2lang.org
- Size: 8.5 MB
- Stars: 703
- Watchers: 43
- Forks: 48
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-programming-languages - C2 - The C2 project attempts to create a new language, strongly based on C. In a nutshell, the main differences with C are: (Uncategorized / Uncategorized)
README
# C2Compiler - Native version
This is the C2 compiler written in C2 itself.
C2 is an evolution of C, please see http://c2lang.org for more info.
The first version was written in C++ and can be found in the history of
this archive too.## Installation
see the [installation document](INSTALL.md) for installation on Linux or OSX.
## Bootstrap
Since *c2c* is written in C2, a bootstrap is needed. Please run
```bash
make -C bootstrap
```This will create a boostrap c2c version and use it to build the c2c compiler.
The output will be in the folder output/Now you can run the regular compiler to compiler (other) C2 projects
```bash
./output/c2c/c2c
```### Plugins
The C2 compiler has a _plugin_ system, that allows plugins to be loaded during
compilation and the AST to be modified by them.*c2c* will look for plugins in the environment variable $C2_PLUGINDIR (set by the
env.sh script). Also the path can be set in the _build-file_. To install the plugins
initially, run *./install_plugins.sh*. This will create ~/c2_plugins/ and copy all
plugins there.To run *c2c* without plugins, use _--noplugins_.
### Tests
To run the unit tests run
```bash
./output/tester/tester test
```