Fix parsing of floatingPointConstants in transformParser

Relax transforms commaWsp requirement from one or more to zero or more.
This commit is contained in:
Mikael Sand
2018-01-03 23:05:05 +02:00
parent 310fbed841
commit b9d37ac897

View File

@@ -44,7 +44,7 @@ transformList
= wsp* ts:transforms? wsp* { return ts; } = wsp* ts:transforms? wsp* { return ts; }
transforms transforms
= t:transform commaWsp+ ts:transforms = t:transform commaWsp* ts:transforms
{ {
return multiply_matrices(t, ts); return multiply_matrices(t, ts);
} }
@@ -147,15 +147,15 @@ integerConstant
= ds:digitSequence { return ds.join(""); } = ds:digitSequence { return ds.join(""); }
floatingPointConstant floatingPointConstant
= fractionalConstant exponent? = f:(fractionalConstant exponent?) { return f.join(""); }
/ digitSequence exponent / d:(digitSequence exponent) { return d.join(""); }
fractionalConstant "fractionalConstant" fractionalConstant "fractionalConstant"
= d1:digitSequence? "." d2:digitSequence { return [d1 ? d1.join("") : null, ".", d2.join("")].join(""); } = d1:digitSequence? "." d2:digitSequence { return [d1 ? d1.join("") : null, ".", d2.join("")].join(""); }
/ d:digitSequence "." { return d.join(""); } / d:digitSequence "." { return d.join(""); }
exponent exponent
= [eE] sign? digitSequence = e:([eE] sign? digitSequence) { return [e[0], e[1], e[2].join("")].join(""); }
sign sign
= [+-] = [+-]