/milan

JVM based programming language

Primary LanguageJavaMIT LicenseMIT

Based on logo

EO principles respected here DevOps By Rultor.com We recommend IntelliJ IDEA

codecov

Milan is a very simple programming language designed to teach students at Volzhskiy Polytechnic Institute.

Current version of language – JVM based.

Grammar

Terminals Values
Keywords BEGIN DO ELSE END ENDDO ENDIF IF OUTPUT READ THEN WHILE
Operands + - * / = > < <= >= <>
Numbers [0-9]
Letters [a-zA-Z]
Assignment character :=
Separator ;
Construction ( )

Progress

Current version of Milan grammar supports expressions like:

BEGIN
    a1 := 1;
    WHILE a1 < 10 DO
        b1 := (a1 / 2) * 2;
        OUTPUT(b1);
        IF a1 == 9 THEN
            WHILE b1 <> 1 DO
                OUTPUT(b1);
                b1 := b1 - 1;
            ENDDO;
        ENDIF;
        a1 := a1 + 1;
    ENDDO;
    OUTPUT(a1);
    OUTPUT(b1);
    c101 := (a1 - 30) * (b1 + 2);
    OUTPUT(c101);
    OUTPUT(65433214);
END

How to Contribute

Fork repository, make changes, send us a pull request. We will review your changes and apply them to the master branch shortly, provided they don't violate our quality standards. To avoid frustration, before sending us your pull request please run full Maven build:

$ mvn clean install

You will need Maven 3.3+ and Java 17+.