summaryrefslogtreecommitdiff
path: root/scss/src
diff options
context:
space:
mode:
authorEevee <eevee.git@veekun.com>2013-05-29 16:32:51 -0700
committerEevee <eevee.git@veekun.com>2013-05-29 16:32:51 -0700
commit66d7543593fac2d0c53f2294148ce99434d73ab4 (patch)
tree758369f5bf298b4235b8419759b1546c768a9310 /scss/src
parent18f3d3aebe2b8a0b743d532f4614913b4e586211 (diff)
downloadpyscss-66d7543593fac2d0c53f2294148ce99434d73ab4.tar.gz
Simplify BooleanValue.
Diffstat (limited to 'scss/src')
-rw-r--r--scss/src/grammar/grammar.g5
-rw-r--r--scss/src/grammar/grammar.py36
2 files changed, 17 insertions, 24 deletions
diff --git a/scss/src/grammar/grammar.g b/scss/src/grammar/grammar.g
index 9713f35..974035b 100644
--- a/scss/src/grammar/grammar.g
+++ b/scss/src/grammar/grammar.g
@@ -4,7 +4,7 @@
#'(?<!\\s)(?:' + '|'.join(_units) + ')(?![-\\w])'
## Grammar compiled using Yapps:
%%
-parser CalculatorParser:
+parser SassExpression:
ignore: "[ \r\t\n]+"
token COMMA: ","
token LPAR: "\\(|\\["
@@ -29,7 +29,6 @@ parser CalculatorParser:
token QSTR: '"[^"]*"'
token UNITS: "(?<!\s)(?:px|cm|mm|hz|%)(?![-\w])"
token NUM: "(?:\d+(?:\.\d*)?|\.\d+)"
- token BOOL: "(?<![-\w])(?:true|false)(?![-\w])"
token COLOR: "#(?:[a-fA-F0-9]{6}|[a-fA-F0-9]{3})(?![a-fA-F0-9])"
token VAR: "\$[-a-zA-Z0-9_]+"
token FNCT: "[-a-zA-Z_][-a-zA-Z0-9_]*(?=\()"
@@ -95,8 +94,6 @@ parser CalculatorParser:
|
QSTR {{ return Literal(QuotedStringValue(ParserValue(QSTR))) }}
|
- BOOL {{ return Literal(BooleanValue(ParserValue(BOOL))) }}
- |
COLOR {{ return Literal(ColorValue(ParserValue(COLOR))) }}
|
VAR {{ return Variable(VAR) }}
diff --git a/scss/src/grammar/grammar.py b/scss/src/grammar/grammar.py
index eb4e798..e25a851 100644
--- a/scss/src/grammar/grammar.py
+++ b/scss/src/grammar/grammar.py
@@ -9,7 +9,7 @@ from string import *
from yappsrt import *
-class CalculatorScanner(Scanner):
+class SassExpressionScanner(Scanner):
patterns = None
_patterns = [
('":"', ':'),
@@ -37,7 +37,6 @@ class CalculatorScanner(Scanner):
('QSTR', '"[^"]*"'),
('UNITS', '(?<!\\s)(?:px|cm|mm|hz|%)(?![-\\w])'),
('NUM', '(?:\\d+(?:\\.\\d*)?|\\.\\d+)'),
- ('BOOL', '(?<![-\\w])(?:true|false)(?![-\\w])'),
('COLOR', '#(?:[a-fA-F0-9]{6}|[a-fA-F0-9]{3})(?![a-fA-F0-9])'),
('VAR', '\\$[-a-zA-Z0-9_]+'),
('FNCT', '[-a-zA-Z_][-a-zA-Z0-9_]*(?=\\()'),
@@ -51,10 +50,10 @@ class CalculatorScanner(Scanner):
self.__class__.patterns = []
for t, p in self._patterns:
self.patterns.append((t, re.compile(p)))
- super(CalculatorScanner, self).__init__(None, ['[ \r\t\n]+'], input)
+ super(SassExpressionScanner, self).__init__(None, ['[ \r\t\n]+'], input)
-class CalculatorParser(Parser):
+class SassExpression(Parser):
def goal(self):
expr_lst = self.expr_lst()
v = expr_lst
@@ -195,9 +194,6 @@ class CalculatorParser(Parser):
elif _token_ == 'QSTR':
QSTR = self._scan('QSTR')
return Literal(QuotedStringValue(ParserValue(QSTR)))
- elif _token_ == 'BOOL':
- BOOL = self._scan('BOOL')
- return Literal(BooleanValue(ParserValue(BOOL)))
elif _token_ == 'COLOR':
COLOR = self._scan('COLOR')
return Literal(ColorValue(ParserValue(COLOR)))
@@ -243,23 +239,23 @@ class CalculatorParser(Parser):
return ListLiteral(v, comma=False) if len(v) > 1 else v[0]
m_expr_chks = set(['MUL', 'DIV'])
- comparison_rsts = set(['LPAR', 'QSTR', 'RPAR', 'LE', 'COLOR', 'NE', 'LT', 'NUM', 'COMMA', 'GT', 'END', 'SIGN', 'ADD', 'FNCT', 'STR', 'VAR', 'EQ', 'ID', 'AND', 'GE', 'BOOL', 'NOT', 'OR'])
- u_expr_chks = set(['LPAR', 'COLOR', 'QSTR', 'NUM', 'BOOL', 'FNCT', 'STR', 'VAR', 'ID'])
- m_expr_rsts = set(['LPAR', 'SUB', 'QSTR', 'RPAR', 'MUL', 'DIV', 'LE', 'COLOR', 'NE', 'LT', 'NUM', 'COMMA', 'GT', 'END', 'SIGN', 'GE', 'FNCT', 'STR', 'VAR', 'EQ', 'ID', 'AND', 'ADD', 'BOOL', 'NOT', 'OR'])
- argspec_item_rsts_ = set(['LPAR', 'COLOR', 'QSTR', 'SIGN', 'VAR', 'ADD', 'NUM', 'BOOL', '":"', 'STR', 'NOT', 'ID', 'FNCT'])
+ comparison_rsts = set(['LPAR', 'QSTR', 'RPAR', 'LE', 'COLOR', 'NE', 'LT', 'NUM', 'COMMA', 'GT', 'END', 'SIGN', 'ADD', 'FNCT', 'STR', 'VAR', 'EQ', 'ID', 'AND', 'GE', 'NOT', 'OR'])
+ u_expr_chks = set(['LPAR', 'COLOR', 'QSTR', 'NUM', 'FNCT', 'STR', 'VAR', 'ID'])
+ m_expr_rsts = set(['LPAR', 'SUB', 'QSTR', 'RPAR', 'MUL', 'DIV', 'LE', 'COLOR', 'NE', 'LT', 'NUM', 'COMMA', 'GT', 'END', 'SIGN', 'GE', 'FNCT', 'STR', 'VAR', 'EQ', 'ID', 'AND', 'ADD', 'NOT', 'OR'])
+ argspec_item_rsts_ = set(['LPAR', 'COLOR', 'QSTR', 'SIGN', 'VAR', 'ADD', 'NUM', '":"', 'STR', 'NOT', 'ID', 'FNCT'])
expr_lst_rsts = set(['END', 'COMMA', 'RPAR'])
- and_test_rsts = set(['AND', 'LPAR', 'END', 'COLOR', 'QSTR', 'SIGN', 'VAR', 'ADD', 'NUM', 'COMMA', 'FNCT', 'STR', 'NOT', 'BOOL', 'ID', 'RPAR', 'OR'])
- atom_rsts = set(['LPAR', 'COLOR', 'QSTR', 'SIGN', 'NOT', 'ADD', 'NUM', 'BOOL', 'FNCT', 'STR', 'VAR', 'RPAR', 'ID'])
- u_expr_rsts = set(['LPAR', 'COLOR', 'QSTR', 'SIGN', 'ADD', 'NUM', 'BOOL', 'FNCT', 'STR', 'VAR', 'ID'])
- expr_rsts = set(['LPAR', 'END', 'COLOR', 'QSTR', 'RPAR', 'VAR', 'ADD', 'NUM', 'COMMA', 'FNCT', 'STR', 'NOT', 'BOOL', 'ID', 'SIGN', 'OR'])
- argspec_item_rsts = set(['LPAR', 'COLOR', 'QSTR', 'SIGN', 'NOT', 'ADD', 'NUM', 'BOOL', 'FNCT', 'STR', 'VAR', 'ID'])
+ and_test_rsts = set(['AND', 'LPAR', 'END', 'COLOR', 'QSTR', 'SIGN', 'VAR', 'ADD', 'NUM', 'COMMA', 'FNCT', 'STR', 'NOT', 'ID', 'RPAR', 'OR'])
+ atom_rsts = set(['LPAR', 'COLOR', 'QSTR', 'SIGN', 'NOT', 'ADD', 'NUM', 'FNCT', 'STR', 'VAR', 'RPAR', 'ID'])
+ u_expr_rsts = set(['LPAR', 'COLOR', 'QSTR', 'SIGN', 'ADD', 'NUM', 'FNCT', 'STR', 'VAR', 'ID'])
+ expr_rsts = set(['LPAR', 'END', 'COLOR', 'QSTR', 'RPAR', 'VAR', 'ADD', 'NUM', 'COMMA', 'FNCT', 'STR', 'NOT', 'ID', 'SIGN', 'OR'])
+ argspec_item_rsts = set(['LPAR', 'COLOR', 'QSTR', 'SIGN', 'NOT', 'ADD', 'NUM', 'FNCT', 'STR', 'VAR', 'ID'])
argspec_rsts = set(['COMMA', 'RPAR'])
- not_test_rsts = set(['LPAR', 'COLOR', 'QSTR', 'SIGN', 'VAR', 'ADD', 'NUM', 'BOOL', 'FNCT', 'STR', 'NOT', 'ID'])
- atom_rsts_ = set(['LPAR', 'SUB', 'QSTR', 'RPAR', 'VAR', 'MUL', 'DIV', 'LE', 'COLOR', 'NE', 'LT', 'NUM', 'COMMA', 'GT', 'END', 'SIGN', 'GE', 'FNCT', 'STR', 'UNITS', 'EQ', 'ID', 'AND', 'ADD', 'BOOL', 'NOT', 'OR'])
+ not_test_rsts = set(['LPAR', 'COLOR', 'QSTR', 'SIGN', 'VAR', 'ADD', 'NUM', 'FNCT', 'STR', 'NOT', 'ID'])
+ atom_rsts_ = set(['LPAR', 'SUB', 'QSTR', 'RPAR', 'VAR', 'MUL', 'DIV', 'LE', 'COLOR', 'NE', 'LT', 'NUM', 'COMMA', 'GT', 'END', 'SIGN', 'GE', 'FNCT', 'STR', 'UNITS', 'EQ', 'ID', 'AND', 'ADD', 'NOT', 'OR'])
comparison_chks = set(['GT', 'GE', 'NE', 'LT', 'LE', 'EQ'])
a_expr_chks = set(['ADD', 'SUB'])
- a_expr_rsts = set(['LPAR', 'SUB', 'QSTR', 'RPAR', 'LE', 'COLOR', 'NE', 'LT', 'NUM', 'COMMA', 'GT', 'END', 'SIGN', 'GE', 'FNCT', 'STR', 'VAR', 'EQ', 'ID', 'AND', 'ADD', 'BOOL', 'NOT', 'OR'])
- expr_slst_rsts = set(['LPAR', 'END', 'COLOR', 'QSTR', 'RPAR', 'VAR', 'ADD', 'NUM', 'COMMA', 'FNCT', 'STR', 'NOT', 'BOOL', 'SIGN', 'ID'])
+ a_expr_rsts = set(['LPAR', 'SUB', 'QSTR', 'RPAR', 'LE', 'COLOR', 'NE', 'LT', 'NUM', 'COMMA', 'GT', 'END', 'SIGN', 'GE', 'FNCT', 'STR', 'VAR', 'EQ', 'ID', 'AND', 'ADD', 'NOT', 'OR'])
+ expr_slst_rsts = set(['LPAR', 'END', 'COLOR', 'QSTR', 'RPAR', 'VAR', 'ADD', 'NUM', 'COMMA', 'FNCT', 'STR', 'NOT', 'SIGN', 'ID'])
expr_lst_rsts_ = None