added first and next lookup functions
added symbollist property to BNFGrammar
StringGrammarDefinition equal method
fixed bug calculating last position
first_lookup first implementation