Class: Sass::SCSS::Parser
- Includes:
- RX
- Defined in:
- lib/sass/scss/parser.rb
Overview
The parser for SCSS. It parses a string of code into a tree of Tree::Nodes.
Direct Known Subclasses
Constant Summary
Constants included from RX
RX::CDC, RX::CDO, RX::COMMENT, RX::DASHMATCH, RX::DEFAULT, RX::ESCAPE, RX::FUNCTION, RX::GREATER, RX::H, RX::HASH, RX::HEXCOLOR, RX::IDENT, RX::IMPORTANT, RX::INCLUDES, RX::INTERP_START, RX::NAME, RX::NL, RX::NMCHAR, RX::NMSTART, RX::NONASCII, RX::NOT, RX::NUM, RX::NUMBER, RX::PLUS, RX::PREFIXMATCH, RX::RANGE, RX::S, RX::SINGLE_LINE_COMMENT, RX::STRING, RX::STRING1, RX::STRING2, RX::SUBSTRINGMATCH, RX::SUFFIXMATCH, RX::TILDE, RX::UNICODE, RX::UNICODERANGE, RX::URI, RX::URL, RX::W
Instance Method Summary collapse
-
#initialize(str) ⇒ Parser
constructor
A new instance of Parser.
-
#parse ⇒ Sass::Tree::RootNode
Parses an SCSS document.
Methods included from RX
Constructor Details
#initialize(str) ⇒ Parser
Returns a new instance of Parser.
10 11 12 13 14 |
# File 'lib/sass/scss/parser.rb', line 10
def initialize(str)
@template = str
@line = 1
@strs = []
end
|
Instance Method Details
#parse ⇒ Sass::Tree::RootNode
Parses an SCSS document.
20 21 22 23 24 25 26 27 28 |
# File 'lib/sass/scss/parser.rb', line 20
def parse
@scanner = StringScanner.new(
Haml::Util.check_encoding(@template) do |msg, line|
raise Sass::SyntaxError.new(msg, :line => line)
end.gsub("\r", ""))
root = stylesheet
expected("selector or at-rule") unless @scanner.eos?
root
end
|