THE MAN BITES A DOG A DOG PETS A DOG
Things not in this language are:
MAN BITES DOG
Here is the grammar:
<sentence> ::= <subject> <predicate> <subject> ::= <article> <noun> <predicate> ::= <verb> <direct-object> <direct-object> ::= <article> <noun> <article> ::= THE | A <noun> ::= MAN | DOG <verb> ::= BITES | PETS
<binary-string> ::= 0 | 1 | <binary-string> <binary-string>
<binary-string> ::= <binary-string> 0 | <binary-string> 1 | 0 | 1
<sentence> ::= <expression> <expression> ::= <expression> + <expression> | <expression> * <expression> | <identifier> <identifier> ::= X | Y | Z
<sentence> ::= <expression> <expression> ::= <term> | <expression> + <term> <term> ::= <identifier> | <term> * <identifier> <identifier> ::= X | Y | Z
<sentence> ::= <expression> <expression> ::= <term> | <term> ^ <expression> <term> ::= <identifier> | <term> * <identifier> <identifier> ::= X | Y | Z
<sentence> ::= <expression> <expression> ::= <term> | <expression> + <term> <term> ::= <identifier> | <term> * <identifier> | <expression> <identifier> ::= X | Y | Z
<sentence> ::= <expression> <expression> ::= <term> | <expression> + <term> <term> ::= <identifier> | <term> * <identifier> | ( <expression> ) <identifier> ::= X | Y | Z
<sentence> ::= <expression> <expression> ::= <term> | <expression> + <term> <term> ::= <identifier> | <term> * <identifier> <identifier> ::= X | Y | Z | ( <expression> )
<signed> ::= + <nosign> | - <nosign> <nosign> ::= <digit> <nosign> | <digit> <digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<even> ::= <even> XX | XX
<number> ::= + <nosign> | - <nosign> | <nosign> | 0 <nosign> ::= <nonzero> <anydig> | <nonzero> <anydig> ::= 0 | <nozero> <nozero> ::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<zot> ::= <zot> b <zot> | a
<zot> ::= <zing> | a <zing> ::= <zot> | b
<zot> ::= <zing> | a <zing> ::= <zing> b