17
17
"+" return ' ADD' ;
18
18
"-" return ' SUB' ;
19
19
20
- ([0-9] + ("." [0-9] + )? | "." [0-9] + )px\b return ' LENGTH' ;
20
+ ([0-9] + ("." [0-9] + )? | "." [0-9] + )em\b return ' EMS' ;
21
+ ([0-9] + ("." [0-9] + )? | "." [0-9] + )ex\b return ' EXS' ;
22
+ ([0-9] + ("." [0-9] + )? | "." [0-9] + )ch\b return ' CHS' ;
23
+ ([0-9] + ("." [0-9] + )? | "." [0-9] + )rem\b return ' REMS' ;
24
+ ([0-9] + ("." [0-9] + )? | "." [0-9] + )vw\b return ' VWS' ;
25
+ ([0-9] + ("." [0-9] + )? | "." [0-9] + )vh\b return ' VHS' ;
26
+ ([0-9] + ("." [0-9] + )? | "." [0-9] + )vmin\b return ' VMINS' ;
27
+ ([0-9] + ("." [0-9] + )? | "." [0-9] + )vmax\b return ' VMAXS' ;
21
28
([0-9] + ("." [0-9] + )? | "." [0-9] + )cm\b return ' LENGTH' ;
22
29
([0-9] + ("." [0-9] + )? | "." [0-9] + )mm\b return ' LENGTH' ;
23
30
([0-9] + ("." [0-9] + )? | "." [0-9] + )in\b return ' LENGTH' ;
24
31
([0-9] + ("." [0-9] + )? | "." [0-9] + )pt\b return ' LENGTH' ;
25
32
([0-9] + ("." [0-9] + )? | "." [0-9] + )pc\b return ' LENGTH' ;
33
+ ([0-9] + ("." [0-9] + )? | "." [0-9] + )px\b return ' LENGTH' ;
26
34
([0-9] + ("." [0-9] + )? | "." [0-9] + )deg\b return ' ANGLE' ;
27
35
([0-9] + ("." [0-9] + )? | "." [0-9] + )grad\b return ' ANGLE' ;
28
36
([0-9] + ("." [0-9] + )? | "." [0-9] + )rad\b return ' ANGLE' ;
34
42
([0-9] + ("." [0-9] + )? | "." [0-9] + )dpi\b return ' RES' ;
35
43
([0-9] + ("." [0-9] + )? | "." [0-9] + )dpcm\b return ' RES' ;
36
44
([0-9] + ("." [0-9] + )? | "." [0-9] + )dppx\b return ' RES' ;
37
- ([0-9] + ("." [0-9] + )? | "." [0-9] + )em\b return ' EMS' ;
38
- ([0-9] + ("." [0-9] + )? | "." [0-9] + )ex\b return ' EXS' ;
39
- ([0-9] + ("." [0-9] + )? | "." [0-9] + )ch\b return ' CHS' ;
40
- ([0-9] + ("." [0-9] + )? | "." [0-9] + )rem\b return ' REMS' ;
41
- ([0-9] + ("." [0-9] + )? | "." [0-9] + )vw\b return ' VWS' ;
42
- ([0-9] + ("." [0-9] + )? | "." [0-9] + )vh\b return ' VHS' ;
43
- ([0-9] + ("." [0-9] + )? | "." [0-9] + )vmin\b return ' VMINS' ;
44
- ([0-9] + ("." [0-9] + )? | "." [0-9] + )vmax\b return ' VMAXS' ;
45
45
([0-9] + ("." [0-9] + )? | "." [0-9] + )\% return ' PERCENTAGE' ;
46
46
([0-9] + ("." [0-9] + )? | "." [0-9] + )\b return ' NUMBER' ;
47
47
@@ -77,11 +77,6 @@ expression
77
77
| value { $$ = $1 ; }
78
78
;
79
79
80
- value
81
- : NUMBER { $$ = { type: ' Value' , value: parseFloat ($1 ) }; }
82
- | SUB NUMBER { $$ = { type: ' Value' , value: parseFloat ($2 ) * - 1 }; }
83
- ;
84
-
85
80
function
86
81
: FUNCTION { $$ = { type: ' Function' , value: $1 }; }
87
82
;
@@ -101,5 +96,12 @@ expression
101
96
| VMINS { $$ = { type: ' VminValue' , value: parseFloat ($1 ), unit: ' vmin' }; }
102
97
| VMAXS { $$ = { type: ' VmaxValue' , value: parseFloat ($1 ), unit: ' vmax' }; }
103
98
| PERCENTAGE { $$ = { type: ' PercentageValue' , value: parseFloat ($1 ), unit: ' %' }; }
99
+ | ADD css_value { var prev = $2 ; $$ = prev; }
104
100
| SUB css_value { var prev = $2 ; prev .value *= - 1 ; $$ = prev; }
105
101
;
102
+
103
+ value
104
+ : NUMBER { $$ = { type: ' Value' , value: parseFloat ($1 ) }; }
105
+ | ADD NUMBER { $$ = { type: ' Value' , value: parseFloat ($2 ) }; }
106
+ | SUB NUMBER { $$ = { type: ' Value' , value: parseFloat ($2 ) * - 1 }; }
107
+ ;
0 commit comments