# File kwartz.rb, line 3144 def parse_factor expr = nil case token() when :name, '(' expr = parse_array() when :number value = token_str scan() expr = ExprNode.new(:number, value, nil) when :string value = token_str scan() expr = ExprNode.new(:string, value, nil) when :true, :false, :null value = token_str expr = ExprNode.new(token, value, nil) scan() when :empty _syntaxerr("'empty' is allowed only in right-side of '==' or '!='.") else #assert() _syntaxerr("'#{token()}': invalid expression syntax.") end return expr end