RE2C = PATH_PROG('re2c');
if (RE2C) {
- var intvers, intmin;
- var pattern = /\./g;
-
- RE2CVERS = probe_binary(RE2C, "version");
+ var RE2CVERS = probe_binary(RE2C, "version");
STDOUT.WriteLine(' Detected re2c version ' + RE2CVERS);
if (RE2CVERS.match(/^\d+.\d+$/)) {
RE2CVERS += ".0";
}
- intvers = RE2CVERS.replace(pattern, '') - 0;
- intmin = MINRE2C.replace(pattern, '') - 0;
+ var hm = RE2CVERS.match(/(\d+)\.(\d+)\.(\d+)/);
+ var nm = MINRE2C.match(/(\d+)\.(\d+)\.(\d+)/);
+
+ var intvers = (hm[1]-0)*10000 + (hm[2]-0)*100 + (hm[3]-0);
+ var intmin = (nm[1]-0)*10000 + (nm[2]-0)*100 + (nm[3]-0);
if (intvers < intmin) {
STDOUT.WriteLine('WARNING: The minimum RE2C version requirement is ' + MINRE2C);