Skip to content
Ć programming language
C# Makefile Perl Java C C++
Branch: master
Clone or download
Piotr Fusik
Piotr Fusik [doc] foreach.
Latest commit d6b85f7 Nov 15, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test [string] Format interpolated numbers. Nov 15, 2019
.gitignore [build] .NET Core project. Oct 21, 2019
.travis.yml [build] Configure Travis for .NET Core. Oct 21, 2019
AssemblyInfo.cs [doc] Bump year. Aug 22, 2019
COPYING Work in progress. Jan 12, 2011
CiDocLexer.cs [comments] Documentation comments restored from v0. Oct 29, 2019
CiDocParser.cs [comments] Documentation comments restored from v0. Oct 29, 2019
CiException.cs [doc] Update website links. Oct 28, 2019
CiLexer.cs [cleanup] Rename a method. Nov 15, 2019
CiParser.cs [string] Format interpolated numbers. Nov 15, 2019
CiResolver.cs [cleanup] Merge dot expression into CiSymbolReference. Nov 14, 2019
CiTo.cs [doc] Update website links. Oct 28, 2019
CiTree.cs [console] Print numbers directly. Nov 15, 2019
GenBase.cs [cleanup] Merge dot expression into CiSymbolReference. Nov 14, 2019
GenC.cs [console] Print numbers directly. Nov 15, 2019
GenCCpp.cs [cleanup] Merge dot expression into CiSymbolReference. Nov 14, 2019
GenCpp.cs [string] Format interpolated numbers. Nov 15, 2019
GenCs.cs [string] Format interpolated numbers. Nov 15, 2019
GenJava.cs [string] Format interpolated numbers. Nov 15, 2019
GenJs.cs [string] Format interpolated numbers. Nov 15, 2019
GenTyped.cs [string] Format interpolated numbers. Nov 15, 2019
INSTALL [doc] MSYS2 no longer ships Node.js. Nov 7, 2019
Makefile [test] Test single backends. Nov 15, 2019
README.md [doc] Fix link. Oct 29, 2019
ci-logo.svg [cipad] Added icon. Jul 5, 2011
ci.md [doc] foreach. Nov 15, 2019
cito.csproj [build] .NET Core project. Oct 21, 2019
hello.ci [sample] More verbose sample code. Feb 14, 2013

README.md

Build Status

Ć Programming Language

Ć is a programming language which can be translated automatically to C, C++, Java, C# and JavaScript. Instead of writing code in all these languages, you can write it once in Ć:

public class HelloCi
{
    public static string GetMessage()
    {
        return "Hello, world!";
    }
}

Then translate into target languages using cito on the command line:

cito -o hello.c hello.ci
cito -o hello.cpp hello.ci
cito -o HelloCi.java hello.ci # Java enforces filenames for public classes
cito -o hello.cs hello.ci
cito -o hello.js hello.ci

The translated code is lightweight (no virtual machine, emulation nor dependencies), human-readable and fits well the target language, including naming conventions and documentation comments.

Ć is not a general-purpose programming language. Instead, it is meant for implementing portable reusable libraries. See the complete language reference.

For build instructions, see the INSTALL file.

You can’t perform that action at this time.