No compiler yet or interpretor for that matter... anyways, here goes the "surface" design of it:
--------------------------
EPIAE
Every Program is an Expression
Programs are ALL enclosed in "()", and can be
refered to by outside programs if the program
being refered to is running... *whew* The
program is refered to by the file name.
So, (my_program.ep) would call up my_program.ep.
(Of course, once compiled you refer to it
as it''s compiled name)
Expressions are enclosed in parenthesises.
The command that goes with an expression
is located inside the parens. So if
there was a magical foo command:
(foo)
Foo would be activated. Sometimes,
a command shall need some data
inputed into it. This is handled
by doing:
(foo (bar_data))
The nested () means that data is nested
inside. There is one set of () for each command
unless others should be nested.
To create new commands, invoke the "built-in"
command, func:
(func ("Function_Name")("code in a string here"))
Here, the string, function name shall create a new
function, and the "code in a string here" is used
to input the needed code.
So:
(print ("hello world")) would print hello world.
Loops are handled with commands. So you would do:
(while ("code that must be true for loop to execute")("code"))
Variables:
(int ("my integer"))
(char ("my char"))
Math:
(add (5)(6))
If you put a + between two sets of parameters, it is the same as multiplying the
parameters. Confused? Here''s an example:
(
(blah(a))
(blah(b))
)
is the same as
(
(blah(a)+(b))
)
---
Sample:
(
(int (a)+(b))
(input (a)+(b))
(add (a)+(b))
)
The strings with "code" in them, depending on what the function or command asks for, might have to be converted into code. (Think the exec() function in python or some other language)
(While you''re reading, please make an interpretor... you know... so I don''t have to :-P)
Comments? Suggestions? Flames?