substring indexing for both reading and writing
lexer accept floating point decimals and exponents