Title: G?a
1G?aµµat???? ?
2G?aµµat???? ??
3G?aµµat???? ???
4G?aµµat???? ?V
5G?aµµat???? V
6G?aµµat???? ?a? s??ta?t??? a????s? ?
?st?, ? ??aµµat??? ????? s?µf?a??µe?a
G(?,?,S,R), ?p?? ?NUMBER,,-,,/,(,) N
E SE µe ?a???e? pa?a????? E ? EE
(1) E-E (2) EE (3) E/E
(4) (E) (5) NUMBER (6)
7G?aµµat???? ?a? s??ta?t??? a????s? ??
? pa?ap??? ??aµµat??? µp??e? ?a a?a??se? t??
pa??stas? (37)/(8-6). ???ta ???s?µ?p??e? t??
?a???a pa?a????? (4) ?a? s??µat??e? t?
d??d?? ?et? s??µat??e? t? a??ste?? ?a? t?
de?? ?p?d??d?? ???s?µ?p????ta? t?? ?a???a
pa?a????? (5)
8G?aµµat???? ?a? s??ta?t??? a????s? ???
? a????s? s??e???e? µe ta f???a ? sta d??
?p?d??d?a. ?? ? st? a??ste?? ?p?d??d?? a?a??eta?
µe t?? ?a???a pa?a????? (1) ?a? t? ? st? de??
?p?d??d?? a?a??eta? µe t?? ?a???a pa?a????? (2).
9G?aµµat???? ?a? s??ta?t??? a????s? ?V
????? ??a ta f???a ? a?a????ta? µe t?? ?a???a
pa?a????? (6).
10G?aµµat???? ?a? s??ta?t??? a????s? V
11G?aµµat???? ?a? s??ta?t??? a????s? VI
?? ap?t??esµa t?? a????s?? e??a? ??a pa??????
d??d??. ?ta? ? a????s? p??????e? p??ta p??ta µe
t? s??µat?sµ? t?? a??ste??? ?p?d??d???, t?te
??µe ?t? ? a????s? s??µat??e? a??ste???
p??tas?a??? µ??f??.
- ??µe ?t? ? s?µί???se??? e??a? µ?a a??ste??
p??tas?a?? µ??f?, a? ??e? p?????e? ap? t??
p??????µe?e?, efa?µ????ta? ???e f??? pa?a????,
p?? a?t??a??st? t? p??t? µ? te?µat??? s?µί??? ap?
a??ste??. ??t? ???feta? ??, - ??a s?µί???se??? e??a? de??? p??tas?a?? µ??f?,
a? ??e? p?????e? efa?µ????ta? ???e f??? pa?a????,
p?? a?t??a??st? t? p??t? µ? te?µat??? s?µί??? ap?
de???. ??t? ???feta? ??
12G?aµµat???? ?a? s??ta?t??? a????s? VII
- ??µe ?t? µ?a ??aµµat??? e??a? ??aµµat??? LL(k) a?
???e t?? p??tas? µp??e? ?a p?????e? ap? t?? a???
t?? µ?s? a??ste??? p??tas?a??? µ??f??, ?p?? ?
?a???a? p?? efa?µ??eta? se ???e pa?a???? µp??e?
?a p??ί?ef?e? µe ί?s? ta k ep?µe?a s?µί??a t??
s?µί???se????. - ??e? ?? ???sse? t?? ???????e?a? LL e??a?
p??sd????st????. - ??a ??aµµat??? e??a? ??aµµat??? LR(k) a? ???e t??
p??tas? µp??e? ?a pa?a??e? ap? t?? a??? t?? µ?s?
de???? p??tas?a??? µ??f??, p?? p????pt??? µe
efa?µ??? ?a???a ? ?p???? µp??e? ?a a????e??e? µe
ί?s? ta k p??ta te?µat??? s?µί??a t?? p??tas?a???
µ??f??. - ??e? ?? ???sse? t?? ???????e?a? LR e??a?
p??sd????st????. - ? ???????e?a t?? ???ss?? LR(1) e??a? a???ί?? ?
???????e?a t?? p??sd????st???? ???ss?? ?a? e??a?
e???te?? ap? t?? ???????e?a t?? ???ss?? LL.
13S?µί???sµ?? BNF ?a? EBNF I
14S?µί???sµ?? BNF ?a? EBNF II
- ???????G?? G?aµµat??? a???µ?t???? e?f??se??
- S ??f?as?.
- ??f?as? ??f?as? ???? ??f?as? - ????
????. - ???? ???? pa?????ta? ???? / pa?????ta?
pa?????ta?. - pa?????ta? ( ??f?as? ) a???µ??.
- a???µ?? ??f?? ??f?? .
- ??f?? 0 1 2 3 4 5 6
7 8 9.
15?a?????a ?a? s??ta?t??? d??d?a I
- ??a pa?????? d??d?? a?apa??st? t? d?µ? µ?a?
p??tas?? ?a? ??e? t? ?a?a?t???st??? ?t? µp??e? ?a
a?t?st???e? se pe??ss?te?e? ap? µ?a pa?a?????. - ???????G??
- S ??f?as?.
- ??f?as? ??f?as? ?? ??f?as? ( ??f?as? )
a???µ??. - ?? - /.
- ?????S? (27-5)8
16?a?????a ?a? s??ta?t??? d??d?a II
- ?a?a???? µ?s? de???? p??tas?a??? µ??f??
- ?a?a???? µ?s? a??ste??? p??tas?a??? µ??f??
17?a?????a ?a? s??ta?t??? d??d?a II?
18?a?????a ?a? s??ta?t??? d??d?a IV
- S??ta?t??? d??d?? p?? s?µpa??? d?µ? p??
pa??????a pe????e? ?a? t?? p????f???a ??a t?
stat??? s?µas?a t?? p??tas??
19G?aµµat???? µe as?fe?e? ?
- ??µe ?t? µ?a ??aµµat??? pe????e? as?fe?e?, ?ta?
se µ?a p??tas? t?? µp??e? ?a a?t?st??????
pe??ss?te?a ap? ??a d??d?a. - ?S?F??? ?????????????S ????S?O?
- S ??f?as?.
- ??f?as? ??f?as? ?? ??f?as? ( ??f?as? )
a???µ??. - ?? - /.
- ?????S? 27-58
20G?aµµat???? µe as?fe?e? ??
21G?aµµat???? µe as?fe?e? ???
22G?aµµat???? µe as?fe?e? ?V
- S?st? d??d?? e??a? t? d??d?? e?e??? p?? e??a?
s?µίat? µe t? s?µas?a p?? ???e? ?a ap?d?se? ?
?atas?e?ast?? se ???e st???e?? t?? ???ssa?. - G?a t?? as?fe?a p??te?a??t?ta? te?est??
apa?te?ta? ? ???s? ?a????? ap?saf???s??
p??te?a??t?t??. - S ??f?as?.
- ??f?as? ??f?as? ??_?T ??f?as? ????.
- ??_?T -.
- ???? ???? ??_G? ???? pa?????ta?.
- ??_G? /.
- pa?????ta? ( ??f?as? ) a???µ??.
23G?aµµat???? µe as?fe?e? V
- ? p??????µe?? ??aµµat??? pa?aµ??e? d?sµ?a
as?fe?a? ?? p??? t?? p??seta???st???t?ta t??
p???e?? p?? ???eta? ? a????s? t?? 27-5-8 ?
s???e???µ??? ??aµµat??? af??e? a????t? ?a? t?
e?de??µe?? (27-5)-8 a??? ?a? t? e?de??µe??
27-(5-8). - S?????? µa? e?d?af??e? ?a d?asfa?????µe a??ste??
p??seta???st???t?ta ?a? a?t? ep?t?????eta? a? ?
a?t?st????? ?a???a? t?? ??aµµat????
?a?a?t????eta? ap? a??ste?? ?a? µ??? a??ste??
a?ad??µ???t?ta.
24G?aµµat???? µe as?fe?e? V?
- ??????µ??? ??aµµat??? S ??f?as?.
- ??f?as? ??f?as? ??_?T ???? ????.
- ??_?T -.
- ???? ???? ??_G? pa?????ta? pa?????ta?.
- ??_G? /.
- pa?????ta? ( ??f?as? ) a???µ??.
- ???tas? 27-58
25G?aµµat???? µe as?fe?e? V??
26G?aµµat???? µe as?fe?e? V??I
- ?? ???????? ??? ????O??? ELSE
- S e?t???.
- e?t??? if ??f?as? then e?t???
- if ??f?as? then e?t??? else e?t???
- ????.
- if EK1 then if EK2 then ???1 else ???2
27G?aµµat???? µe as?fe?e? I?
28G?aµµat???? µe as?fe?e? ?
- G????????? ??? ???F??G?? ?? ???????? ??? ????O???
ELSE ?? ?????S?? - S e?t???.
- e?t??? s??_e?t??? as??_e?t???.
- s??_e?t???if ??f?as? then s??_e?t??? else
s??_e?t??? - ????.
- as??_e?t??? if ??f?as? then e?t???
- if ??f?as? then s??_e?t???
else as??_e?t???.
29??apa??stas? pa??????? d??d???
- define astEmptyProgram 399
- define astProgram 400
- define astEmptyDeclSeq 401
- define astDeclSeq 402
- define astDecl 403
- . . . . . . . . . . . . . .
- / -----------------------------------------------
------------ / - / ----- THE STRUCTURE FOR THE ABSTRACT SYNTAX
TREE NODES ---- / - / -----------------------------------------------
------------ / - typedef struct AstNode_tag
- int NodeType
- struct symbol_tag SymbolNode
- struct AstNode_tag pAstNode4
- AstNode
30?a??d??? ?????s?
- ?e???? ap? t? a??? t?? ??aµµat???? (???a d??d???)
??a ?a a?apt??e? t? s?µί???se???, p?? a?a??e?, a?
a?t? ap?te?e? p??tas?. - ?aµ?a ap? t?? te?????? p?? ?a e?et?s??µe de?
µp??e? ?a efa?µ?s?e? se a??ste?? a?ad??µ????
??aµµat????. - ??a??????µe t?? te?????? t?? ?p?s??d??µ?s?? ?a?
t?? te?????? t?? p?????s??.
31?a??d??? a????s? µe ?p?s??d??µ?s? ?
- ?????t?? s???e???µ???? µ? te?µat???? s?µί????
efa?µ??eta? ? p??t?? ?a???a? t?? ??aµµat????. - St?? p??tas?a?? µ??f?, p?? p????pte? ep????eta?
t? p??t? ap? a??ste?? µ? te?µat??? s?µί??? ?a?
efa?µ??eta? ? p??t?? ?a???a?, p?? a?af??eta? se
a?t?. - G??eta? epa?a??pt??? efa?µ??? t?? ί?µat?? 2, ??a
???e ??a ap? ta µ? te?µat??? s?µί??a, p??
a?????????, µ???? t? st??µ? t?? pa?a?????, - µ?a? se???? te?µat???? s?µί???? (p??tas? ???ssa?
a? ta?t??eta?) ? - tµ?µat?? te?µat???? s?µί???? t?? p??tas?a???
µ??f??, p?? d?af??e? ap? t? a?t?st???? tµ?µa t??
s?µί???se???? e?s?d?? - ? de?te?? pe??pt?s? µp??e? ?a e??a? ap?t??esµa
esfa?µ???? ep?????? ?a???a. ??a??e?ta? ? ?a???a?
p?? efa?µ?s???e te?e?ta??? ?a? ???s?µ?p??e?ta? ?
ep?µe??? p?? ?s??e? ??a t? ?d?? µ? te?µat???
s?µί???. ?? ????? ???s?µ?p????e? ???? ?? ?a???e?,
t?te ? a??????µ?? d?at??e? t? s?µί??? ?? ??e? ?a?
p?????? st?? a?a??es? t?? ?a???a ??a t?
p??????µe?? µ? te?µat??? s?µί??? ?a? ?p?s??d??µe?
st?? ?at?????? ??s? t?? s?µί???se???? e?s?d??.
32?a??d??? a????s? µe ?p?s??d??µ?s? ??
- ???????G??
- S k X n k Y.
- X l m.
- Y mmn nnm. ?????S? kmmm
33?a??d??? a????s? µe ?p?s??d??µ?s? ??I
- ?d?a?te?a p???p????
- ??? ap?d?t???
- ???et? ?e????, d??. a?a??????e? p?? p?????
???sse? ap? t?? ???e? te?????? ?a??d???? a????s?? - ???e? st?? e?t?p?sµ? t?? ?a??? ?a? ?ts? ? a??????
???eta? p??? d?s????
34?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ?
- St?? a????s? a?ad??µ???? ?at?ίas?? ? ???e
?a???a?, p?? a?af??eta? se ??p??? µ? te?µat???
s?µί???, e?f???eta? ap? t?? ???sµ? µ?a?
d?ad??as?a?, p?? ?a t? a?a??????e?. - ??a? a?a??t?? p??ί??p??sa? a?ad??µ???? ?at?ίas??
ap?te?e?ta? - ap? µ?a ?a?????? µetaί??t?, p?? pe????e? t??
t?µ? t?? t?????sa? ?e????? µ???da? - ap? µ?a ί????t??? d?ad??as?a a?a?????s??, p??
e????e? a? ? t?????sa ?e???? µ???da e??a? ?
a?aµe??µe?? ?a? ?a?e? t? d?ad??as?a ?e?????
a????s??, ??a t?? a?????s? t?? ep?µe??? ?e?????
µ???da? ?a? t?? e??µ???s? t?? ?a???????
µetaί??t?? - ap? t?? d?ad??as?e? a????s??, p?? a?t?st??????
sta µ? te?µat??? s?µί??a t?? ??aµµat???? - ap? µ?a d?ad??as?a e?????s??, p?? af?? d?aί?se?
t?? p??t? ?e???? µ???da ?a?e? t? d?ad??as?a, p??
a?t?st???e? st? µ? te?µat??? s?µί??? t?? a????.
35?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ??
- ???????G??
- S ??f?as?.
- ??f?as? ??f?as? ???? ??f?as? - ????
????. - ???? ???? pa?????ta? ???? / pa?????ta?
pa?????ta?. - pa?????ta? ( ??f?as? ) a???µ??.
pa?????ta? ?p??e?e ???_??? pe??pt?s? ( a?a?????se (() ??f?as? a?a?????se ()) pe??pt?s? a???µ?? a?a?????se(a???µ??) a????? ????? ????? pa?????ta. //a?_?e?_µ?? a?aµe??µe?? ?e?. µ???da a?a?????se (a?_?e?_µ??) a? (???_???a?_?e?_µ??) t?te d??ίase t?? ep?µe?? µ???da ?a? e??µ???se t? µetaί??t? ???_??? a????? ????? t???? a? ????? a?a?????se.
36?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ??I
? p??ί??p??sa a?ad??µ??? ?at?ίas? st????eta? st??
p?????s? t?? ?at??????? ???e f??? ?a???a, p??
?d??e? st?? pa?a???? t?? d??d??? t?? p??tas??. ?e
µp??e? ?a efa?µ?s?e? se a??ste?? a?ad??µ????
??aµµat????, ?p?? a?t? t?? p??????µe???
pa?ade??µat??. ?? ?e???s??µe t? µ? a??ste??
a?ad??µ??? ??aµµat??? t?? a???µ?t????
e?f??se?? S ??f?as?. ??f?as? ????
?p_????. ?p_???? ???? ?p_???? - ????
?p_???? e. ???? pa?????ta? ?p_pa?a?. ?p_pa?a?
pa?????ta? ?p_pa?a? / pa?????ta?
?p_pa?a? e. pa?????ta? (??f?as? )
a???µ??.
37?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ?V
- G?a t? µ? te?µat??? s?µί??? ??f?as?, µp??e?
e?a??a?t??? ?a ????µe t?? pa?a????, - ??f?as? ? ???? ?p_???? ? pa?????ta? ?p_pa?a?
?p_???? ? (??f?as?) ?p_pa?a? ?p_???? . . . . - ? t?? pa?a????
- ??f?as? ? ???? ?p_???? ? pa?????ta? ?p_pa?a?
?p_???? ? a???µ?? ?p_pa?a? ?p_???? . . . . - Ge????, ??a ?a st?????e? ? a????s? st?? te?????
t?? p?????s?? ??e???eta? ??a ???e µ? te?µat???
s?µί???, ?a e??a? e? t?? p??t???? ???st? to
s????? t?? te?µat????, p?? e??a? d??at? ?a
eµfa??s???? st?? a??? t?? s?µί???se????, p??
pa?????ta? ap? a?t? (s????? FIRST). ?p?p????, a?
? ??aµµat??? pe???aµί??e? ?a???e?-e, t?te ??a
???e µ? te?µat??? s?µί??? p?? ί??s?eta? st?
a??ste?? µ???? e??? t?t???? ?a???a, ep?ί???eta?
?a? ? ?p?????sµ?? t?? s?????? t?? te?µat????, p??
µp??e? ?a eµfa??s???? aµ?s?? µet? ap? a?t?
(s????? FOLLOW).
38?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? V
- ?????s? p?????s?? ?e?t???? ?d?a
- ???e?s?? µ?a? pa?a????? A ? ? ? ?, ? a?a??t??
p??pe? ?a e??a? se ??s? ?a ep????e? µeta?? ? ? - S????a FIRST
- G?a ??a de?? µ???? pa?a????? ??G, ??????µe ??
FIRST(?) t? s????? t?? a?a?????st???? p??
eµfa?????ta? p??ta st?? s?µί???se???? p??
pa?????ta? ap? t? ?. - ???ad? ?s??e?, x ? FIRST(?) a? ?a? µ??? a? ? ?
x ?, ??a ??p??a s?µί???se??? ? - G?aµµat??? LL(1)
- ?? A ? ? ?a? A ? ? eµfa?????ta? st? ??aµµat???
p??pe? - FIRST(?) ? FIRST(?) ?
- ??t? ep?t??pe? st?? a?a??t? ?a p?????se? µe
asf??e?a t?? pa?a???? p?? ?a ???s?µ?p??e? se ???e
ί?µa!
39?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? V?
- ???e?s?? µ?a? ??aµµat???? p?? ??e? t?? ?d??t?ta
LL(1) - µp????µe ?a ??????µe d?ad??as?e? p?? ?a
a?a????????? t? a??ste?? µ???? t?? ???e pa?a?????
- ? ??d??a? t?? a????s?? e??a? ap??? ?a? ????????
?? ??aµµat???? µe t?? ?d??t?ta LL(1) ???µ????ta?
p?????s?µe? ??aµµat???? ??at? ? a?a??t?? µp??e?
?a p?????se? t? s?st? a??pt??? se ???e s?µe??
t?? a????s??. ?? a?a??t?? p?? e?µeta??e???ta? t??
?d??t?ta LL(1) ???µ????ta? a?a??t??
p?????s??. ??a pe??pt?s? a????s?? p?????s?? e??a?
? a????s? p??ί??p??sa? a?ad??µ???? ?at?ίas??.
40?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? V?I
- ?a??de??µa d?????µ???? ??aµµat???? a???µ?t????
e?f??se?? - (ί?. d?af??e?a ?????s? p??ί??p??sa? a?ad??µ????
?at?ίas?? ???)
int PLUS1, MINUS2, ... int lookahead
getNextToken() //?a?????? µetί??t?
???_??? void advance() lookahead
getNextToken() void match(int token) if
(lookahead token) advance() else error()
void Term() Factor() TermPrime() void
TermPrime() switch(lookahead) case
TIMES match(TIMES) Factor()
TermPrime() break case DIV match(DIV)
Factor() TermPrime() break
default return void Factor()
switch(lookahead) case LPAR match(LPAR)
Expr() match(RPAR) break
case NUMBER match(NUMBER) break
default error()
void S() Expr() void Expr() Term()
ExprPrime() void ExprPrime()
switch(lookahead) case PLUS match(PLUS)
Term() ExprPrime() break
case MINUS match(MINUS) Term() ExprPrime()
break default return
41?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? V?II
- ?a??de??µa d?????µ???? ??aµµat???? a???µ?t????
e?f??se?? - (ί?. d?af??e?a ?????s? p??ί??p??sa? a?ad??µ????
?at?ίas?? ???)
- G?a t?? ?atas?e?? pa??????? d??d???
- G??f??µe µ?sa st?? d?ad??as?e? ??d??a ??a
d?µ??????a ??µί?? - ?e???µe t??? ??µί??? ap? d?ad??as?a se d?ad??as?a
µ?s? µ?a? st??ίa? - ?fa????µe ap? t? st??ίa t??? ??µί??? t?? de????
µ????? t?? pa?a?????, t??? ?????µe ap??????? t??
??µί?? t?? a??ste??? µ????? ?a? e?s????µe t??
te?e?ta?? st? st??ίa - G?a t?? ?atas?e?? s??ta?t???? d??d???
- ?atas?e?????µe ????te???? ??µί???
- ??e???eta? ?a t??? ί????µe st? st??ίa µe t??
?at?????? se??? ?ste ?a e?asfa?????µe a??ste??
p??seta???st???t?ta
Expr() Term() ExprPrime() / d?µ??????a
??µί?? Expr e?a???? ??µί?? ExprPrime ap?
st??ίa e?a???? ??µί?? Term ap? st??ίa
?a??st??µe ExprPrime ?a? Term ap??????? t??
Expr e?sa???? ??µί?? Expr st? st??ίa /
42?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? I?
S if E then S else S begin S
L print E. L end S
L. E num num
void S() switch(lookahead) case IF
match(IF) E() match(THEN) S()
match(ELSE) S() break case BEGIN
matvh(BEGIN) S() L() break case PRINT
match(PRINT) E() break default error()
void E() match(NUM) match(EQ)
match(NUM)
void L() switch(lookahead) case END
match(END) break case SEMI match(SEMI)
S() L() break default
error()
43?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ?
main ???s? S() S1 efa?µ??? t?? pa?a????? (S,
IF) S?if E then S else S S1 match(IF) S1
???s? E() E1 efa?µ??? t?? pa?a????? ??a (E,
NUM) E?num num E1 match(NUM) match(EQ)
match(NUM) E1 return ??a E1 st? S1 S1
match(THEN) S1???s? S() S2 efa?µ??? t??
pa?a????? ??a (S, PRINT) S?print E S2
match(PRINT) S2 ???s? E() E2 efa?µ???
t?? pa?a????? ??a (E, NUM) E?num num E2
match(NUM) match(EQ) match(NUM) E2 return
??a E2 st? S2 S2 return ??a S2 st? S1 S1
match(ELSE) S1 ???s? S() S3 efa?µ??? t??
pa?a????? ??a (S, PRINT) S?print E S3
match(PRINT) S3 ???s? E() E3 efa?µ???
t?? pa?a????? ??a (E, NUM) E?num num E3
match(NUM) match(EQ) match(NUM) E3 return
??a E2 st? S3 S3 return ??a S3 st? S1 S1
return ??a S1 st? main main match(EOF) return
success
- ???? pa??de??µa (s????e?a)
- p??tas? if 22 then print 55 else
print 11
44?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ??
Ge???? µ??f? d?ad??as??? p??ί??p??sa? a?ad??µ????
?at?ίas?? ?? ??a t? µ? te?µat??? s?µί??? ?
????eta? st? ??aµµat??? ? ?a???a? ?a? a?
?p???s??µe ?t? ? e??a? apa?e???µ?,
t?te ? ?p??e?e ???_??? pe??pt?se?? FIRST(
) d?ad??as?e? a?a?????s?? pe??pt?se??
FIRST( ) d?ad??as?e? a?a?????s??
.... pe??pt?se?? FIRST( ) ?
FOLLOW(X) d?ad??as?e? a?a?????s?? ?
t?? s?µί???? p?? a????????? a????? ?????
????? ?.
45?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ???
- S????? FIRST G?? S?????? G?????????S
- G?a µ?a se??? s?µί???? ? t?? ??aµµat????
??????µe FIRST(?) ?? t? s????? t?? a?a?????st????
p?? eµfa?????ta? st?? a??? t?? s?µί???se???? p??
pa?????ta? ap? t?? ? - G?a ?a ?p?????sete t? FIRST(X) ??a ??a s?µί??? X,
efa?µ??ete t??? ep?µe???? ?a???e? µ???? ?ta? de?
p??st??e?ta? p???? st? FIRST(X) ??a s?µί??a - ?? t? X e??a? te?µat???, t?te FIRST(X) e??a? t?
X - ?? ?p???e? pa?a???? X ?? t?te t? ?
pe???aµί??eta? st? FIRST(X) - ?? t? X e??a? µ? te?µat??? ?a? X ?Y1Y2 ... Yk
e??a? µ?a pa?a????, t?te s?µpe???aµί????µe st?
FIRST(X) ???e st???e?? t?? FIRST(Y1) e?t?? ap? t?
? - ?? t? X e??a? µ? te?µat??? ?a? X ?Y1Y2 ... Yk
e??a? µ?a pa?a????, t?te s?µpe???aµί????µe t?
te?µat??? a st? FIRST(X) a? t? a e??a? st?
FIRST(Yi) ?a? ? e??a? sta FIRST(Yj) ??a ??a ta 1
? j ? i - ?? X e??a? ??a µ? te?µat??? ?a? X ?Y1Y2 ... Yk
µ?a pa?a????, t?te s?µpe???aµί????µe t? ? st?
FIRST(X) a? t? ? e??a? sta FIRST(Yi) ??a ??a 1 ?
i ? k
46?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ????
- S????? FIRST G?? S????S S?????O? ??S G?????????S
- G?a ?a ?p?????s??µe t? s????? FIRST ??a µ?a
se??? X1X2 ... Xn s?µί???? t?? ??aµµat????
(ef?s?? ????µe ?p?????se? ta s????a FIRST ??a ta
X1, ?2 , ... , Xn) efa?µ????µe ta a??????a - ?? FIRST(X1X2 ... Xn) ?a pe???aµί??e?
- ??a ta s?µί??a t?? FIRST(X1) e?t?? ap? t? ?
- ??a ta s?µί??a t?? FIRST(Xi) e?t?? ap? t? ?, a?
t? ? e??a? sta FIRST(Xj) ??a ??a ta 1 ? j ? i - ?a? t? ? , a? ? e??a? sta FIRST(Xi) ??a ??a ta 1
? i ? n
47?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ??V
- ???????G?? ?????G?S??? S????O? FIRST
S ??f?as?. ??f?as? ???? ?p_????. ?p_????
???? ?p_???? - ???? ?p_????
e. ???? pa?????ta? ?p_pa?a?. ?p_pa?a?
pa?????ta? ?p_pa?a? / pa?????ta?
?p_pa?a? e. pa?????ta? (??f?as? )
a???µ??.
S?µί??a FIRST S?µί??a FIRST S?µί/??? FIRST S
(, a???µ?? pa?????ta? (, a???µ??
???? ?p_???? ??f?as? (, a???µ??
a???µ?? a???µ?? - ????
?p_???? - ?p_???? ? , , -
pa?????ta? ?p_pa?a?
???? (, a???µ?? - - / pa?????ta?
?p_pa?a? / ?p_pa?a? ? , , /
/ / ( (
48?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ?V
- S????? FOLLOW G?? MH ????????? S??????
G?????????S - G?a ??a µ? te?µat??? s?µί??? A ??????µe t?
FOLLOW(A) ?? t? s????? t?? te?µat???? p?? µp?????
?a eµfa??s???? de??? t?? A se ??p??a p??tas?a??
µ??f? - G?a t?? ?p?????sµ? t?? FOLLOW(A) ??a ??a µ?
te?µat??? A efa?µ????µe t??? ?a???e? p??
a????????? µ???? ?ta? de? p??st??e?ta? p???? ??a
s?µί??a st? FOLLOW(A) - ??s????µe t? st? FOLLOW(S) ( e??a? t? t????
s?µί???se????, S e??a? ? a??? t?? ??aµµat????) - ?? ?p???e? pa?a???? A ? ? B ?, t?te
pe???aµί????µe st? FOLLOW(B) ??a ta s?µί??a t??
FIRST(?) e?t?? t?? ? - ?? ?p???e? pa?a???? A ? ? B, t?te pe???aµί????µe
st? FOLLOW(B) ??a ta s?µί??a t?? FOLLOW(A) - ?? ?p???e? pa?a???? A ? ? B ?, ?a? t? ? e??a? st?
FIRST(?) t?te pe???aµί????µe st? FOLLOW(B) ??a ta
s?µί??a t?? FOLLOW(A)
49?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ?V?
- ?a?ade??µata FOLLOW (??aµµat??? a???µ?t????
e?f??se??)
50?????s? p??ί??p??sa? a?ad??µ???? ?at?ίas?? ?V??
- ?e? µp????? ?a ???s?µ?p??????? a??ste??
a?ad??µ???? ??aµµat????. - ?e? µp????? ?a ???s?µ?p??????? ??aµµat????, p??
de? e??a? LL(1), ?p?? p.?. - se???_e?t???? e?t??? se???_e?t????
e?t???. - e?t??? te?µat???.
51?????s? LL(1) I
52?????s? LL(1) II
- ???????µ?? ?p?????sµ?? p??a?a a????s?? ?
- G?a ??e? t?? pa?a????? A ? ?, ef??µ?se ta e???
ί?µata - G?a ???e te?µat??? a st? FIRST(?), ??se A ? ? st?
??s? MA, a - ?? t? ? pe???aµί??eta? st? FIRST(?), ??se A ? ?
st?? ??se?? MA, b ??a ???e te?µat??? b t??
FOLLOW(A) ?a? ??se A ? ? st? ??s? MA, a? t?
pe???aµί??eta? st? FOLLOW(A) - ??e? ?? ?p????pe? ??se?? t?? p??a?a M e?f??????
t?? a?a?????s? ??????.
53?????s? LL(1) II?
- ???????G?? (??aµµat??? a???µ?t???? e?f??se??)
S ??f?as?. ??f?as? ???? ?p_????. ?p_????
???? ?p_???? - ???? ?p_????
e. ???? pa?????ta? ?p_pa?a?. ?p_pa?a?
pa?????ta? ?p_pa?a? / pa?????ta?
?p_pa?a? e. pa?????ta? (??f?as? )
a???µ??.
54?????s? LL(1) IV
- ???????G?? (??aµµat??? a???µ?t???? e?f??se?? -
s????e?a)
55?????s? LL(1) V
- ???????µ?? a????s?? LL(1)
push() // e??a? t? s?µί??? t????? t??
s?µί???se???? push(S) // S e??a? ? a??? t??
??aµµat???? lookahead get_next_token() //
d??ίase t? ep?µe?? a?a?????st??? repeat X
top_of_stack() if (X e??a? te?µat??? ? X
) then if (X lookahead) then
pop(X) lookahead
get_next_token() else error() else
// X ??a µ? te?µat??? if ( MX,
lookahead X ? Y1 Y2 ... Yk) then
pop(X) push(Yk) push(Yk-1) ...
push(Y1) else error() until (X )
56?p?µ?????s? a??ste??? a?ad??µ???t?ta? ?
- ??a??????µe t?? ?µes? ?a? t?? ?µµes? a??ste??
a?ad??µ???t?ta - ???????G?? ???S?S ??. ??????????????S
- ??f?as? ??f?as? ??_?T ???? ????.
- ???????G?? ????S?S ??. ??????????????S
- G????? ???F? ???S?S ??. ??????????????S
- µetas??µat??eta? st?? ?s?d??aµ? µ??f?
57?p?µ?????s? a??ste??? a?ad??µ???t?ta? ??
- ???????G??
- ? S ??f?as?.
- ??f?as? ??f?as? ???? ??f?as? - ????
????. - ???? ???? pa?????ta? ???? / pa?????ta?
pa?????ta?. - pa?????ta? ( ??f?as? ) a???µ??.
- µetas??µat?st??e st??
- S ??f?as?.
- ??f?as? ???? ?p_????.
- ?p_???? ???? ?p_???? - ???? ?p_????
e. - ???? pa?????ta? ?p_pa?a?.
- ?p_pa?a? pa?????ta? ?p_pa?a? /
pa?????ta? ?p_pa?a? e. - pa?????ta? (??f?as? ) a???µ??.
58?p?µ?????s? a??ste??? a?ad??µ???t?ta? ???
- ???????µ?? ap?µ?????s?? ?µes?? ?a? ?µµes??
a??ste??? a?ad??µ???t?ta?
59?p?µ?????s? a??ste??? a?ad??µ???t?ta? ?V
- ?at? t?? ap?µ?????s? t?? a??ste???
a?ad??µ???t?ta? de? a????e? ? ???ssa t??
??aµµat????. - ?????e? ? µ??f? t?? d??d??? p?? pa???e? ?
ep??e?e?sa µ???d?? a????s??. - S?µa?t???te?? s???pe?a e??a? t? ?e????? ?t?
???eta? ? ep???µ?t? ?d??t?ta t?? a??ste???
p??seta???st???t?ta?.
60???ste?? pa?a???t?p???s? ?
- ?????e?ta? ?p??asd?p?te p??ί??p??sa? a????s??, a?
??a t? ?d?? µ? te?µat??? s????? ?p?????? d?? ?
pe??ss?te??? ?a???e? µe t? ?d?? p???eµa st? de??
µ????. - ???????G????
- se???_e?t???? e?t??? se???_e?t????
e?t???. - e?t??? te?µat???.
- ?
- e?t???_if if ??f?as? then e?t???
- if ??f?as? then e?t??? else
e?t???.
61???ste?? pa?a???t?p???s? ??
- Ge????, ? ?a???a?
- µetas??µat??eta? st??
62???d??? a????s? Ge???? ?
- ? s?µί???se??? e?s?d?? stad?a?? ap??p??e?ta? st?
s?µί??? t?? a???? t?? ??aµµat????, ?a???
d?aί??eta? ap? a??ste?? p??? ta de??? pa??????a
µe t?? efa?µ??? ?a????? ??a ta s?µί??a, p?? ?????
?d? d?aίas?e?. - ? a?t?st??f? t?? ap??p???s?? p?? e?te?e? µ?a
d?ad??as?a a??d???? a????s?? e??a? µ?a pa?a????
de???? p??tas?a??? µ??f??. - ?? d??d?? a?apt?sseta? ί?µa p??? ί?µa, ap?
a??ste?? p??? ta de??? ?a? ap? ta f???a p??? t?
???a. - ???e d?ad??as?a a??d???? a????s?? s??t????e? t??
e?t??es? e?e??e??? ???s?? (st? st??ίa),
ap??p???s?? ?a? ap?d????.
63???d??? a????s? Ge???? ??
- ?????e?a ???s??
- O?e?ta? ? t?????sa ?e???? µ???da st? st??ίa ?a?
d?aί??eta? ? ep?µe??. - ??µ?????e?ta? ??a t? s?µί??? p?? ??e?ta? ?
a?t?st????? ??µί?? µe t? µ??f? ???? d??d???, sta
de??? t?? d?s??? p?? ap?te?e?ta? ap? d??d?a, p??
d?µ?????????a? sta p??????µe?a ί?µata t??
a????s??. - ?????e?a ap??p???s??
- Se µ?a e????e?a ap??p???s?? µe ί?s? ??a
s???e???µ??? ?a???a - t?? ??aµµat????, ????µe d?µ??????a e??? ????
??µί?? ??a t? µ? te?µat??? s?µί??? ? ?a?
µetat??p? t?? n ????? p?? ί??s???ta? sta de???
t?? d?s???, se ap??????? t?? ???? ??µί??.
64???d??? a????s? ???s?? ap??p???s?? ?
- S ??f?as?.
- ??f?as? ??f?as? a???µ?? a???µ??.
-
65???d??? a????s? ???s?? ap??p???s?? ??
66???d??? a????s? ???s?? ap??p???s?? ???
- ?? ??t??? p???eµa µ?a? ?p??asd?p?te de????
p??tas?a??? µ??f?? e??a? t? s????? t?? s?µί????,
p?? pe??????ta? st? st??ίa, se ??p??? ί?µa t??
a????s?? (d??. ?? ???e? t?? d??d??? p??
s??µat????ta?). - ??a s????? s?µί????, p?? µp??e? ?a ί??s?eta? st??
????f? t?? st??ίa? ?a? s?µίa??e? ?a ta?????e? µe
t? de?? µ???? e??? ?a???a pa?a????? ???µ??eta?
?aί? ap??p???s??. - ???????G??
67???d??? a????s? ???s?? ap??p???s?? ?V
- ??ad??as?e? ???s?? ap??p???s??
- - a????s? p??te?a??t?ta? te?est??
- - a????s? ap??? p?????s??
- - a????s? LR (? p?? s?µa?t???)
- ?? ???sse? LR e??a? p??sd????st???? (d??. ?p???e?
a?t?µat? st??ίa? p?? t?? a?a??????e? µe
p??sd????st??? t??p?). - ?? te?????? a????s?? LR, p?? ???s?µ?p????µe, de?
a?a????????? t?? p??t?se?? t?? ???ssa? µe
p??sd????st??? t??p? se ??e? t?? pe??pt?se??.
???a?? p??ί??µata - S??????s? ???s?? ap??p???s?? (p??ί??µa µet?????
else). - S??????s? ap??p???s?? ap??p???s??.
68?????s? LR I
- ? ???????e?a t?? ??aµµat???? LR e??a? ??a
?pe?s????? t?? ??aµµat????, p?? a?a????ta? µe
???s? t?? te?????? LL(1). ??e??e?t?µata - ?µes?? e?t?p?sµ?? ?a???.
- ? p?? ?e???? a????s? ???s?? ap??p???s??, p??
µp??e? ?a ???p????e? ????? ?p?s??d??µ?s? ?a? ?a
?e?t????e? t? ?d?? ap?d?t??? µe t?? ?p????pe?
te?????? t?? ?d?a? ?at?????a?. - ???a? ? t?p?? t?? ??d??a a????s??, p?? pa???eta?
ap? t?? p?? d?aded?µ??e? ?e???t??e? ??d??a. - ?? te?????? LR d?af????? µeta?? t??? a?????a µe
t?? t??p? µe t?? ?p??? ???eta? ? s??t???sµ?? t??
e?t??es?? t?? e?e??e??? ???s?? ?a? ap??p???s??.
69?????s? LR I?
- G?a t?? ?a????sµ? t?? ep?µe??? e????e?a? ?
a?a??t?? ???s?µ?p??e? ??a? a???µ?, p?? s???de?e?
t?? ???e? t?? d??d??? t?? d?s???. - ? a???µ?? a?t?? ???µ??eta? ?at?stas? ?a? e?d??? ?
?at?stas? t?? ???a? t?? d??d??? p?? ί??s?eta? sta
de??? t?? d?s??? ???µ??eta? t?????sa ?at?stas?. - ?p?p????, st? a??ste?? µ???? t?? d?s??? ?p???e? ?
a????? ?at?stas?, p?? ???s?µ?p??e?ta? ??a t??
?a????sµ? t?? p??t?? e????e?a? t?? a?a??t?. - ?? e????e?e? e??? a?a??t? LR e?a?t??ta? ap? t??
e??st?te t?????sa ?at?stas? t??.
70?????s? LR I??
- St?? e????e?a t?? ???s??, ? ?at?stas? t?? ???a?
t?? ???? d??d??? ?a?????eta? ap? t?? t?????sa
?at?stas? ?a? ap? t? s?µί???, p?? ??e?ta? st?
st??ίa (?a? st? d?s??). - Se e????e?a ap??p???s??, d?µ?????e?ta? ??a? ????
??µί?? ??a t? µ? te?µat??? s?µί??? st? ?p???
a?af??eta? ? ?a???a? ?a? s??d???ta? s? a?t?? ??
ap??????, ?? n p?? de???? ???e? t?? d?s???, p??
a?t?st?????? sta s?µί??a t?? de???? µ????? t??
?a???a. ??te d?a???f??ta? ?? ?atast?se?? p??
s???de???? t?? n ???e?. ? ?at?stas? p??
ep?s???pteta? st? ??a ???a, ?a?????eta? µe ί?s?
t?? ?at?stas? t?? ???a?, p?? ί??s?eta? aµ?s?? p??
a??ste?? ?a? t? µ? te?µat??? s?µί??? t?? ????
??µί??. - G?a t?? ?a????sµ? t?? e?e??e??? t?? a????s??
???s?µ?p????µe ??a? p??a?a e?e??e??? ?a? ??a?
p??a?a µetaί?se??.
71?????s? LR IV
72?????s? LR V
73?????s? LR VI
- ???????G??
- (1) ??f?as? ??f?as? ????.
- (2) ??f?as? ??f?as? - ????.
- (3) ??f?as? ????.
- (4) ???? ???? pa?????ta?.
- (5) ???? ???? / pa?????ta?.
- (6) ???? pa?????ta?.
- (7) pa?????ta? ( ??f?as? ).
- (8) pa?????ta? a???µ??.
74?????s? LR VI?
75?????s? LR VI??
76?????s? LR ??
77??a??t?? LR ???s?? - ap??p???s?? ?
78??a??t?? LR ???s?? - ap??p???s?? ?I
push() // t? s?µί??? t?????
s?µί???se???? push(s0) // s0 ? a?????
?at?stas? lookahead get_next_token() repeat
forever s top_of_stack() // ACTION e??a? ?
p??a?a? e?e??e??? if ( ACTIONs,lookahead
ap??p???s? ??? ) then pop 2? s?µί??a
//afa?????ta? ta s?µί??a ?? ?atast?se??
s top_of_stack() push(?)
push(GOTOs,?) // GOTO e??a? ? p??a?a?
µetaί?se?? else if ( ACTIONs,lookahead
???s? si ) then push(lookahead)
push(si) lookahead
get_next_token() else if ( ACTIONs,lookahead
ap?d??? and lookahead ) then
return (ep?t???? a?a?????s?) else error()
79??a??t?? LR ???s?? - ap??p???s?? ?I?
- ??a ??aµµat??? e??a? LR(k) a?, d??e?s?? µ?a?
de???? pa?a????? - S ? ?0 ? ?1 ? ?2 ? ? ?n-1 ? ?n ? p??tas?
- µp????µe
- 1. ?a a?a?????s??µe µ?a ?aί? ap??p???s?? ??a ???e
de??? p??tas?a?? µ??f? ?i , ?a? - 2. ?a ?a????s??µe t?? ?a???a t?? ap??p???s??
- µe t?? a?????s? t?? ?i ap? a??ste?? p??? ta
de???, p???????ta? t? p??? k s?µί??a p?? de???
ap? t? t???? t?? ?aί?? ap??p???s?? t?? ?i .
80??a??t?? LR ???s?? - ap??p???s?? ?V
- ?? µ?a ??aµµat??? e??a? LR(?) ? ?p???e? µ?a ?a?
µ??? µ?a de??? pa?a???? t?? ???e p??tas?? - St? p??? µ???? t?? st??ίa? e?te
- ?p?????? ??e? ?? e?e???? ?aί?? ap??p???s?? p??
pe???aµί????? t?? ????f? t?? st??ίa?, e?te - ?????ta? s?µί??a µ???? ?a ap?te?e? ? ????f? t?
de?? ???? µ?a? ?aί?? ap??p???s?? - ? ???ssa t?? ?aί?? ap??p???s?? e??a? ?a?????? ?a?
??a - µp??e? ?a ?atas?e?as?e? ??a p??sd????st???
pepe?asµ??? a?t?µat? p?? ?a e?te?e? a?a?????s?
?aί?? ap??p???s?? - ?? p??a?e? e?e??e??? ?a? µet?ίas?? ??s?ast???
e?f?????? t? s???e???µ??? a?t?µat? - ???e ??a ?at?stas? t?? a?t?µat?? t?? e?s????µe
st? st??ίa - ?? te????? ?atast?se?? t?? a?t?µat?? a?t?st??????
se e????e?e? ap??p???s?? - ??a ?at?stas? e??a? ? GOTOa??ste?? s?µί???
?a???a , ?at?stas? ????f??
81??a??t?? LR ???s?? - ap??p???s?? V
- ??? ft??????µe t??? p??a?e? e?e??e???
µetaί?se??
St??ίa
p??a??? ??d??a?
??d??µes? ??apa??stas?
??aµµat???
82??a??t?? LR ???s?? - ap??p???s?? V?
- ??? ft??????µe t??? p??a?e? e?e??e???
µetaί?se?? (????? t? yacc) - ?atas?e?????µe ap? t? ??aµµat??? t? a?t?µat?
a?a?????s?? ?aί?? ap??p???s?? - ??????µe t??? p??a?e? e?e??e??? µetaί?se??
- a? ? ?atas?e?? t?? a?t?µ?t?? pet??e? t?te ?
??aµµat??? e??a? ??aµµat??? LR(?) - a????? e??a? p??a?? ?a p???????? s??????se??
???s?? ap??p???s?? ? s??????se?? ap??p???s??
ap??p???s?? - t?te ? ?a p??pe? ?a efa?µ?s?e? µ?a ???? ?atas?e??
LR(?) ? ?a ?atas?e??s??µe t?? a?a??t? ?ts? ?ste
se µ?a pe??pt?s? s??????s?? ?a ep????e? ???e f???
µ?a s???e???µ??? e????e?a - ?? a?a??t?? t?? byacc ?ta? ????µe s??????s?
???s?? ap??p???s?? e?te???? ???e f??? t?? ???s?
83??a??t?? LR ???s?? - ap??p???s?? V??
- ??? ft??????µe t? a?t?µat? a?a?????s?? ?aί??
ap??p???s?? (????? t? yacc) - ???s?µ?p????µe st???e?a LR(k) ??a ?a
??d???p???s??µe t? s????? t?? ?a????? p?? µp??e?
t? de?? t??? µ???? ?a ap?te??se? ?aί? ap??p???s??
se µ?a ded?µ??? ?at?stas? - ?p????????µe ??a ???e ?at?stas? ta goto( s, ? )
?a? closure( s ), d??ad? t? ??e?s?µ? (ί?.
s????e?a) - ?ata???f??µe t?? ?atast?se?? ?a? t?? µetaί?se??
t?? a?t?µat?? - s?µp???????µe t??? p??a?e? e?e??e??? µetaί?se??
84??a??t?? LR ???s?? - ap??p???s?? V???
- St???e?? LR(k) e??a? ??a ?e???? A , B, ?p??
- A e??a? µ?a pa?a???? ????? µe µ?a ??p?? st?
de?? µ???? - B s?µί??a e?s?d?? µe µ???? k
(te?µat??? ? ) - ?a?ade??µata
- ????? , a
- ????? , a
- ????? , a
- ????? , a
- ? de???e? t?? t?????sa ??s? p?? µp????µe ?a
?e???s??µe ?t? a?apa??st? ? ????f? t?? st??ίa? - st???e?a LR(0) ??? ?? (de? ?p??????
s?µί??a e?s?d??) - st???e?a LR(1) ??? ?? , a (??a µ???
s?µί??? e?s?d??) - st???e?a LR(2) ??? ?? , a b (d?? s?µί??a
e?s?d??) ...
85???a?e? a????s?? LR(1) I
- ? pa?a???? ?????, µe s?µί??? e?s?d?? a, pa???e? 4
st???e?a LR(1) - ????? , a, ????? , a, ????? , a,
????? , a - ?? s????? t?? LR(1) st???e??? µ?a? ??aµµat????
e??a? pepe?asµ???. - ???a e??a? ? s?µas?a t?? s?µί???? e?s?d?? sta
st???e?a - ta ?ata???f??µe ?ts? ?ste ?a ?d????µaste st?
s?st? ap??p???s? - a? ? ί??s?eta? se e?d??µes? ??s? se ??a µ???
st???e?? de? pa??e? ??p??? ?d?a?te?? ???? - p.?. st? ????? , a, t? s?µί??? e?s?d?? de?
??e? ?d?a?te?? s?µas?a - st? ????? , a, t? s?µί??? a ?d??e? st??
ap??p???s? ????? - st? s????? ??? , a,???? , b
- s?µί??? e?s?d?? a ? ap??p???s? se ?
- s?µί??? e?s?d?? ? FIRST(?) ? ???s?
- se µ?a LR(1) ??aµµat??? ??a s?µί??? e?s?d?? e??a?
a??et? ??a ?a ?a????se? t?? ep?µe?? e????e?a
86???a?e? a????s?? LR(1) II
- ?? ?atast?se?? t?? p??sd????st???? a?t?µat??
a?a?????s?? ?aί?? ap??p???s?? ??????ta? ?? s????a
st???e???, I0 , I1 , ... , In - a. ??s????µe ??a ??? s?µί??? S ?a? µ?a pa?a????
- S ? S ?p?? S ? a??? t?? ??aµµat????
- b. ? a????? ?at?stas?, I0 pe???aµί??e? ta
st???e?a - S ?S, ?a? ??a ta ?s?d??aµa p?? d????ta? ??
- closure( I0 )
- c. G?a ???e s????? Ik ?a? ???e s?µί??? ?,
ί??s???µe t? goto(Ik , ?) - a? t? s????? t?? goto(Ik , ?) de? ??e? ?d?
d?µ???????e? t?te t? d?µ???????µe - ?ata???f??µe ??e? t?? µetaί?se?? goto( )
-
- S?µp???????µe t??? p??a?e? e?e??e??? ?a?
µetaί?se?? t?? a????s??
87???a?e? a????s?? LR(1) II?
- ?????G?S??S closure(I)
- ?? closure(I) p??s??te? st? s????? I ??a ta
st???e?a p?? p????pt??? ap? ta ?d? ?p?????ta st?
I - ???e st???e?? ?????? , a d?µ?????e? ep?s?? ??a
ta ??? ? , x ??a ???e pa?a???? µe ? sta
a??ste?? ?a? ??a ??a ta x ? FIRST(?a) - ef?s?? s?µpe????f???? ??a ta st???e?a t??
pa?a????? ? pe???aµί????ta? ?a? ?sa p????pt???
ap? a?t? efa?µ????ta? t?? ?d?a p????
Closure( I ) while ( t? s????? I µe?a???e? )
for ???e ? ? ? ?? , a ? I
for ???e pa?a???? ? ? ? ? P for
???e te?µat??? b ? FIRST(?a)
if ? ? ? , b ? I
then p??s??ese t? ? ? ? , b st? I
88???a?e? a????s?? LR(1) IV
- ?????G?S??S goto(I,x)
- ?p??????e? t? ??a ?at?stas? p?? ? a?a??t??
p??se????e? a? a?t?? ί??s?eta? st?? ?at?stas? I
?a? a?a??????e? t? te?µat??? x - goto( ??? ? ?? , a , ? ) pa???e? ?at?stas?
p?? pe???aµί??e? t? ???? ? ? , a
- a? de? ?p???e? d?µ?????e?ta? ?a? pe???aµί??eta?
se a?t? ?a? t? closure( ???? ? ? , a )
Goto( I, x ) new Ψ for ???e ? ? ?
x ? , a ? I new new ? ? ? ?x
? , a return closure(new)
89???a?e? a????s?? LR(1) V
- ??G???T??S ????S????S ?????????
- ?e????µe ap? t? I0 closure( S? S , )
- ??µ???????µe s????e?a ??e? ?atast?se?? µ???? t?
st??µ? p?? de? ?a µp??e? ?a d?µ?????????? ???e?
I0 closure( S ? S , ) C I0
while ( p??st??e?ta? st? C ??a s????a st???e???
) for ???e Ii ? C ?a? ???e x ? ( T?NT )
Inew goto(Ii , x) if Inew ? C
then C C ? Inew
?at???a?e t? µet?ίas? Ii ? Inew µe a?a?????s?
t?? x
90???a?e? a????s?? LR(1) V?
- ??G???T??? ????S????S ?????O? LR(1)
Closure( I ) while ( t? s????? I µe?a???e? )
for ???e ? ? ? ?? , a ? I
for ???e pa?a???? ? ? ? ? P for
???e te?µat??? b ? FIRST(?a)
if ? ? ? , b ? I
then p??s??ese t? ? ? ? , b st? I
Goto( I, x ) new Ψ for ???e ? ? ?
x ? , a ? I new new ? ? ? ?x
? , a return closure(new)
I0 closure( S ? S , ) C I0
while ( p??st??e?ta? st? C ??a s????a st???e???
) for ???e Ii ? C ?a? ???e x ? ( T?NT )
Inew goto(Ii , x) if Inew ? C
then C C ? Inew
?at???a?e t? µet?ίas? Ii ? Inew µe a?a?????s?
t?? x
91?a??de??µa a????s?? LR(1) ?
S ? ??f?as? ??f?as? ? ???? - ??f?as? ??f?as? ?
???? ???? ? pa?????ta? ???? ???? ?
pa?????ta? pa?????ta? ? id
S?µί??? FIRST S id ??f?as? id ???? id
pa?????ta? id - - id id
92?a??de??µa a????s?? LR(1) ??
93?a??de??µa a????s?? LR(1) ???
for ???e s????? st???e??? Ix ? C for ???e
st???e?? ? Ix if st???e?? e??a? ???
a?,b ?a? a ? T ?a? goto(Ix,a) Ik ,
then ACTIONx,a ? ???s? k else if
st???e?? e??a? S?S , then
ACTIONx , ? ap?d??? else if
st???e?? e??a? ??? ,a then
ACTIONx,a ? ap??p???s? ??? for ???e n ?
NT if goto(Ix ,n) Ik then
GOTOx,n ? k
94?a??de??µa a????s?? LR(1) ?V
95S??????se?? e?e??e???
- ?? ???eta? a? ? ?at?stas? s pe????e? ? ? ? a?
, b ?a? ? ? ? , a - ?? p??t? st???e?? pa???e? ???s? ?a? t? de?te??
ap??p???s? - ?e? µp????µe st? ACTIONs,a ?a s?µp????s??µe d??
e????e?e? - S??????s? ???s?? ap??p???s?? (shift reduce
conflict) - ?p????µe ? ?a a??????µe t? ??aµµat??? ?
- a??a??eta ?a ep??????µe t?? e?t??es? ???s??, ??t?
p?? ??e? ap?de???e? ?t? s?????? ap?d?de? t? s?st?
s?µas?a (p.?. ???ί??µa µet????? else) ? - ?a ep??????µe ??p??a ???? a????s? LR
- ?? ???eta? ?ta? ? ?at?stas? s pe????e? ? ? ? ,
a ?a? ? ? ? , a - ???e st???e?? pa???e? ap??p???s?, a??? µe
d?af??et??? ?a???a - ?e? µp????µe st? ACTIONs,a ?a s?µp????s??µe d??
e????e?e? - S??????s? ap??p???s?? ap??p???s?? (reduce
reduce conflict) - ??de??? ?????? st? ??aµµat???
- ?a? st?? d?? pe??pt?se?? ??µe ?t? ? ??aµµat???
de? e??a? LR(1)
96?a?a??a??? a????s?? LR LR(0)
µetaί?se?? s?????? st???e??? LR(0)
??e?s?µ? s?????? st???e??? LR(0)
Goto( I, x ) new Ψ for ???e ? ? ?
x ? ? I new new ? ? ? ?x ?
return closure(new)
Closure( I ) while ( t? s????? I µe?a???e? )
for ???e st???e?? ? ? ? ?? ? I
for ???e pa?a???? ? ? ? ? P
if ? ? ? ? I then
p??s??ese t? ? ? ? st? I
- ?as??? e??a? ?? ?d??? a??????µ?? ?p?? ?a? ??a
t?? a????s? LR(1) - ? µ??? d?af??? e??a? ?t? sta st???e?a LR(0) de?
?p???e? s?µί??? e?s?d?? ?a? ??? a?t? de?
pa?????ta? p???? st???e?a se ???e s????? - ? a????s? LR(0) pa???e? ????te?e? ?atast?se??
- ?e? µp??e? ?a a?a?????se? ??e? t?? ??aµµat????
p?? a?a??????e? ? LR(1) - ???a? p?? p??a?? ?a ?d???se? se s??????se??
a????s??
?atas?e?? s?????? st???e??? LR(0)
I0 closure( S ? S ) C I0 while (
p??st??e?ta? st? C ??a s????a st???e???) for
???e Ii ? C ?a? ???e x ? ( T?NT )
Inew goto(Ii , x) if Inew ? C then
C C ? Inew ?at???a?e
t? µet?ίas? Ii ? Inew µe
a?a?????s? t?? x
97?a?a??a??? a????s?? LR SLR(1)
- ? a??????µ?? SLR(1) ??a ?a ?a????se? p?te ?a
???e? ap??p???s? ???s?µ?p??e? ?a? ta s????a
FOLLOW - ?? a?a??t?? SLR(1) ????? ????te?e? ?atast?se??
ap? ?t? ?? LR(1)
for ???e s????? st???e??? Ix ? C for ???e
st???e?? ? Ix if st???e?? e??a? ???
a? ?a? a ? T ?a? goto(Ix,a) Ik ,
then ACTIONx,a ? ???s? k else if
st???e?? e??a? S?S then
ACTIONx ,\0 ? ap?d??? else if
st???e?? e??a? ??? then for ???e a
? FOLLOW(?) then ACTIONx,a ?
ap??p???s? ??? for each n ? NT if
goto(Ix ,n) Ik then GOTOx,n ? k
98?a?a??a??? a????s?? LR LALR(1)
- ?as??? ?d?a s?????s? ?atast?se?? LR(1)
- ??at?µe t?? p????a LR(0) t?? st???e??? LR(1)
(a?????µe ta s?µί??a e?s?d??) - a? d?? s????a LR(1) ????? t?? ?d?? p????a, t?te
ta s??e?????µe ?a? e??µe?????µe t??? p??a?e?
ACTION ?a? GOTO - ?? a?a??t?? LALR(1) µp????? ?a ft?a?t??? µe d??
t??p??? - ?atas?e?? t?? s?????? st???e??? LR(1) ?a?
s?????s? - ??????µe ta st???e?a µe te?e?a st?? a??? t??
de???? µ????? ?a? ?atas?e?????µe p????e? s??????
st???e??? LR(0). St? s????e?a ???s?µ?p????µe ??a?
a??????µ? p?????s?? s?µί???? e?s?d?? ??a ?a
?p?????s??µe ta s?µί??a e?s?d??. - ? de?te?? p??s????s? e??a? p?? ap?d?t??? epe?d?
ap?fe??e? t? d?µ??????a µe????? e?d??µes?? LR(1)
p??????
99?a?a??a??? a????s?? LR LALR(1)
- ??a? a?a??t?? LALR(1) ??a µ?a ??aµµat??? G ??e?
t?? ?d?? a???µ? ?atast?se?? µe t?? a?t?st????
a?a??t? SLR(1) - ?? ??a? a?a??t?? LR(1) ??a µ?a ??aµµat??? G de?
pa???s???e? s??????se?? ???s?? - ap??p???s??,
t?te de? ?a ??e? s??????se?? ???s?? ap??p???s??
?a? ? a?a??t?? LALR(1) - ??a? a?a??t?? LALR(1) µp??e? ?a eµfa???e?
s??????s? ap??p???s?? - ap??p???s?? ????? a?t? ?a
s?µίa??e? ?a? st?? a?t?st???? LR(1) - ?? a?a??t?? LALR(1) e??a? p?? ?e????? ap? t???
SLR(1) ?a? s???????? ????? t? ?d?? µ???? ????
?atast?se?? - ?????s? LALR(1) pa?????? ?? ?e???t??e? yacc ?a?
byacc
100G??sse? ????? s?µf?a??µe?a ?
LR(k) ? LR(1)
? ?e?a???a ???ss?? ????? s?µf?a??µe?a
101G??sse? ????? s?µf?a??µe?a ??
G??sse? ????? s?µf?a??µe?a
G??sse? ????? as?fe?e?
???te?a??t?ta? te?est??
?e?a???a ???ss?? ????? s?µf?a??µe?a
LR(k)
LR(1)
LL(k)
- ?? ???sse? p??te?a??t?ta? te?est?? pe???aµί?????
?a? ??p??e? ???sse? µe as?fe?e? - LL(1) e??a? ?p?s????? t?? ??aµµat???? SLR(1)
LALR(1)
SLR(1)
LL(1)
LR(0)
102??????? ?a??? ?
- ??t?p?sµ?? ?????? ?s? t? d??at?? p?? ???a??a.
- ?p????? ??s?? ap? ?p?? ?a s??e???eta? ? a????s?.
- ?a e?t?p????ta? µ??? ?pa??t? ???? ?a? ?a µ??
eµfa?????ta? d?ad?d?µe?a p?asµat??? ????. - ?a ap?fe??eta? ? µet?pt?s? t?? a?a??t? se
at??µ??e? ί??????. - ?e?????? a??????? ?a???
- a?????? pa?????
- a?????? se ep?ped? f??s??
- ?a???e? pa?a????? ??a ????
- s??????? d?????s?
103??????? ?a??? ??
- ? a?????? pa????? st?? p??ί??p??sa a?ad??µ???
?at?ίas? ???p??e?ta? µe t?? ?a????sµ? µ???d??
s???????sµ??. - ?ta? ? a?a??t?? ί?e? ?????, t?te p??spe??? t??
ep?µe?e? µ???de? µ???? ?a e?t?p?se? µ?a µ???da
s???????sµ?? ap? t?? ?p??a µp??e? ?a s??e??se?
t?? a????s??. ???e µ? te?µat??? s?µί??? ??e? t??
d???? t?? µ???de? s???????sµ??. ?? µ???de?
s???????sµ?? ep??????ta? µ?sa ap? ta s????a
FOLLOW. - St?? a????s? LL(1) ????µe e?t?p?sµ? ??????, ?ta?
st?? ????f? t?? st??ίa? ί??s?eta? ??a µ?
te?µat??? s?µί??? X, t?t??? ?ste t? t?????
s?µί??? e?s?d?? ?a µ?? pe???aµί??eta? st? s?????
FIRST(X) ?a? a? a?t? s?µίa??e? ?a pe????e? t? e,
??te st? s????? FOLLOW(X).
104??????? pa????? st?? a????s? LL(1) I
- ? a?????? pa????? µp??e? e????a ?a ???p????e?
µe t?? p??sd????sµ? t?? ?at??????? e????e?a?, ??a
???e pe??pt?s? ?e??? ??s??, st?? p??a?a a????s??.
??a??????µe t?e?? p??a??? e????e?e? a??????? - t?? afa??es? t?? s?µί???? ? ap? t? st??ίa (pop),
- t? p??sp??asµa e??? a???µ?? s?µί???? e?s?d??,
µ???? t?? e?t?p?sµ? µ???da?, p?? µp??e? ?a
???s?µ?p????e? ??a t?? epa?e?????s? t??
d?ad??as?a? a????s?? (scan) ?a? - t?? ???s? st? st??ίa e??? ???? µ? te?µat????
s?µί????.
105??????? pa????? st?? a????s? LL(1) II
- ? pop e?te?e?ta?, ?ta? ? t?????sa ?e???? µ???da
e??a? ? ? ?ta? a?t? a???e? st? FOLLOW(X). - ? scan e?te?e?ta?, ?ta? ? t?????sa ?e???? µ???da
de? e??a? ? ?a? de? a???e? st? . - ? push ep?st?ate?eta?, ?ta? s?µίe? ?a ??e?
ade??se? ? st??ίa, e?? de? ??e? ?????????e? a??µ?
? a?????s? ???? t?? µ???d?? t?? s?µί???se????
e?s?d??. ??te ??e?ta? st? st??ίa t? s?µί??? t??
a???? t?? ??aµµat???? ?a? a??????ta? ??a p??? ??a
??a ta ep?µe?a s?µί??a e?s?d??, µ???? t??
a?????s? s?µί????, p?? a???e? st? s????? FIRST
t?? a????.
106??????? pa????? st?? a????s? LL(1) III
- ???????G?? (a?????? ?a??? st? ??aµµat???
a???µ?t???? e?f??se??)
S ??f?as?. ??f?as? ???? ?p_????. ?p_????
???? ?p_???? - ???? ?p_????
e. ???? pa?????ta? ?p_pa?a?. ?p_pa?a?
pa?????ta? ?p_pa?a? / pa?????ta?
?p_pa?a? e. pa?????ta? (??f?as? )
a???µ??.
107??????? pa????? st?? a????s? LL(1) IV
- ??????S ?????S?S ?O??S ??????? ??TO?
- ??????S ?????S?S ?? ??????? ??TO?
108??????? pa????? st?? a????s? LL(1) V
109??t?p?sµ?? ?????? st?? a????s? LR I
(1) ??f?as? ??f?as? ????. (2) ??f?as?
??f?as? - ????. (3) ??f?as? ????. (4) ????
???? pa?????ta?. (5) ???? ???? /
pa?????ta?. (6) ???? pa?????ta?. (7) pa?????ta?
( ??f?as? ). (8) pa?????ta? a???µ??.
110??t?p?sµ?? ?????? st?? a????s? LR II
111??t?p?sµ?? ?????? st?? a????s? LR III
112??t?p?sµ?? ?????? st?? a????s? LR IV
- ??a?????s? ?????? ???eta? ?ta? ? a??????µ??
pe?????e? se ?at?stas?, p?? st?? p??a?a e?e??e???
de? a?t?st???e? s???e???µ??? e????e?a ??a t?
te?µat??? e?s?d??, p?? a??????e?. - ?? d?a???st??? µ???µa ?????? p?? p??pe? ?a
t?p??e? µp??e? ?a ep??e?e? a? e?et?s??µe ta
pe??e??µe?a t?? st??ίa?.
113??t?p?sµ?? ?????? st?? a????s? LR V
- ??????? pa?????
- ?a?????eta? ??a s????? µ???d?? s???????sµ?? p??
s?????? ap?te?e?ta? ap? d?a????st?? p?? d???????
t???? e?t???? ? ????? d?µ?µ???? st???e??? t??
???ssa? - ?ta? e?t?p??eta? ?????, t?te s??e???eta? ?
a?????s? t?? ?e????? µ???d?? e?s?d??, µ???? t??
e?t?p?sµ? ??p??a? µ???da? s???????sµ??. - ???????e? ? stad?a?? afa??es? s?µί???? ap? t?
st??ίa µ???? a?t? ?a pe?????e? se ?at?stas? ap?
t?? ?p??a ????eta? s???e???µ??? e????e?a ??a t?
s?µί??? s???????sµ?? p?? e?t?p?st??e. - ?et? t?? e?t??es? t?? e????e?a? a?t?? ? ??e????
epa????eta? st?? a?a??t? ??a t? s?????s? t??
d?ad??as?a?.
114??t?p?sµ?? ?????? st?? a????s? LR V?
- ??????? se ep?ped? f??s??
- ???pe? ??? ap?? ?a e?t?p?s?e? t? ?????, a??? ?a
???e? ?a? a?a?????s? t?? ?????? p?? e?t?p?s???e. - ? a?????? ap?ί??pe? e?te st?? t??p?p???s? t??
????f?? t?? st??ίa?, e?te st?? t??p?p???s? t??
s?µί???? e?s?d?? p?? p???????ta?, ??a t??
ap??s??pt? s?????s? t?? a????s??. - ??a p??s????s? a?t?? t?? t?p?? ?a?a?t????eta? ap?
t? ??s?? ?a pe?????e? ? a????s? se at??µ??a
ί????. - S???st??ta? te??????
- p?? e?????ta? t?? afa??es? ap? t? s?µί???se???
e?s?d?? ? t?? ???s? st? st??ίa t??????st? µ?a?
?e????? µ???da? - e?????ta? t? ?de?asµa t?? st??ίa? µe t??
????????s? t?? a?????s?? t?? s?µί???se???? - de? afa????? ap? t? st??ίa µ? te?µat??? s?µί??a
?a? t?? a?t?st???e? ?atast?se??, p?? ????? ?d?
a?a?????s?e?
115??t?p?sµ?? ?????? st?? a????s? LR V??
- ??????? ?a??? se a?a??t?? t?? byacc
- ???p?p????µe t? ??aµµat??? p??s??t??ta? ?a???e?
pa?a????? ??a ????, t?? µ??f?? - µ? te?µat??? error µ???de?_s???????sµ??
- ?p?? error ? ?e?d?µ???da ?????? t?? byacc.
- ?et? t?? e?t?p?sµ? ?????? (?e?? ??s? st?? p??a?a
e?e??e???) t? byacc afa??e? ap? t? st??ίa ?sa
s?µί??a ??e???eta?, ?ste a?t? ?a pe?????e? se
?at?stas?, p?? pe????e? ??a t??????st? st???e??
p??e???µe?? ap? ?a???a ??????, µe t?? te?e?a
t?p??et?µ??? sta a??ste?? t?? ?e?d?µ???da? error. - St? s????e?a ? a?a??t?? ??e? st? st??ίa t? µ???da
error, ?? a? a?t? ?ta? µ?a t?p??? pe??pt?s?
s?µί???? e?s?d??. - ?? st?? ?a???a ?????? de? ??e? d????e? ??p??a
µ???da s???????sµ??, t?te ? a?a??t?? p??????e?
?µesa se ap??p???s? s?µf??a µe a?t?? ?a? e?te?e?
t?? e????e?e? p?? t? s???de????. - ? d?ad??as?a s??e???e? a?????ta? ??a ?
pe??ss?te?a s?µί??a e?s?d??, µ???? t?? e?t?p?sµ?
e?e????, ??a t? ?p??? ? p??a?a? e?e??e??? ????e?
t? ep?µe?? e????e?a t?? a????s??.
116??t?p?sµ?? ?????? st?? a????s? LR V???
- ???????G?? G????????? ???T?????O? ??F??S?O?
- G??f??µe t?? te?e?ta?? ?a???a t?? ??aµµat??? µ?sa
st? byacc ?? e??? - paragontas ARITHMOS 1
- ( ekfrasi ) 2
- error 0
-
(1) ??f?as? ??f?as? ????. (2) ??f?as?
??f?as? - ????. (3) ??f?as? ????. (4) ????
???? pa?????ta?. (5) ???? ???? /
pa?????ta?. (6) ???? pa?????ta?. (7) pa?????ta?
( ??f?as? ). (8) pa?????ta? a???µ??.
117??t?p?sµ?? ?????? st?? a????s? LR IX
- ???????G?? G????????? ???T?????O? ??F??S?O?
(s????e?a) - s?µe??s? st?? pa?ap??? a????s? ?? p??a?e? t??
a????s?? e??a? ?? LALR(1) p??a?e? p?? pa???e? t?
byacc ?a? ??? a?t?? p?? ???s?µ?p???saµe se
p??????µe?a pa?ade??µata
118??t?p?sµ?? ?????? st?? a????s? LR X
- s?µa?t??? ?ept?µ??e?a
- ?et? t?? e?t??es? ap??p???s?? s?µf??a µe ?a???a
?????? ? a?a??t?? de? e?t?p??e? ???? ?????
(a???e? t? ?e?d?µ???da error) a? p??????µ???? de?
??e? e?te??se? t?e?? d?ad?????? e????e?e? ???s??
se ?a?????? ?e?t?????a. - ??t? ???eta? ??a ?a ap?fe??eta? ? e?t?p?sµ??
d?ad?d?µe??? (p?asµat????) ?a??? ?a? ??µe ?t?
t?te ? a?a??t?? s??e???e? t? ?e?t?????a t?? se
?at?stas? ??????. - ???pe? ? d?a?e???s? ?a??? ?a ???eta? µe t?t???
t??p? ?ste ? epa?af??? t?? µeta???tt?st? se
?a?????? ?e?t?????a ?a ???eta? µet? ap? a?????s?
e??? e?????? a???µ?? s?µί???? ?a? ??? af?? ??e?
d?aίas?e? ??a µe???? µ???? t?? p?????µµat?? ?????
??s?ast??? ? a?a??t?? ?a ??e? t? d??at?t?ta
e?t?p?sµ?? ?a???. - ?ta? de? ?p???e? ???d???? e?t?p?sµ?? d?ad?d?µe???
?a??? µp??e?te ?a ???s?µ?p??e?te t? macro
yyerrok, p?? epa?af??e? t?? a?a??t? se ?a??????
?e?t?????a ????? ?a ??e? p??????e? ? e?t??es?
t???? e?e??e??? ???s??.
119??t?p?sµ?? ?????? st?? a????s? LR X?
- ???S???
- ?? st? p??????µe?? pa??de??µa ???faµ
- paragontas ARITHMOS 1
- ( ekfrasi ) 2
- error
-
- yyerrok
- 0
-
-
- t?te ? a????s? t?? s?µί???se???? 27 8 ?d??e?ta?
se ??a? at??µ??a ί???? e?t?p?s?? t?? µ???µat?? - syntax error
120??t?p?sµ?? ?????? st?? a????s? LR X
- pe??pt?s? p?? ? ???s? t?? yyerrok e??a? ep?fe???
- while_statement WHILE expr DO statement DONE
-
- exec_do_while(2,4)
-
- error DONE
-
- yyerror(Bad WHILE syntax)
- yyerrok
- NULL
-
-
- ???? d??at?t?ta ?a a?????e? t? s?µί??? e?s?d??,
p?? p???a?e? t?? e?t?p?sµ? ?????? ?a? ?a
s??e??s?e? ? a????s? µe t? s?µί??? p?? a?????e?.
G?a ?a ???e? a?t? ???s?µ?p??e?te t? macro
yyclearin
121??t?p?sµ?? ?????? st?? a????s? LR XI
- St? pa??de??µa t?? p??????µe??? d?af??e?a? ?
?a???a? ?????? s???de?eta? ap? µ???da
s???????sµ??. ??? a?t?d?? ? a?a??t?? se µ?a
t?t??a pe??pt?s? - ?? byacc a???e? ?sa s?µί??a e?s?d?? ??e???eta?,
µ???? t?? e?t?p?sµ? ??p???? p?? e?te e??a? µ?a
ap? t?? µ???de? s???????sµ??, e?te µp??e?
d???t??? ?a ap??p????e? se ??p??? ap? a?t? (a?
a?t? e??a? µ? te?µat???). - ??te t? s???e???µ??? s?µί??? ??e?ta? st? st??ίa,
?p?te ? a????s? µp??e? (se ??a ? pe??ss?te?a
ί?µata) ?a e?te??se? ap??p???s? s?µf??a µe t??
?a???a t?? ?????? ?a? ?a s??e??se? t?? p??e?a
t??.