stm -> id := expr
| print expr
| if expr then stm
| while expr do stm
| begin opt_stmts end
opt_stms -> stmt_list
| ε
stmt_list -> stmt_list ; stm
| stm
expr -> term moreterms
moreterms -> + term moreterms
| - term moreterms
| ε
term -> factor morefactors
morefactors -> * factor morefactors
| / factor morefactors
| div factor morefactors
| mod factor morefactors
| ε
factor -> ( expr )
| id
| num
The thing that I want to learn is Where I should start.Please help
I guess I should create main.c to convert source code.Also,I should create a source.c to write a example program that is relevant with above grammer. Do you have any idea?