First(X) for SPL: Example
First(begin) := {begin}
First(end) := {end}
First(read) := {read}
First(write) := {write}
First(,) := {,}
First(() := {(}
First()) := {)}
First(;) := {;}
<st-list> ® end Î P: add First(end) to First(<st-list>)
<st-list> ® <stat> … Î P: add First(<stat>) to First(<st-list>)
Summary: First(<st-list>) = {id, write, read, end}
<prog> ® begin … Î P: add First(begin) to First(<prog>)
Summary: First(<prog>) = {begin}
First(id) := {id}
First(int)  := {int}
First(:=)   := {:=}
First(add) := {add}
<item> ® id  Î P: add First(id)  to First(<item>)
<item> ® int Î P: add First(int) to First(<item>)
Summary: First(<item>) = {id, int}
<it-list> ® )      Î P: add First()) to First(<it-list>)
<it-list> ® , … Î P: add First(,) to First(<it-list>)
Summary: First(<it-list>) = {), ,}
<stat> ® id …       Î P: add First(id) to First(<stat>)
<stat> ® write … Î P: add First(write) to First(<stat>)
<stat> ® read …  Î P: add First(read) to First(<stat>)
Summary: First(<stat>) = {id, write, read}
8/57