static private string HandleCommand(char c, string buffer) { if (c == ']') { buffer = MakeToken(BasicTokens.COMMAND, buffer); state.pop(); } else if (c == '\\') { state.push(State.ESCAPE_CHAR); } else if (c == '\n' || c == '\r') { throw new System.Exception("Invalid command string at line " + lineNumber.ToString()); } else { buffer = buffer + c; } return(buffer); }