Break into pieces, clean grammar.cpp
Return value for array each no longer needed with C++ throw