MiniJava é um subconjunto da linguagem Java, usado para ensino de projeto e implementação de compiladores. Como é um subconjunto, todo programa MiniJava é um programa Java válido que pode ser executado pela JVM, fornecendo um meio simples dos alunos testarem a saída dos seus compiladores sem ter um compilador MiniJava disponível.
MiniJava restringe a linguagem Java para ter apenas inteiros, booleanos, vetores de inteiros e classes,
removendo interfaces, números de ponto flutuante, classes abstratas, strings, vetores de outros
tipos etc. Também não há sobrecarga de métodos, ou métodos estáticos, exceto pelo método main da
classe principal do programa. O comando System.out.println
de MiniJava só pode imprimir números.
Um exemplo simples de MiniJava:
Um programa MiniJava está restrito a um único arquivo fonte, não existe o conceito de pacote. Existem outros programas exemplo na página de MiniJava.
Note que MiniJava trata System.out.println
como uma palavra reservada, não como uma
chamada do método println
. Isso facilita o restante do compilador. Também não há um operador
de divisão.
[ \n\t\r\f]
//
e indo até o final da linha, o outro começando com /*
e terminando com */
, sem aninhamentoboolean
, class
, extends
, public
, static
, void
, main
, String
, return
, int
, if
, else
, while
, System.out.println
, length
, true
, false
, this
, new
_
(
, )
, [
, ]
, {
, }
, ;
, .
, ,
, =
, <
, ==
, !=
, +
, -
, *
, /
, &&
, !
A sintaxe é dada usando EBNF. Meta-símbolos EBNF usados como tokens estão entre aspas simples.
Última Atualização: 2016-05-18 10:58