Dissertation Louis Perrochon
Navigation bar
  Home Start Previous page
 93 of 163 
Next page End Inhalt 88 89 90 91 92 93 94 95 96 97 98  

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"

Copyright Louis Perrochon. All Rights reserved.