/* Create input buffer class. */
m_input = new CInput(m_instream);
/* Initialize character hash table. */
m_tokens = new Hashtable();
m_tokens.put(new Character('$'),new Integer(AT_EOL));
m_tokens.put(new Character('('),new Integer(OPEN_PAREN));
m_tokens.put(new Character(')'),new Integer(CLOSE_PAREN));
m_tokens.put(new Character('*'),new Integer(CLOSURE));
m_tokens.put(new Character('+'),new Integer(PLUS_CLOSE));
m_tokens.put(new Character('-'),new Integer(DASH));
m_tokens.put(new Character('.'),new Integer(ANY));
m_tokens.put(new Character('?'),new Integer(OPTIONAL));
m_tokens.put(new Character('['),new Integer(CCL_START));
m_tokens.put(new Character(']'),new Integer(CCL_END));
m_tokens.put(new Character('^'),new Integer(AT_BOL));
m_tokens.put(new Character('{'),new Integer(OPEN_CURLY));
m_tokens.put(new Character('|'),new Integer(OR));
m_tokens.put(new Character('}'),new Integer(CLOSE_CURLY));
/* Initialize spec structure. */
m_spec = new CSpec(this);
/* Nfa to dfa converter. */