xerox
6000d5d8b5
|
5 years ago | |
---|---|---|
examples | 5 years ago | |
functions | 5 years ago | |
hashmap | 5 years ago | |
includes | 5 years ago | |
linked_list | 5 years ago | |
logic | 5 years ago | |
parser | 5 years ago | |
5 years ago | ||
vars | 5 years ago | |
README.md | 5 years ago | |
deon.l | 5 years ago | |
deon.y | 5 years ago | |
lex.yy.c | 5 years ago | |
make.sh | 5 years ago | |
y.tab.c | 5 years ago | |
y.tab.h | 5 years ago |
README.md
Deon programming language V0.9.2.1
My computer programming language made with LEX/YACC written in C. (interpreted)
Hello World.
def Main : {
printf[ "hello world" ];
};
call Main;
Requirements to making a program: 1.) a struct/function. 2.) a call statement.
Variables
Variables are stored in a hashmap for quick and easy access. Variables also support type juggling. When you define a variable its type will be assumed when parsed.
myint = 121231;
mydouble = -123.122;
mystring = "cool string";
mychar = 'c'; // char
myfunction = { printf[ "hello world" ]; }; (statement list)
Logic
Logic is first evaluated and if deemed valid then a list of statements will be executed.
if [ 10 > 9 ]: {
printf [ "10 is bigger than 9!" ];
newInt = 100;
};
if [ {int} newInt > 99 ]: {
printf [ "newInt is bigger than 99" ];
};
Functions
Functions can be declared inside of a struct and accessed by anyone who uses the scope resolution operator. Do not mistake structs as functions just because you can interact with them in the same way. Functions do not have "scope" like structs do. Functions can interact with all elements in the parenting struct including other functions, and those functions local variables.
def NewStruct : {
someFunction = {
printf[ "hello world" ];
};
};
call NewStruct;
Coming soon
TCP networking, file handling, and finally loops!