This week's project is to practice creating BNF definitions and work with derivations.
The are three key ideas to keep in mind:
<letter> ::= A | B | C | D | E | F | G | H | I | J | K | L
| M | N | O | P | Q | R | S | T | U | V | W
| X | Y | Z | a | b | c | d | e | f | g | h
| i | j | k | l | m | n | o | p | q | r | s
| t | u | v | w | x | y | z
<digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<S> ::= <A>
<A> ::= <A> +
<A> | <id>
<id> ::= a | b | c
<assign> ::= <id> = <expr>
<id> ::= A | B | C
<expr> ::= <expr> + <term>
| <term>
<term> ::= <term> * <factor> | <factor>
<factor> ::= ( <expr> ) | <id>
Turn in. Using any text editor or word processor, make an electronic copy of this page and write your name prominently at the top. Then enter your solutions directly on that electronic copy. When you are finished, copy it into your personal folder in /home/cs/214/current/.
Calvin > CS > 214 > Projects > 02