postcss-calc 10.1.0 → 10.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -6
- package/src/lib/reducer.js +6 -0
- package/src/lib/stringifier.js +10 -2
- package/src/parser.d.ts +11 -1
- package/src/parser.js +168 -146
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postcss-calc",
|
|
3
|
-
"version": "10.1.
|
|
3
|
+
"version": "10.1.1",
|
|
4
4
|
"description": "PostCSS plugin to reduce calc()",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"css",
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
"node": "^18.12 || ^20.9 || >=22.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@types/node": "^22.10.
|
|
31
|
-
"eslint": "^9.
|
|
32
|
-
"eslint-config-prettier": "^
|
|
30
|
+
"@types/node": "^22.10.10",
|
|
31
|
+
"eslint": "^9.19.0",
|
|
32
|
+
"eslint-config-prettier": "^10.0.1",
|
|
33
33
|
"jison-gho": "0.6.1-216",
|
|
34
|
-
"postcss": "^8.
|
|
34
|
+
"postcss": "^8.5.1",
|
|
35
35
|
"prettier": "^3.4.2",
|
|
36
|
-
"typescript": "~5.7.
|
|
36
|
+
"typescript": "~5.7.3"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"postcss-selector-parser": "^7.0.0",
|
package/src/lib/reducer.js
CHANGED
|
@@ -361,6 +361,12 @@ function includesNoCssProperties(node) {
|
|
|
361
361
|
* @return {import('../parser').CalcNode}
|
|
362
362
|
*/
|
|
363
363
|
function reduce(node, precision) {
|
|
364
|
+
if (
|
|
365
|
+
node.type === 'MathExpression' &&
|
|
366
|
+
(node.left.type === 'CalcKeyword' || node.right.type === 'CalcKeyword')
|
|
367
|
+
) {
|
|
368
|
+
return node;
|
|
369
|
+
}
|
|
364
370
|
if (node.type === 'MathExpression') {
|
|
365
371
|
if (isAddSubOperator(node.operator)) {
|
|
366
372
|
// reduceAddSubExpression will call reduce recursively
|
package/src/lib/stringifier.js
CHANGED
|
@@ -31,6 +31,8 @@ function stringify(node, prec) {
|
|
|
31
31
|
let str = '';
|
|
32
32
|
if (left.type === 'MathExpression' && order[op] < order[left.operator]) {
|
|
33
33
|
str += `(${stringify(left, prec)})`;
|
|
34
|
+
} else if (left.type === 'CalcKeyword') {
|
|
35
|
+
str += left.value;
|
|
34
36
|
} else {
|
|
35
37
|
str += stringify(left, prec);
|
|
36
38
|
}
|
|
@@ -42,6 +44,8 @@ function stringify(node, prec) {
|
|
|
42
44
|
order[op] < order[right.operator]
|
|
43
45
|
) {
|
|
44
46
|
str += `(${stringify(right, prec)})`;
|
|
47
|
+
} else if (right.type === 'CalcKeyword') {
|
|
48
|
+
str += right.value;
|
|
45
49
|
} else {
|
|
46
50
|
str += stringify(right, prec);
|
|
47
51
|
}
|
|
@@ -54,6 +58,8 @@ function stringify(node, prec) {
|
|
|
54
58
|
return node.value.toString();
|
|
55
59
|
case 'ParenthesizedExpression':
|
|
56
60
|
return `(${stringify(node.content, prec)})`;
|
|
61
|
+
case 'CalcKeyword':
|
|
62
|
+
return node.value;
|
|
57
63
|
default:
|
|
58
64
|
return round(node.value, prec) + node.unit;
|
|
59
65
|
}
|
|
@@ -73,8 +79,10 @@ module.exports = function (calc, node, originalValue, options, result, item) {
|
|
|
73
79
|
let str = stringify(node, options.precision);
|
|
74
80
|
|
|
75
81
|
const shouldPrintCalc =
|
|
76
|
-
node.type === 'MathExpression' ||
|
|
77
|
-
node.type === '
|
|
82
|
+
node.type === 'MathExpression' ||
|
|
83
|
+
node.type === 'Function' ||
|
|
84
|
+
node.type === 'ParenthesizedExpression' ||
|
|
85
|
+
node.type === 'CalcKeyword';
|
|
78
86
|
|
|
79
87
|
if (shouldPrintCalc) {
|
|
80
88
|
// if calc expression couldn't be resolved to a single value, re-wrap it as
|
package/src/parser.d.ts
CHANGED
|
@@ -68,9 +68,19 @@ export interface FunctionExpression {
|
|
|
68
68
|
value: string;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
+
export interface CalcKeywordExpression {
|
|
72
|
+
type: 'CalcKeyword';
|
|
73
|
+
value: string;
|
|
74
|
+
}
|
|
75
|
+
|
|
71
76
|
export type ValueExpression = DimensionExpression | NumberExpression;
|
|
72
77
|
|
|
73
|
-
export type CalcNode =
|
|
78
|
+
export type CalcNode =
|
|
79
|
+
| MathExpression
|
|
80
|
+
| ValueExpression
|
|
81
|
+
| FunctionExpression
|
|
82
|
+
| ParenthesizedExpression
|
|
83
|
+
| CalcKeywordExpression;
|
|
74
84
|
|
|
75
85
|
export interface Parser {
|
|
76
86
|
parse: (arg: string) => CalcNode;
|
package/src/parser.js
CHANGED
|
@@ -612,6 +612,7 @@ symbols_: {
|
|
|
612
612
|
"ADD": 6,
|
|
613
613
|
"ANGLE": 12,
|
|
614
614
|
"CALC": 3,
|
|
615
|
+
"CALC_KEYWORD": 54,
|
|
615
616
|
"CHS": 19,
|
|
616
617
|
"CQBS": 48,
|
|
617
618
|
"CQHS": 46,
|
|
@@ -641,7 +642,7 @@ symbols_: {
|
|
|
641
642
|
"LVMINS": 31,
|
|
642
643
|
"LVWS": 27,
|
|
643
644
|
"MUL": 8,
|
|
644
|
-
"NUMBER":
|
|
645
|
+
"NUMBER": 55,
|
|
645
646
|
"PERCENTAGE": 53,
|
|
646
647
|
"REMS": 20,
|
|
647
648
|
"RES": 15,
|
|
@@ -662,12 +663,13 @@ symbols_: {
|
|
|
662
663
|
"VMAXS": 33,
|
|
663
664
|
"VMINS": 29,
|
|
664
665
|
"VWS": 25,
|
|
665
|
-
"
|
|
666
|
+
"calc_keyword": 60,
|
|
667
|
+
"dimension": 59,
|
|
666
668
|
"error": 2,
|
|
667
|
-
"expression":
|
|
668
|
-
"function":
|
|
669
|
-
"math_expression":
|
|
670
|
-
"number":
|
|
669
|
+
"expression": 56,
|
|
670
|
+
"function": 58,
|
|
671
|
+
"math_expression": 57,
|
|
672
|
+
"number": 61
|
|
671
673
|
},
|
|
672
674
|
terminals_: {
|
|
673
675
|
1: "EOF",
|
|
@@ -723,7 +725,8 @@ terminals_: {
|
|
|
723
725
|
51: "LHS",
|
|
724
726
|
52: "RLHS",
|
|
725
727
|
53: "PERCENTAGE",
|
|
726
|
-
54: "
|
|
728
|
+
54: "CALC_KEYWORD",
|
|
729
|
+
55: "NUMBER"
|
|
727
730
|
},
|
|
728
731
|
TERROR: 2,
|
|
729
732
|
EOF: 1,
|
|
@@ -829,14 +832,15 @@ TERROR: 2,
|
|
|
829
832
|
},
|
|
830
833
|
productions_: bp({
|
|
831
834
|
pop: u([
|
|
832
|
-
|
|
835
|
+
56,
|
|
833
836
|
s,
|
|
834
|
-
[
|
|
835
|
-
|
|
837
|
+
[57, 10],
|
|
838
|
+
58,
|
|
836
839
|
s,
|
|
837
|
-
[
|
|
840
|
+
[59, 45],
|
|
841
|
+
60,
|
|
838
842
|
s,
|
|
839
|
-
[
|
|
843
|
+
[61, 3]
|
|
840
844
|
]),
|
|
841
845
|
rule: u([
|
|
842
846
|
2,
|
|
@@ -844,11 +848,11 @@ productions_: bp({
|
|
|
844
848
|
s,
|
|
845
849
|
[3, 5],
|
|
846
850
|
s,
|
|
847
|
-
[1,
|
|
851
|
+
[1, 48],
|
|
848
852
|
2,
|
|
849
853
|
2,
|
|
850
854
|
c,
|
|
851
|
-
[
|
|
855
|
+
[4, 4]
|
|
852
856
|
])
|
|
853
857
|
}),
|
|
854
858
|
performAction: function parser__PerformAction(yystate /* action[1] */, yysp, yyvstack) {
|
|
@@ -912,295 +916,303 @@ case 9:
|
|
|
912
916
|
/*! Production:: math_expression : dimension */
|
|
913
917
|
case 10:
|
|
914
918
|
/*! Production:: math_expression : number */
|
|
919
|
+
case 11:
|
|
920
|
+
/*! Production:: math_expression : calc_keyword */
|
|
915
921
|
|
|
916
922
|
this.$ = yyvstack[yysp];
|
|
917
923
|
break;
|
|
918
924
|
|
|
919
|
-
case
|
|
925
|
+
case 12:
|
|
920
926
|
/*! Production:: function : FUNCTION */
|
|
921
927
|
|
|
922
928
|
this.$ = { type: 'Function', value: yyvstack[yysp] };
|
|
923
929
|
break;
|
|
924
930
|
|
|
925
|
-
case
|
|
931
|
+
case 13:
|
|
926
932
|
/*! Production:: dimension : LENGTH */
|
|
927
933
|
|
|
928
934
|
this.$ = { type: 'LengthValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
|
|
929
935
|
break;
|
|
930
936
|
|
|
931
|
-
case
|
|
937
|
+
case 14:
|
|
932
938
|
/*! Production:: dimension : ANGLE */
|
|
933
939
|
|
|
934
940
|
this.$ = { type: 'AngleValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
|
|
935
941
|
break;
|
|
936
942
|
|
|
937
|
-
case
|
|
943
|
+
case 15:
|
|
938
944
|
/*! Production:: dimension : TIME */
|
|
939
945
|
|
|
940
946
|
this.$ = { type: 'TimeValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
|
|
941
947
|
break;
|
|
942
948
|
|
|
943
|
-
case
|
|
949
|
+
case 16:
|
|
944
950
|
/*! Production:: dimension : FREQ */
|
|
945
951
|
|
|
946
952
|
this.$ = { type: 'FrequencyValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
|
|
947
953
|
break;
|
|
948
954
|
|
|
949
|
-
case
|
|
955
|
+
case 17:
|
|
950
956
|
/*! Production:: dimension : RES */
|
|
951
957
|
|
|
952
958
|
this.$ = { type: 'ResolutionValue', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
|
|
953
959
|
break;
|
|
954
960
|
|
|
955
|
-
case
|
|
961
|
+
case 18:
|
|
956
962
|
/*! Production:: dimension : UNKNOWN_DIMENSION */
|
|
957
963
|
|
|
958
964
|
this.$ = { type: 'UnknownDimension', value: parseFloat(yyvstack[yysp]), unit: /[a-z]+$/i.exec(yyvstack[yysp])[0] };
|
|
959
965
|
break;
|
|
960
966
|
|
|
961
|
-
case
|
|
967
|
+
case 19:
|
|
962
968
|
/*! Production:: dimension : EMS */
|
|
963
969
|
|
|
964
970
|
this.$ = { type: 'EmValue', value: parseFloat(yyvstack[yysp]), unit: 'em' };
|
|
965
971
|
break;
|
|
966
972
|
|
|
967
|
-
case
|
|
973
|
+
case 20:
|
|
968
974
|
/*! Production:: dimension : EXS */
|
|
969
975
|
|
|
970
976
|
this.$ = { type: 'ExValue', value: parseFloat(yyvstack[yysp]), unit: 'ex' };
|
|
971
977
|
break;
|
|
972
978
|
|
|
973
|
-
case
|
|
979
|
+
case 21:
|
|
974
980
|
/*! Production:: dimension : CHS */
|
|
975
981
|
|
|
976
982
|
this.$ = { type: 'ChValue', value: parseFloat(yyvstack[yysp]), unit: 'ch' };
|
|
977
983
|
break;
|
|
978
984
|
|
|
979
|
-
case
|
|
985
|
+
case 22:
|
|
980
986
|
/*! Production:: dimension : REMS */
|
|
981
987
|
|
|
982
988
|
this.$ = { type: 'RemValue', value: parseFloat(yyvstack[yysp]), unit: 'rem' };
|
|
983
989
|
break;
|
|
984
990
|
|
|
985
|
-
case
|
|
991
|
+
case 23:
|
|
986
992
|
/*! Production:: dimension : VHS */
|
|
987
993
|
|
|
988
994
|
this.$ = { type: 'VhValue', value: parseFloat(yyvstack[yysp]), unit: 'vh' };
|
|
989
995
|
break;
|
|
990
996
|
|
|
991
|
-
case
|
|
997
|
+
case 24:
|
|
992
998
|
/*! Production:: dimension : SVHS */
|
|
993
999
|
|
|
994
1000
|
this.$ = { type: 'SvhValue', value: parseFloat(yyvstack[yysp]), unit: 'svh' };
|
|
995
1001
|
break;
|
|
996
1002
|
|
|
997
|
-
case
|
|
1003
|
+
case 25:
|
|
998
1004
|
/*! Production:: dimension : LVHS */
|
|
999
1005
|
|
|
1000
1006
|
this.$ = { type: 'LvhValue', value: parseFloat(yyvstack[yysp]), unit: 'lvh' };
|
|
1001
1007
|
break;
|
|
1002
1008
|
|
|
1003
|
-
case
|
|
1009
|
+
case 26:
|
|
1004
1010
|
/*! Production:: dimension : DVHS */
|
|
1005
1011
|
|
|
1006
1012
|
this.$ = { type: 'DvhValue', value: parseFloat(yyvstack[yysp]), unit: 'dvh' };
|
|
1007
1013
|
break;
|
|
1008
1014
|
|
|
1009
|
-
case
|
|
1015
|
+
case 27:
|
|
1010
1016
|
/*! Production:: dimension : VWS */
|
|
1011
1017
|
|
|
1012
1018
|
this.$ = { type: 'VwValue', value: parseFloat(yyvstack[yysp]), unit: 'vw' };
|
|
1013
1019
|
break;
|
|
1014
1020
|
|
|
1015
|
-
case
|
|
1021
|
+
case 28:
|
|
1016
1022
|
/*! Production:: dimension : SVWS */
|
|
1017
1023
|
|
|
1018
1024
|
this.$ = { type: 'SvwValue', value: parseFloat(yyvstack[yysp]), unit: 'svw' };
|
|
1019
1025
|
break;
|
|
1020
1026
|
|
|
1021
|
-
case
|
|
1027
|
+
case 29:
|
|
1022
1028
|
/*! Production:: dimension : LVWS */
|
|
1023
1029
|
|
|
1024
1030
|
this.$ = { type: 'LvwValue', value: parseFloat(yyvstack[yysp]), unit: 'lvw' };
|
|
1025
1031
|
break;
|
|
1026
1032
|
|
|
1027
|
-
case
|
|
1033
|
+
case 30:
|
|
1028
1034
|
/*! Production:: dimension : DVWS */
|
|
1029
1035
|
|
|
1030
1036
|
this.$ = { type: 'DvwValue', value: parseFloat(yyvstack[yysp]), unit: 'dvw' };
|
|
1031
1037
|
break;
|
|
1032
1038
|
|
|
1033
|
-
case
|
|
1039
|
+
case 31:
|
|
1034
1040
|
/*! Production:: dimension : VMINS */
|
|
1035
1041
|
|
|
1036
1042
|
this.$ = { type: 'VminValue', value: parseFloat(yyvstack[yysp]), unit: 'vmin' };
|
|
1037
1043
|
break;
|
|
1038
1044
|
|
|
1039
|
-
case
|
|
1045
|
+
case 32:
|
|
1040
1046
|
/*! Production:: dimension : SVMINS */
|
|
1041
1047
|
|
|
1042
1048
|
this.$ = { type: 'SvminValue', value: parseFloat(yyvstack[yysp]), unit: 'svmin' };
|
|
1043
1049
|
break;
|
|
1044
1050
|
|
|
1045
|
-
case
|
|
1051
|
+
case 33:
|
|
1046
1052
|
/*! Production:: dimension : LVMINS */
|
|
1047
1053
|
|
|
1048
1054
|
this.$ = { type: 'LvminValue', value: parseFloat(yyvstack[yysp]), unit: 'lvmin' };
|
|
1049
1055
|
break;
|
|
1050
1056
|
|
|
1051
|
-
case
|
|
1057
|
+
case 34:
|
|
1052
1058
|
/*! Production:: dimension : DVMINS */
|
|
1053
1059
|
|
|
1054
1060
|
this.$ = { type: 'DvminValue', value: parseFloat(yyvstack[yysp]), unit: 'dvmin' };
|
|
1055
1061
|
break;
|
|
1056
1062
|
|
|
1057
|
-
case
|
|
1063
|
+
case 35:
|
|
1058
1064
|
/*! Production:: dimension : VMAXS */
|
|
1059
1065
|
|
|
1060
1066
|
this.$ = { type: 'VmaxValue', value: parseFloat(yyvstack[yysp]), unit: 'vmax' };
|
|
1061
1067
|
break;
|
|
1062
1068
|
|
|
1063
|
-
case
|
|
1069
|
+
case 36:
|
|
1064
1070
|
/*! Production:: dimension : SVMAXS */
|
|
1065
1071
|
|
|
1066
1072
|
this.$ = { type: 'SvmaxValue', value: parseFloat(yyvstack[yysp]), unit: 'svmax' };
|
|
1067
1073
|
break;
|
|
1068
1074
|
|
|
1069
|
-
case
|
|
1075
|
+
case 37:
|
|
1070
1076
|
/*! Production:: dimension : LVMAXS */
|
|
1071
1077
|
|
|
1072
1078
|
this.$ = { type: 'LvmaxValue', value: parseFloat(yyvstack[yysp]), unit: 'lvmax' };
|
|
1073
1079
|
break;
|
|
1074
1080
|
|
|
1075
|
-
case
|
|
1081
|
+
case 38:
|
|
1076
1082
|
/*! Production:: dimension : DVMAXS */
|
|
1077
1083
|
|
|
1078
1084
|
this.$ = { type: 'DvmaxValue', value: parseFloat(yyvstack[yysp]), unit: 'dvmax' };
|
|
1079
1085
|
break;
|
|
1080
1086
|
|
|
1081
|
-
case
|
|
1087
|
+
case 39:
|
|
1082
1088
|
/*! Production:: dimension : VBS */
|
|
1083
1089
|
|
|
1084
1090
|
this.$ = { type: 'VbValue', value: parseFloat(yyvstack[yysp]), unit: 'vb' };
|
|
1085
1091
|
break;
|
|
1086
1092
|
|
|
1087
|
-
case
|
|
1093
|
+
case 40:
|
|
1088
1094
|
/*! Production:: dimension : SVBS */
|
|
1089
1095
|
|
|
1090
1096
|
this.$ = { type: 'SvbValue', value: parseFloat(yyvstack[yysp]), unit: 'svb' };
|
|
1091
1097
|
break;
|
|
1092
1098
|
|
|
1093
|
-
case
|
|
1099
|
+
case 41:
|
|
1094
1100
|
/*! Production:: dimension : LVBS */
|
|
1095
1101
|
|
|
1096
1102
|
this.$ = { type: 'LvbValue', value: parseFloat(yyvstack[yysp]), unit: 'lvb' };
|
|
1097
1103
|
break;
|
|
1098
1104
|
|
|
1099
|
-
case
|
|
1105
|
+
case 42:
|
|
1100
1106
|
/*! Production:: dimension : DVBS */
|
|
1101
1107
|
|
|
1102
1108
|
this.$ = { type: 'DvbValue', value: parseFloat(yyvstack[yysp]), unit: 'dvb' };
|
|
1103
1109
|
break;
|
|
1104
1110
|
|
|
1105
|
-
case
|
|
1111
|
+
case 43:
|
|
1106
1112
|
/*! Production:: dimension : VIS */
|
|
1107
1113
|
|
|
1108
1114
|
this.$ = { type: 'VhValue', value: parseFloat(yyvstack[yysp]), unit: 'vi' };
|
|
1109
1115
|
break;
|
|
1110
1116
|
|
|
1111
|
-
case
|
|
1117
|
+
case 44:
|
|
1112
1118
|
/*! Production:: dimension : SVIS */
|
|
1113
1119
|
|
|
1114
1120
|
this.$ = { type: 'SvhValue', value: parseFloat(yyvstack[yysp]), unit: 'svi' };
|
|
1115
1121
|
break;
|
|
1116
1122
|
|
|
1117
|
-
case
|
|
1123
|
+
case 45:
|
|
1118
1124
|
/*! Production:: dimension : LVIS */
|
|
1119
1125
|
|
|
1120
1126
|
this.$ = { type: 'LvhValue', value: parseFloat(yyvstack[yysp]), unit: 'lvi' };
|
|
1121
1127
|
break;
|
|
1122
1128
|
|
|
1123
|
-
case
|
|
1129
|
+
case 46:
|
|
1124
1130
|
/*! Production:: dimension : DVIS */
|
|
1125
1131
|
|
|
1126
1132
|
this.$ = { type: 'DvhValue', value: parseFloat(yyvstack[yysp]), unit: 'dvi' };
|
|
1127
1133
|
break;
|
|
1128
1134
|
|
|
1129
|
-
case
|
|
1135
|
+
case 47:
|
|
1130
1136
|
/*! Production:: dimension : CQWS */
|
|
1131
1137
|
|
|
1132
1138
|
this.$ = { type: 'CqwValue', value: parseFloat(yyvstack[yysp]), unit: 'cqw' };
|
|
1133
1139
|
break;
|
|
1134
1140
|
|
|
1135
|
-
case
|
|
1141
|
+
case 48:
|
|
1136
1142
|
/*! Production:: dimension : CQHS */
|
|
1137
1143
|
|
|
1138
1144
|
this.$ = { type: 'CqhValue', value: parseFloat(yyvstack[yysp]), unit: 'cqh' };
|
|
1139
1145
|
break;
|
|
1140
1146
|
|
|
1141
|
-
case
|
|
1147
|
+
case 49:
|
|
1142
1148
|
/*! Production:: dimension : CQIS */
|
|
1143
1149
|
|
|
1144
1150
|
this.$ = { type: 'CqiValue', value: parseFloat(yyvstack[yysp]), unit: 'cqi' };
|
|
1145
1151
|
break;
|
|
1146
1152
|
|
|
1147
|
-
case
|
|
1153
|
+
case 50:
|
|
1148
1154
|
/*! Production:: dimension : CQBS */
|
|
1149
1155
|
|
|
1150
1156
|
this.$ = { type: 'CqbValue', value: parseFloat(yyvstack[yysp]), unit: 'cqb' };
|
|
1151
1157
|
break;
|
|
1152
1158
|
|
|
1153
|
-
case
|
|
1159
|
+
case 51:
|
|
1154
1160
|
/*! Production:: dimension : CQMINS */
|
|
1155
1161
|
|
|
1156
1162
|
this.$ = { type: 'CqminValue', value: parseFloat(yyvstack[yysp]), unit: 'cqmin' };
|
|
1157
1163
|
break;
|
|
1158
1164
|
|
|
1159
|
-
case
|
|
1165
|
+
case 52:
|
|
1160
1166
|
/*! Production:: dimension : CQMAXS */
|
|
1161
1167
|
|
|
1162
1168
|
this.$ = { type: 'CqmaxValue', value: parseFloat(yyvstack[yysp]), unit: 'cqmax' };
|
|
1163
1169
|
break;
|
|
1164
1170
|
|
|
1165
|
-
case
|
|
1171
|
+
case 53:
|
|
1166
1172
|
/*! Production:: dimension : LHS */
|
|
1167
1173
|
|
|
1168
1174
|
this.$ = { type: 'LhValue', value: parseFloat(yyvstack[yysp]), unit: 'lh' };
|
|
1169
1175
|
break;
|
|
1170
1176
|
|
|
1171
|
-
case
|
|
1177
|
+
case 54:
|
|
1172
1178
|
/*! Production:: dimension : RLHS */
|
|
1173
1179
|
|
|
1174
1180
|
this.$ = { type: 'RlhValue', value: parseFloat(yyvstack[yysp]), unit: 'rlh' };
|
|
1175
1181
|
break;
|
|
1176
1182
|
|
|
1177
|
-
case
|
|
1183
|
+
case 55:
|
|
1178
1184
|
/*! Production:: dimension : PERCENTAGE */
|
|
1179
1185
|
|
|
1180
1186
|
this.$ = { type: 'PercentageValue', value: parseFloat(yyvstack[yysp]), unit: '%' };
|
|
1181
1187
|
break;
|
|
1182
1188
|
|
|
1183
|
-
case
|
|
1189
|
+
case 56:
|
|
1184
1190
|
/*! Production:: dimension : ADD dimension */
|
|
1185
1191
|
|
|
1186
1192
|
var prev = yyvstack[yysp]; this.$ = prev;
|
|
1187
1193
|
break;
|
|
1188
1194
|
|
|
1189
|
-
case
|
|
1195
|
+
case 57:
|
|
1190
1196
|
/*! Production:: dimension : SUB dimension */
|
|
1191
1197
|
|
|
1192
1198
|
var prev = yyvstack[yysp]; prev.value *= -1; this.$ = prev;
|
|
1193
1199
|
break;
|
|
1194
1200
|
|
|
1195
|
-
case 57:
|
|
1196
|
-
/*! Production:: number : NUMBER */
|
|
1197
1201
|
case 58:
|
|
1202
|
+
/*! Production:: calc_keyword : CALC_KEYWORD */
|
|
1203
|
+
|
|
1204
|
+
this.$ = { type: 'CalcKeyword', value: yyvstack[yysp] };
|
|
1205
|
+
break;
|
|
1206
|
+
|
|
1207
|
+
case 59:
|
|
1208
|
+
/*! Production:: number : NUMBER */
|
|
1209
|
+
case 60:
|
|
1198
1210
|
/*! Production:: number : ADD NUMBER */
|
|
1199
1211
|
|
|
1200
1212
|
this.$ = { type: 'Number', value: parseFloat(yyvstack[yysp]) };
|
|
1201
1213
|
break;
|
|
1202
1214
|
|
|
1203
|
-
case
|
|
1215
|
+
case 61:
|
|
1204
1216
|
/*! Production:: number : SUB NUMBER */
|
|
1205
1217
|
|
|
1206
1218
|
this.$ = { type: 'Number', value: parseFloat(yyvstack[yysp]) * -1 };
|
|
@@ -1210,19 +1222,19 @@ case 59:
|
|
|
1210
1222
|
},
|
|
1211
1223
|
table: bt({
|
|
1212
1224
|
len: u([
|
|
1213
|
-
|
|
1225
|
+
56,
|
|
1214
1226
|
1,
|
|
1215
1227
|
5,
|
|
1216
1228
|
1,
|
|
1217
|
-
|
|
1229
|
+
55,
|
|
1218
1230
|
s,
|
|
1219
|
-
[0,
|
|
1231
|
+
[0, 48],
|
|
1220
1232
|
47,
|
|
1221
1233
|
47,
|
|
1222
|
-
0,
|
|
1223
|
-
0,
|
|
1224
1234
|
s,
|
|
1225
|
-
[
|
|
1235
|
+
[0, 3],
|
|
1236
|
+
s,
|
|
1237
|
+
[55, 5],
|
|
1226
1238
|
5,
|
|
1227
1239
|
0,
|
|
1228
1240
|
0,
|
|
@@ -1243,34 +1255,35 @@ table: bt({
|
|
|
1243
1255
|
6,
|
|
1244
1256
|
7,
|
|
1245
1257
|
s,
|
|
1246
|
-
[10,
|
|
1258
|
+
[10, 52, 1],
|
|
1247
1259
|
1,
|
|
1248
1260
|
1,
|
|
1249
1261
|
s,
|
|
1250
1262
|
[6, 4, 1],
|
|
1251
1263
|
4,
|
|
1252
1264
|
c,
|
|
1253
|
-
[
|
|
1265
|
+
[63, 50],
|
|
1254
1266
|
c,
|
|
1255
|
-
[
|
|
1267
|
+
[62, 5],
|
|
1256
1268
|
6,
|
|
1257
1269
|
7,
|
|
1258
1270
|
c,
|
|
1259
|
-
[
|
|
1260
|
-
|
|
1271
|
+
[52, 43],
|
|
1272
|
+
55,
|
|
1273
|
+
59,
|
|
1261
1274
|
c,
|
|
1262
1275
|
[47, 47],
|
|
1263
1276
|
c,
|
|
1264
|
-
[
|
|
1277
|
+
[149, 55],
|
|
1265
1278
|
c,
|
|
1266
|
-
[
|
|
1279
|
+
[55, 220],
|
|
1267
1280
|
s,
|
|
1268
1281
|
[5, 5, 1],
|
|
1269
1282
|
c,
|
|
1270
|
-
[
|
|
1283
|
+
[327, 45],
|
|
1271
1284
|
c,
|
|
1272
|
-
[
|
|
1273
|
-
|
|
1285
|
+
[373, 46],
|
|
1286
|
+
59,
|
|
1274
1287
|
1,
|
|
1275
1288
|
c,
|
|
1276
1289
|
[98, 5],
|
|
@@ -1281,57 +1294,56 @@ table: bt({
|
|
|
1281
1294
|
]),
|
|
1282
1295
|
type: u([
|
|
1283
1296
|
s,
|
|
1284
|
-
[2,
|
|
1297
|
+
[2, 50],
|
|
1285
1298
|
s,
|
|
1286
|
-
[0,
|
|
1299
|
+
[0, 6],
|
|
1287
1300
|
1,
|
|
1288
1301
|
s,
|
|
1289
|
-
[2,
|
|
1302
|
+
[2, 56],
|
|
1290
1303
|
s,
|
|
1291
|
-
[0,
|
|
1304
|
+
[0, 5],
|
|
1292
1305
|
c,
|
|
1293
|
-
[
|
|
1306
|
+
[51, 47],
|
|
1294
1307
|
c,
|
|
1295
1308
|
[47, 93],
|
|
1296
1309
|
c,
|
|
1297
|
-
[
|
|
1298
|
-
c,
|
|
1299
|
-
[53, 215],
|
|
1310
|
+
[149, 55],
|
|
1300
1311
|
c,
|
|
1301
|
-
[
|
|
1312
|
+
[55, 225],
|
|
1302
1313
|
c,
|
|
1303
|
-
[46,
|
|
1314
|
+
[46, 63]
|
|
1304
1315
|
]),
|
|
1305
1316
|
state: u([
|
|
1306
1317
|
1,
|
|
1307
1318
|
2,
|
|
1308
1319
|
5,
|
|
1309
1320
|
6,
|
|
1321
|
+
8,
|
|
1310
1322
|
7,
|
|
1311
|
-
|
|
1323
|
+
63,
|
|
1312
1324
|
c,
|
|
1313
|
-
[
|
|
1314
|
-
|
|
1315
|
-
66,
|
|
1325
|
+
[5, 4],
|
|
1326
|
+
64,
|
|
1316
1327
|
68,
|
|
1317
|
-
c,
|
|
1318
|
-
[6, 3],
|
|
1319
|
-
69,
|
|
1320
|
-
c,
|
|
1321
|
-
[4, 3],
|
|
1322
1328
|
70,
|
|
1323
1329
|
c,
|
|
1324
|
-
[
|
|
1330
|
+
[7, 4],
|
|
1325
1331
|
71,
|
|
1326
1332
|
c,
|
|
1327
|
-
[
|
|
1333
|
+
[5, 4],
|
|
1328
1334
|
72,
|
|
1329
1335
|
c,
|
|
1330
|
-
[
|
|
1336
|
+
[5, 4],
|
|
1337
|
+
73,
|
|
1338
|
+
c,
|
|
1339
|
+
[5, 4],
|
|
1340
|
+
74,
|
|
1341
|
+
c,
|
|
1342
|
+
[27, 6]
|
|
1331
1343
|
]),
|
|
1332
1344
|
mode: u([
|
|
1333
1345
|
s,
|
|
1334
|
-
[1,
|
|
1346
|
+
[1, 543],
|
|
1335
1347
|
s,
|
|
1336
1348
|
[2, 4],
|
|
1337
1349
|
c,
|
|
@@ -1342,42 +1354,44 @@ table: bt({
|
|
|
1342
1354
|
goto: u([
|
|
1343
1355
|
3,
|
|
1344
1356
|
4,
|
|
1345
|
-
52,
|
|
1346
1357
|
53,
|
|
1358
|
+
54,
|
|
1347
1359
|
s,
|
|
1348
|
-
[
|
|
1360
|
+
[9, 44, 1],
|
|
1361
|
+
56,
|
|
1362
|
+
55,
|
|
1349
1363
|
s,
|
|
1350
|
-
[
|
|
1364
|
+
[57, 6, 1],
|
|
1351
1365
|
c,
|
|
1352
|
-
[
|
|
1353
|
-
|
|
1354
|
-
|
|
1366
|
+
[56, 50],
|
|
1367
|
+
66,
|
|
1368
|
+
67,
|
|
1355
1369
|
c,
|
|
1356
|
-
[
|
|
1357
|
-
|
|
1370
|
+
[47, 43],
|
|
1371
|
+
65,
|
|
1358
1372
|
c,
|
|
1359
1373
|
[46, 45],
|
|
1360
|
-
|
|
1374
|
+
69,
|
|
1361
1375
|
c,
|
|
1362
|
-
[
|
|
1376
|
+
[142, 50],
|
|
1363
1377
|
c,
|
|
1364
|
-
[
|
|
1365
|
-
|
|
1378
|
+
[50, 200],
|
|
1379
|
+
75,
|
|
1366
1380
|
c,
|
|
1367
|
-
[
|
|
1381
|
+
[398, 4],
|
|
1368
1382
|
c,
|
|
1369
|
-
[
|
|
1383
|
+
[301, 45],
|
|
1370
1384
|
c,
|
|
1371
1385
|
[45, 45],
|
|
1372
1386
|
s,
|
|
1373
1387
|
[3, 4],
|
|
1374
|
-
|
|
1375
|
-
|
|
1388
|
+
60,
|
|
1389
|
+
61,
|
|
1376
1390
|
s,
|
|
1377
1391
|
[4, 4],
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1392
|
+
60,
|
|
1393
|
+
61,
|
|
1394
|
+
76,
|
|
1381
1395
|
c,
|
|
1382
1396
|
[107, 4]
|
|
1383
1397
|
])
|
|
@@ -1385,27 +1399,29 @@ table: bt({
|
|
|
1385
1399
|
defaultActions: bda({
|
|
1386
1400
|
idx: u([
|
|
1387
1401
|
s,
|
|
1388
|
-
[5,
|
|
1389
|
-
54,
|
|
1402
|
+
[5, 48, 1],
|
|
1390
1403
|
55,
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1404
|
+
56,
|
|
1405
|
+
57,
|
|
1406
|
+
64,
|
|
1407
|
+
65,
|
|
1408
|
+
68,
|
|
1409
|
+
69,
|
|
1410
|
+
72,
|
|
1397
1411
|
73,
|
|
1398
|
-
|
|
1412
|
+
75,
|
|
1413
|
+
76
|
|
1399
1414
|
]),
|
|
1400
1415
|
goto: u([
|
|
1401
1416
|
s,
|
|
1402
|
-
[8,
|
|
1403
|
-
|
|
1404
|
-
1,
|
|
1405
|
-
55,
|
|
1417
|
+
[8, 48, 1],
|
|
1418
|
+
59,
|
|
1406
1419
|
58,
|
|
1420
|
+
1,
|
|
1407
1421
|
56,
|
|
1408
|
-
|
|
1422
|
+
60,
|
|
1423
|
+
57,
|
|
1424
|
+
61,
|
|
1409
1425
|
5,
|
|
1410
1426
|
6,
|
|
1411
1427
|
7,
|
|
@@ -1449,7 +1465,7 @@ parse: function parse(input) {
|
|
|
1449
1465
|
var TERROR = this.TERROR;
|
|
1450
1466
|
var EOF = this.EOF;
|
|
1451
1467
|
var ERROR_RECOVERY_TOKEN_DISCARD_COUNT = (this.options.errorRecoveryTokenDiscardCount | 0) || 3;
|
|
1452
|
-
var NO_ACTION = [0,
|
|
1468
|
+
var NO_ACTION = [0, 77 /* === table.length :: ensures that anyone using this new state will fail dramatically! */];
|
|
1453
1469
|
|
|
1454
1470
|
var lexer;
|
|
1455
1471
|
if (this.__lexer__) {
|
|
@@ -4006,23 +4022,27 @@ EOF: 1,
|
|
|
4006
4022
|
|
|
4007
4023
|
/*! Conditions:: INITIAL */
|
|
4008
4024
|
/*! Rule:: (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)\b */
|
|
4009
|
-
62:
|
|
4025
|
+
62: 55,
|
|
4026
|
+
|
|
4027
|
+
/*! Conditions:: INITIAL */
|
|
4028
|
+
/*! Rule:: (infinity|pi|e)\b */
|
|
4029
|
+
63: 54,
|
|
4010
4030
|
|
|
4011
4031
|
/*! Conditions:: INITIAL */
|
|
4012
4032
|
/*! Rule:: (([0-9]+(\.[0-9]+)?|\.[0-9]+)(e(\+|-)[0-9]+)?)-?([a-zA-Z_]|[\240-\377]|(\\[0-9a-fA-F]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-fA-F]))([a-zA-Z0-9_-]|[\240-\377]|(\\[0-9a-fA-F]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-fA-F]))*\b */
|
|
4013
|
-
|
|
4033
|
+
64: 16,
|
|
4014
4034
|
|
|
4015
4035
|
/*! Conditions:: INITIAL */
|
|
4016
4036
|
/*! Rule:: \( */
|
|
4017
|
-
|
|
4037
|
+
65: 4,
|
|
4018
4038
|
|
|
4019
4039
|
/*! Conditions:: INITIAL */
|
|
4020
4040
|
/*! Rule:: \) */
|
|
4021
|
-
|
|
4041
|
+
66: 5,
|
|
4022
4042
|
|
|
4023
4043
|
/*! Conditions:: INITIAL */
|
|
4024
4044
|
/*! Rule:: $ */
|
|
4025
|
-
|
|
4045
|
+
67: 1
|
|
4026
4046
|
},
|
|
4027
4047
|
|
|
4028
4048
|
rules: [
|
|
@@ -4089,10 +4109,11 @@ EOF: 1,
|
|
|
4089
4109
|
/* 60: */ /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)dppx\b)/i,
|
|
4090
4110
|
/* 61: */ /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)%)/i,
|
|
4091
4111
|
/* 62: */ /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)\b)/i,
|
|
4092
|
-
/* 63: */ /^(?:(
|
|
4093
|
-
/* 64: */ /^(
|
|
4094
|
-
/* 65: */ /^(?:\)
|
|
4095
|
-
/* 66: */ /^(
|
|
4112
|
+
/* 63: */ /^(?:(infinity|pi|e)\b)/i,
|
|
4113
|
+
/* 64: */ /^(?:((\d+(\.\d+)?|\.\d+)(e(\+|-)\d+)?)-?([^\W\d]|[ -ÿ]|(\\[\dA-Fa-f]{1,6}(\r\n|[\t\n\f\r ])?|\\[^\d\n\f\rA-Fa-f]))([\w\-]|[ -ÿ]|(\\[\dA-Fa-f]{1,6}(\r\n|[\t\n\f\r ])?|\\[^\d\n\f\rA-Fa-f]))*\b)/i,
|
|
4114
|
+
/* 65: */ /^(?:\()/i,
|
|
4115
|
+
/* 66: */ /^(?:\))/i,
|
|
4116
|
+
/* 67: */ /^(?:$)/i
|
|
4096
4117
|
],
|
|
4097
4118
|
|
|
4098
4119
|
conditions: {
|
|
@@ -4164,7 +4185,8 @@ EOF: 1,
|
|
|
4164
4185
|
63,
|
|
4165
4186
|
64,
|
|
4166
4187
|
65,
|
|
4167
|
-
66
|
|
4188
|
+
66,
|
|
4189
|
+
67
|
|
4168
4190
|
],
|
|
4169
4191
|
|
|
4170
4192
|
inclusive: true
|