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