grapejuice
Initial release
您要寻找的葡萄味在Gitlab上。这只是我十几岁的一个愚蠢的几乎没有工作的项目。
请注意:我创建了这一点,以了解如何创建一种简单的编程语言,因此不建议您将其用于一对笑的任何东西
Linux的葡萄叫安装程序
GrapeJuice是我制作的一种语言,将其编译成C ++
我的朋友目前正在制作Windows版本
everything before it is the head. everything after is the body.
Functions:
defining a function:
In head of file:
[datatype (any c++ data type, or "string")]F_FunctionName [datatype]param1 [datatype]param2 ...
code
TOSS returnvalue
ENDDEF
for example:
[float]F_add [float]num1 [float]num2
[float]num1+num2 -> total
TOSS total
ENDDEF
calling a function:
In body:
F_functionName param1 param2 ...
(note that the parameters must be variables, not literals)
for example:
F_add one two
built-in functions:
F_RAND
returns a random number from 0 to 255
F_RAND_char
returns a random letter
F_PRINT message
prints message to the console
F_NL
prints a line break
F_BEEP
produces hard drive beep
F_GET_string
prints "::", gets user input, and returns value as string.
F_GET_float
prints "::", gets user input, and returns value as float
F_PAUSE
waits for user to press enter
F_INT_TO_CHAR int
returns a character with assci value of int
F_CHAR_TO_INT char
returns ascii value of char
logic:
use one per line with no spaces
multiply
*
divide
/
add
+
subtract
-
and
&
or
|
not
!
greater than
>
less than
<
equal to
=
flow:
if/else if/else:
IF booleanVarible
code
ENDIF
ELSEIF booleanVarible
code
ENDELSEIF
ELSE
code
ENDELSE
while:
WHILE booleanVariable
code
ENDWHILE
timer:
WAIT intVariableSeconds
variables:
declaring a varible:
[datatype]valueOrExpression -> name
examples:
[int]5 -> five
[int]3+3 -> six
changing a varible:
valueOrExpression -> name
example:
4 -> five
declaring an array:
[datatype]{index0 index1 index2 ...} -> name
example:
[int]{1 2 3 4 5} -> oneToFive
calling an array:
name{index}
example:
oneToFive{1}
strings:
the value for a string must be between quotes.
the symbol @ is the esape character
@_ is a space
@A is @
example:
[string]"strings@_and@_@A's" -> derp
可以在 /项目中找到每个文件夹中的示例程序,其中包含一个.grape是未编译的版本,并且是.juice是编译版本。
[int] f_foo [int]编号 数字+1->外 扔出去 EndDef $评论 入口 [int] f_get_float->选择 [int] f_foo选择 - > f_print的东西 f_nl f_pause