class Sass::Script::Parser
def declaration_value
def declaration_value result = [] brackets = [] loop do result << @lexer.str do until @lexer.done? || peek_toks(:begin_interpolation, :end_interpolation, :lcurly, :lparen, :lsquare, :rparen, :rsquare) @lexer.next || @lexer.next_char end end if try_tok(:begin_interpolation) result << assert_expr(:expr) assert_tok :end_interpolation elsif tok = try_toks(:lcurly, :lparen, :lsquare) brackets << case tok.type when :lcurly; :end_interpolation when :lparen; :rparen when :lsquare; :rsquare end result << Lexer::OPERATORS_REVERSE[tok.type] elsif brackets.empty? return result else bracket = brackets.pop assert_tok bracket result << Lexer::OPERATORS_REVERSE[bracket] end end end