home *** CD-ROM | disk | FTP | other *** search
- #
- # 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 <s>.
-
- 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
-
- # <s> ::= a <s> | <t> b | c
-
- procedure s()
- suspend (="a" || s()) | (t() || ="b") | ="c"
- end
-
- # <t> ::= d <s> d | e | f
-
- procedure t()
- suspend (="d" || s() || ="d") | ="e" | ="f"
- end
-