Name : Guacamole, File Extension : .g, Author : Raxo, Grammar : PEG (lang.peg)
if you would like a syntax highlighter for Guacamole, I have included a .vsix
file which can easily be installed on VSCode for syntax highlighting.
Compile Compiler:
> make clean && make && make compiler
Interpret Code:
> ./compiler code.g
+ // ADD
- // SUBTRACT
* // MULTIPLY
/ // DIVIDE
^ // RAISE TO POWER
% // MODULO
+ // STAY
- // FLIP
! // 0 IF BIGGER THAN 0 ELSE 1
== // EQUAL TO
!= // NOT EQUAL TO
<= // LESS THAN OR EQUAL TO
< // LESS THAN
>= // MORE THAN OR EQUAL TO
> // MORE THAN
|| // OR
&& // AND
a = 1;
b = a + 5;
c = (b ^ 4) * 4;
break // BREAK LOOP
return // RETURN FROM FUNK
continue // SKIP TO NEXT LOOP ITERATION
if // IF CONDITION
elif // ELSE IF CONDITION
else // ELSE CONDITION
while // WHILE LOOP
// IF BLOCK
if (a == 1 || a == 2) {
a = 4;
}
// ELIF BLOCK
elif (a < 1 && a < 2) {
a = 1;
}
// ELSE BLOCK
else {
a = 2;
}
// WHILE BLOCK
while (a < 5) {
a = a + 1;
}
funk add(a, b) {
return a + b;
}
print(a); // PRINTS WITH 1 SPACE AFTER
println(a); // PRINTS WITH NEWLINE AFTER
donut(); // DONUT!!!!