A dynamic finiate state automaton for the Java language. It learns the reserved words and variable/object names and can identify when a variable or object has been mentioned before.