# # C F L R E C O G N I T I O N # # This program takes strings from standard input and determines # whether or not they are sentences in the language defined by . procedure main() local line while line := read() do if recogn(s,line) then write("accepted") else write("rejected") end procedure recogn(goal,text) return text ? (goal() & pos(0)) end # ::= a | b | c procedure s() suspend (="a" || s()) | (t() || ="b") | ="c" end # ::= d d | e | f procedure t() suspend (="d" || s() || ="d") | ="e" | ="f" end