Fixed ranges and added for loop parser

This commit is contained in:
Tristan Hume
2013-07-29 14:11:47 -04:00
parent 525e1ff195
commit 8ca00982b6
3 changed files with 50 additions and 22 deletions
+9 -8
View File
@@ -50,21 +50,22 @@ module Liquid
def expression
token = @tokens[@p]
str = if token[0] == :id
if token[0] == :id
variable_signature
elsif [:string, :number].include? token[0]
consume
token[1]
elsif token.first == :open_round
consume
first = expression
consume(:dot)
consume(:dot)
last = expression
consume(:close_round)
"(#{first}..#{last})"
else
raise SyntaxError, "#{token} is not a valid expression."
end
if look(:dot) && look(:dot, 1)
@p += 2
str + expression
else
str
end
end
def argument