Abstract parser switching into tag
Add range support
Fixed ranges and added for loop parser