]> mj.ucw.cz Git - umpf.git/blob - jazyk
fix many little bugs, release 0.1
[umpf.git] / jazyk
1 Start -> Start Start 
2 Start -> if Podminka { Prikaz } | if Podminka { Prikaz } Konec_podminky | Prikaz 
3
4 Konec_podminky -> else if Podminka { Prikaz } Konec_podminky
5 Konec_podminky -> else Podminka { Prikaz }
6
7 Podminka -> Promenna Operator Retezec | (Promenna Operator Retezec) | Promenna Operator Retezec Bool_spojka Podminka| (Promenna Operator Retezec) Bool_spojka Podminka| ! Podminka 
8
9 Bool_spojka -> | | & | ^
10
11 Promenna -> $X
12 Retezec -> T | R
13 T -> "Y" | 'Z' | N
14 N -> //jakekoliv cislo
15 X -> [A-Za-Z0-9_-]+
16 Y -> //cokoliv s escapovanymi uvozovkami 
17 Z -> //cokoliv s escapovanymi apostrofy
18 A -> // cokoliv s escapovanymi lomitky
19 R -> /A/
20
21 Retezec -> Retezec.Retezec | Promenna.Retezec | Retezec.Promenna | Promenna | Promenna.Promenna
22
23 Operator -> == | === | != | !== | <= | >= | < | > | ~~ | !~ | ~~~ | !~~
24
25 Prikaz -> PrikazPrikaz 
26 Prikaz -> Prirazeni | Akce 
27 Prirazeni -> Promenna = Retezec | Promenna = Akce 
28 Akce -> Co -> Jak Retezec 
29 Co -> copy | _
30 Jak -> pipe | mail | _
31
32 --
33 promenna: $[A-Za-Z0-9_-]+
34 string: "[^\n]*" | '[^\n]*' | cislo
35 klicove slovo
36 whitespace
37 whitespace s novym radkem
38 operator
39 leva zavorka
40 prava zavorka
41 leva slozena zavorka
42 prava slozena zavorka
43 sipka
44 EOF