The Wayback Machine - https://web.archive.org/web/20191116022810/https://github.com/pfusik/cito
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.
Image test [string] Format interpolated numbers. Nov 15, 2019
Image .gitignore [build] .NET Core project. Oct 21, 2019
Image .travis.yml [build] Configure Travis for .NET Core. Oct 21, 2019
Image AssemblyInfo.cs [doc] Bump year. Aug 22, 2019
Image COPYING Work in progress. Jan 12, 2011
Image CiDocLexer.cs [comments] Documentation comments restored from v0. Oct 29, 2019
Image CiDocParser.cs [comments] Documentation comments restored from v0. Oct 29, 2019
Image CiException.cs [doc] Update website links. Oct 28, 2019
Image CiLexer.cs [cleanup] Rename a method. Nov 15, 2019
Image CiParser.cs [string] Format interpolated numbers. Nov 15, 2019
Image CiResolver.cs [cleanup] Merge dot expression into CiSymbolReference. Nov 14, 2019
Image CiTo.cs [doc] Update website links. Oct 28, 2019
Image CiTree.cs [console] Print numbers directly. Nov 15, 2019
Image GenBase.cs [cleanup] Merge dot expression into CiSymbolReference. Nov 14, 2019
Image GenC.cs [console] Print numbers directly. Nov 15, 2019
Image GenCCpp.cs [cleanup] Merge dot expression into CiSymbolReference. Nov 14, 2019
Image GenCpp.cs [string] Format interpolated numbers. Nov 15, 2019
Image GenCs.cs [string] Format interpolated numbers. Nov 15, 2019
Image GenJava.cs [string] Format interpolated numbers. Nov 15, 2019
Image GenJs.cs [string] Format interpolated numbers. Nov 15, 2019
Image GenTyped.cs [string] Format interpolated numbers. Nov 15, 2019
Image INSTALL [doc] MSYS2 no longer ships Node.js. Nov 7, 2019
Image Makefile [test] Test single backends. Nov 15, 2019
Image README.md [doc] Fix link. Oct 29, 2019
Image ci-logo.svg [cipad] Added icon. Jul 5, 2011
Image ci.md [doc] foreach. Nov 15, 2019
Image cito.csproj [build] .NET Core project. Oct 21, 2019
Image 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.