add if support/test; add compare expression support; add while support; add clean for hashtable and syntax node; refactor test code