loschsoftware / dc

The Dassie compiler and core library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dassie Compiler

GitHub commit activity (branch) GitHub issues

The official .NET compiler for the Dassie programming language.

Quick start

To get started with Dassie development, either download a binary from the 'Releases' section of this repository or build the compiler from source. To build from source, clone the repository and run the build script build.cmd on Windows. Sadly, there is no build script for Linux yet, but I will gladly accept a pull request adding one.

After the compilation is completed, the directory build will contain the compiler executables. It is recommended to add this directory to the Path environment variable to allow access to the compiler from anywhere.

Using the compiler

Here is the classic "Hello World" program in Dassie:

println "Hello World!"

Assuming the above code is contained in a file called hello.ds, the compiler can be invoked using the command dc hello.ds, yielding a .NET assembly called hello.dll, which can be executed using the .NET command line. To automatically compile all .dc source files in the current folder structure, the command dc build is used.

Project system

For configuring compiler behavior and to simplify the build process of larger projects, the Dassie compiler includes a built-in project system. Here's how to initialize a new project:

dc new console Project01

The above command creates the folder structure for a console application called Project01 as well as the main project file, dsconfig.xml. It is used to configure compiler settings as well as to manage the resources and references associated with the application. All features offered by this project file are documented here.

Documentation

Further documentation on this compiler, including a list of all error codes, can be found in the docs directory. Documentation on the language itself, including more code examples, can be found in the dassie repository.

Contributing

Code contributions to the compiler are welcome. Just build the project from source as described above and open a pull request. To report bugs or request a feature, use the issues section of this repository. If you have a feature request for the language itself, open an issue here instead.

If you wish to support the project monetarily instead, you can donate here.

About

The Dassie compiler and core library

License:Apache License 2.0


Languages

Language:C# 97.4%Language:ANTLR 2.6%Language:Batchfile 0.0%