diff --git a/modules/database/src/ioc/dbStatic/dbLex.l b/modules/database/src/ioc/dbStatic/dbLex.l index 542959231..dd9dc8987 100644 --- a/modules/database/src/ioc/dbStatic/dbLex.l +++ b/modules/database/src/ioc/dbStatic/dbLex.l @@ -33,10 +33,11 @@ exp ([eE]{sign}[0-9]+) jsonnum ({int}{frac}?{exp}?) intexp ({int}"."{exp}?) fracexp ({sign}{frac}{exp}?) +specialnum ("NaN"|{sign}"Infinity") zerox ("0x"|"0X") hexint ({sign}{zerox}{hexdigit}+) -number ({jsonnum}|{intexp}|{fracexp}|{hexint}) +number ({jsonnum}|{intexp}|{fracexp}|{specialnum}|{hexint}) %{ #undef YY_INPUT diff --git a/modules/database/test/ioc/db/dbStaticTest.db b/modules/database/test/ioc/db/dbStaticTest.db index 546cb0bbb..75e981f1a 100644 --- a/modules/database/test/ioc/db/dbStaticTest.db +++ b/modules/database/test/ioc/db/dbStaticTest.db @@ -73,4 +73,12 @@ record(x, "t1") { field(F64, -.123e4) field(F32, -123.e4) field(F64, -123.e4) + field(F32, Infinity) + field(F64, Infinity) + field(F32, +Infinity) + field(F64, +Infinity) + field(F32, -Infinity) + field(F64, -Infinity) + field(F32, Nan) + field(F64, Nan) }