// Exemplo de código na linguagem
function main() {
var x = 10;
var y = 20;
print(x + y);
}
/* Exemplo de código na linguagem */
programa {
inteiro a, b;
a = 15;
b = 25;
imprimir(a + b);
}
# Exemplo de código na linguagem
def calcular_soma(x, y):
resultado = x + y
retornar resultado
principal():
mostrar(calcular_soma(10, 20))
// Exemplo de código na linguagem
inicio
variavel num1 = 30;
variavel num2 = 40;
escrever(num1 * num2);
fim
// Exemplo de código na linguagem
classe Exemplo {
funcao principal() {
var a = 5;
var b = 10;
retornar a + b;
}
}
%{
#include "tokens.h"
%}
%%
[ \t\n]+ { /* ignora espaços */ }
"if" { return IF; }
"else" { return ELSE; }
"while" { return WHILE; }
[0-9]+ { return NUM; }
[a-zA-Z]+ { return ID; }
"+" { return PLUS; }
"-" { return MINUS; }
%%
%{
#include "ast.h"
%}
%token IF ELSE WHILE NUM ID PLUS MINUS
%%
program : statement
;
statement : IF '(' expr ')' statement
| WHILE '(' expr ')' statement
| expr ';'
;
expr : expr PLUS term
| expr MINUS term
| term
;
term : NUM
| ID
;
%%
t1 = a + b
t2 = t1 * c
x = t2
(+, a, b, t1)
(*, t1, c, t2)
(=, t2, -, x)
// TAC
t1 = a + b
t2 = t1 * 4
x = t2
// Assembly (x86)
MOV EAX, [a]
ADD EAX, [b]
MOV EBX, 4
MUL EBX
MOV [x], EAX