summaryrefslogtreecommitdiff
path: root/scss/src/grammar/grammar.g
diff options
context:
space:
mode:
Diffstat (limited to 'scss/src/grammar/grammar.g')
-rw-r--r--scss/src/grammar/grammar.g4
1 files changed, 3 insertions, 1 deletions
diff --git a/scss/src/grammar/grammar.g b/scss/src/grammar/grammar.g
index b7c2af5..72b8f7e 100644
--- a/scss/src/grammar/grammar.g
+++ b/scss/src/grammar/grammar.g
@@ -32,6 +32,7 @@ parser SassExpression:
token VAR: "\$[-a-zA-Z0-9_]+"
token FNCT: "[-a-zA-Z_][-a-zA-Z0-9_]*(?=\()"
token ID: "[-a-zA-Z_][-a-zA-Z0-9_]*"
+ token BANG_IMPORTANT: "!important"
rule goal: expr_lst {{ v = expr_lst }}
END {{ return v }}
@@ -68,7 +69,7 @@ parser SassExpression:
rule m_expr: u_expr {{ v = u_expr }}
(
MUL u_expr {{ v = BinaryOp(operator.mul, v, u_expr) }}
- | DIV u_expr {{ v = BinaryOp(operator.div, v, u_expr) }}
+ | DIV u_expr {{ v = BinaryOp(operator.truediv, v, u_expr) }}
)* {{ return v }}
rule u_expr: SIGN u_expr {{ return UnaryOp(operator.neg, u_expr) }}
@@ -77,6 +78,7 @@ parser SassExpression:
rule atom: LPAR expr_lst RPAR {{ return Parentheses(expr_lst) }}
| ID {{ return Literal(parse_bareword(ID)) }}
+ | BANG_IMPORTANT {{ return Literal(String(BANG_IMPORTANT, quotes=None)) }}
| FNCT {{ v = ArgspecLiteral([]) }}
LPAR [
argspec {{ v = argspec }}