05.10.2013 Aufrufe

Bericht_Nr.465_T ... - TUHH

Bericht_Nr.465_T ... - TUHH

Bericht_Nr.465_T ... - TUHH

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

BNF-PROGRAMMIERBARER PARSER file: BL.C 10-MAR-1986 1~:22:19 P.sge<br />

1<br />

59: 0<br />

6Q,: ;.'i<br />

!:.1 : .-<br />

i ""').<br />

'_'~II<br />

G.,):<br />

64:<br />

65:<br />

.'::;./ :<br />

68:<br />

69:<br />

7i21:<br />

71 :<br />

7"".<br />

l.i-.<br />

i .~':<br />

74:<br />

I '...Ja<br />

! /.<br />

78:<br />

79:<br />

8i21:<br />

81 :<br />

8'")'<br />

O~.<br />

W__I"<br />

84:<br />

85:<br />

86:<br />

87:<br />

88:<br />

89:<br />

99:<br />

91 :<br />

92: )2J<br />

94:<br />

95:<br />

'=t6:<br />

97:<br />

98:<br />

9q.<br />

1!2@:<br />

1!211:<br />

1!2!2:<br />

1!2!3:<br />

1!214:<br />

1!2!5:<br />

U2J6:<br />

11217:<br />

1!218:<br />

1!2!9:<br />

lU2!:<br />

111:<br />

11'") .<br />

lL:<br />

114:<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

.-,<br />

..::.<br />

.,<br />

.....<br />

.,<br />

.....<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

1<br />

} if GetSvm t!<br />

1* find - lookup nonterminal svmbol and ~~sert new one *1<br />

find (s~ h)<br />

char<br />

struct<br />

{<br />

struct<br />

*s.;<br />

Header Uh;<br />

#ifdef DEBUG<br />

fpl"intf (OutFile~<br />

#endif<br />

hl = list;<br />

Header *h 1;<br />

sentinel->svm = 5;<br />

while (strcmp (hl->sym~ SI)<br />

hl = hl->'succ;<br />

if (h1 == sentinel> { .. JiSert */<br />

#ifdef DEBUG<br />

fprintf (OutFile~ "hnsert*\nil);<br />

#endif<br />

'sentinel = alloc (sizeof (struct He=,cet-»;<br />

hl->succ = sentinei;<br />

hl->entry = NIL;<br />

*h = h 1 ;<br />

return<br />

)<br />

(NO>;<br />

"find symbol<br />

#ifdef DEBUG<br />

else<br />

i:)utc(>\n>~ OutFile);<br />

#endif<br />

*h = h 1 ;<br />

return (YE~3);<br />

}<br />

/* find t!<br />

/* error - report errors */<br />

void 2rror (msg)<br />

char *msg;<br />

{<br />

~ ".'._:C I!<br />

=:.<br />

'"<br />

~ -<br />

/* alreadv cefined and found ~:/<br />

fprintf (OutFile~ "\nincorrect synti:i.;.;: \s\n"~msg);<br />

fprintf (ERROUT~ "\nincorrect synt2.::-:: i:s\n"~msl::J);<br />

noerr = FALSE;<br />

} /* error */<br />

/* link - insert parse control tree links */<br />

void link (p~ q) /* (p~ q: NodePtr);<br />

*/<br />

struct Node *p~ *q;<br />

{ /* insert q in piaces indicated by linked chain p */<br />

struct Node *t;<br />

wh i I e<br />

(p<br />

~= NI U<br />

2 J'.<br />

}<br />

/* link */<br />

{<br />

t = p; P = t->suc; t->suc = q;<br />

65

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!