92
4 Die Sprache IDLE
InterfaceDescription
=
[ errorphase ]
{ (BACKPHASE | FRONTPHASE) name
BEGIN stmseq END }.
stmseq
=
stm { ";" stm }.
stm
=
var ":=" expr |
OPEN [ fileid ]
(FILE string | PORT string num) |
CLOSE [ fileid ] |
WRITE [ fileid ] (expr | NULLBYTE) |
READ [ fileid ]
( COUNT num | UPTO expr )
[ INTO var ] |
IF condition THEN stmseq
[ ELSE stmseq ] END |
FOREACH var IN expr DO stmseq END |
WHILE condition DO stmseq END |
PAGE stmseq END |
OUTPUT [outcontrol] expr |
INPUT incontrol argpairs INTO var |
PRINT expr |
BACK name |
FRONT name |
RESUME.
outcontrol
=
TITLE | HEADER ["1"-"6"] | PREDEFINED.
incontrol
=
STRING | PASSWORD | MENU | CHECK |
RADIO | REF.
errorphase
=
ERRORPHASE errorseq BEGIN stmseq END.
errorseq
=
errorstm { ";" errorstm }.
errorstm
=
TIMEOUT (FRONT | BACK) "(" num "," string ")" |
ERROR (READ | OPEN) argpairs.
condition
=
expr relation expr | expr CONTAINS string.
relation
=
"=" | "#".
expr
=
var | string | function.
function
=
(ADD | DEL) arg2e |
(CONCAT | RIGHTOF | LEFTOF) arg2s |
BETWEEN arg3.
string
=
text | ( ( FIRST | LAST ) arg1 ).
arg1
=
"(" expr ")".
arg2e
=
"(" expr "," expr ")".
arg2s
=
"(" expr "," string ")".
arg3
=
"(" expr "," string "," string ")".
argpairs
=
"(" string "," string { "," string "," string } ")".
fileid
=
num.
var
=
name.
name
=
"a"-"Z" | "_" { "a"-"Z" | "0"-"9" | "_" }.
num
=
{ "0"-"9" }
text
=
'"' { character } '"'.
comment
=
"(*" { character } "*)".
Zeichenerklärung:
[
]
Eingeschlossener Teil ist optional
{
}
Eingeschlossener Teil kann beliebig oft wiederholt werden (0 bis n).
A | B
Entweder A oder B
"a"-"Z"
Auswahl aus Bereich: "a" | "b" |
| "Z"