grapejuice
Initial release
Anggur yang Anda cari ada di Gitlab. Ini hanyalah proyek bodoh yang nyaris tidak bekerja yang saya buat saat remaja.
Harap dicatat: Saya membuat ini untuk melihat bagaimana rasanya membuat bahasa pemrograman sederhana, dan karena itu tidak disarankan agar Anda menggunakan ini untuk sesuatu yang lebih dari sekedar tawa pasangan
Installer anggur untuk linux
Grapejuice adalah bahasa yang saya buat, yang dikompilasi menjadi C ++
Teman saya saat ini sedang mengerjakan versi 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
Contoh program dapat ditemukan di /proyek setiap folder berisi .gape yang merupakan versi yang tidak dikompilasi, dan .Juice yang merupakan versi yang dikompilasi.
[int] f_foo [int] nomor Angka+1 -> Keluar Aduk Enddef $ Komentar PINTU MASUK [int] f_get_float -> dipilih [int] f_foo dipilih -> hal Hal f_print F_nl F_pause