Bericht_Nr.465_T ... - TUHH
Bericht_Nr.465_T ... - TUHH
Bericht_Nr.465_T ... - TUHH
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
BNF-PROGRAMMIERBARER PARSER file: BL.C 10-MAR-1986 16:22:25 Page 5<br />
--:-'.-.='::: .<br />
...: :...<br />
'.<br />
230:<br />
"'-'_ 1:<br />
:232:<br />
.<br />
~'-"-<br />
234:<br />
235:<br />
237:<br />
,~o.<br />
~'-' /.<br />
24!~):<br />
241 :<br />
242:<br />
243:<br />
244:<br />
245:<br />
246:<br />
247:<br />
248:<br />
249:<br />
25i~j:<br />
251 :<br />
252:<br />
253:<br />
254:<br />
255:<br />
256:<br />
257:<br />
258:<br />
259:<br />
26~!j:<br />
261:<br />
262:<br />
2':J3:<br />
264:<br />
265:<br />
266:<br />
267:<br />
268:<br />
269:<br />
27Qi:<br />
271 :<br />
272:<br />
273:<br />
274:<br />
275:<br />
276:<br />
277:<br />
278:<br />
279:<br />
28~!j:<br />
281 :<br />
282:<br />
283:<br />
284:<br />
285:<br />
.-,<br />
-"-<br />
.-,<br />
-"-<br />
-<br />
'-<br />
.,<br />
-"-<br />
.-;-.<br />
"'-<br />
. ,<br />
2<br />
2<br />
'-<br />
-<br />
2<br />
2<br />
2<br />
2<br />
-<br />
...:'<br />
2<br />
2<br />
2<br />
1<br />
1<br />
fpr-intf (OutFile, "ter-minaJ. .=/mIJol\t\t'\s'\n", ident);<br />
cer-fI'il ist (i dent) ;<br />
2 = alloe (sizeof (struct Node»:<br />
a-)ter-minal = TRUE:<br />
a-)usym.tsym = ident;<br />
a-)alt = NIL;<br />
a-.:'3UC = NIL:<br />
#p = *q = *1" = *s = a;<br />
'. J<br />
el se i f .;s.ym<br />
GetSvm ():<br />
e;.~pr-essl on<br />
if Isvm ==<br />
GetSym<br />
}<br />
-- ' (') {<br />
I;P, q, i, 5);<br />
, )') {<br />
();<br />
else<br />
}<br />
en-or- ("uncl osedparenth(2si'::;") ;<br />
else if 15ym == '[') {<br />
Get~3ym ();<br />
e;.:pr-ession (p, q, 1", 5);<br />
a = alloe (sizeof (struct<br />
a-)ter-minal = TRUE;<br />
a-}usvm.tsym = empty;<br />
a-)alt = NIL;<br />
Node»);<br />
i:\- .>suc<br />
(*q)-)alt<br />
in L;<br />
= (ts)-)suc = a;<br />
*1:::= *s = .:=\~<br />
i f 15ym == ' ] ') {<br />
GetSvm<br />
}<br />
();<br />
else<br />
en-or- ("uncl osed brackets");<br />
else if 15ym == 'C) {<br />
!:;jetSym ();<br />
e>:pre5s.ion (p, q, r, s);<br />
link (k, tp);<br />
a = alloe (sizeof (struct Node));<br />
a-)terminal = TRUE;<br />
a-)usym.tsym = empty;<br />
a-).::\lt = NIL;<br />
a-)suc = NIL;<br />
(tq)-)alt = a;<br />
*q = *1" = *5 = a;<br />
i f I sym == '}') {<br />
GetSym ();<br />
}<br />
else<br />
}<br />
error (llunelosed brace'::;");<br />
else<br />
}<br />
err-or ("une:-:pected<br />
/t fa.ctor tI<br />
symbol");<br />
1* term - analyse bnf term syntax structure<br />
68