some work for my compilers class