Add suited ranges and refactoring

Added recursive descent parser