O Pipoca é o desenvolvimento de um compilador que é demonstrado na disciplina Compiladores - UFRRJ.
É necessário as ferramentas flex, bison e gpp.
sudo apt install build-essential flex bisonFoi criado um Makefile com os comandos para a execução e o arquivo exemplo.foca será direcionado para a entrar do compilador gerado ao final do script.
make
int main()
{
int a;
float b = 15.6;
float c = -16.88;
char d = 'H';
bool e = True;
string f = "Heber";
g := 7;
}
int global = 9;
int main()
{
print(global);
}
int main()
{
int a = 0
while a < 10 {
int b = 26;
a++;
}
b = 1;
}
int main()
{
int a = 0;
if a > 10 {
a++;
}
else {
a--;
}
}
int main()
{
int a = 0;
while a < 10 {
a++;
}
}
int main()
{
int a = 0;
do {
a++;
} while a < 10;
}
int main()
{
int i;
for i = 0; i < 10; i++{
println(i);
}
}
int main()
{
int i;
for i = 0; i < 10; i++{
if i > 5{
break;
}
println(i);
}
}
int main()
{
int i;
for i = 0; i < 10; i++{
if i < 5{
continue;
}
println(i);
}
}
int main()
{
int a;
scan(&a);
print("valor de a = ");
println(a);
}
int main()
{
string name1 = "Heber";
string name2 = " e Davi";
string time;
time = name1 + name2;
println(time);
}
int main(){
int a = 1;
int b = 2;
int c;
c = a + b;
}
func int soma (int a, int num, string msg){
println(msg);
return num + a;
}
func void status(){
println("OK");
}
int main()
{
status();
}
int main(){
num := 15
num > 10 ? println("true") : println("false");
}
int main(){
int a;
float a;
}
int main(){
int a = 1;
a = a/0;
}
int main()
{
int x = 10;
x++;
}
int main()
{
int x = 10;
x != 10;
}
int main()
{
float raiz;
raiz = sqrt(9);
print("Valor da raiz = ");
println(raiz);
}
int main(){
float pot;
pot = pow(3, 2);
}