mirror of https://github.com/YosysHQ/yosys.git
Parse reals as string in JSON front-end
This commit is contained in:
parent
660473a485
commit
91d9c50bb3
|
@ -76,6 +76,34 @@ struct JsonNode
|
||||||
{
|
{
|
||||||
type = 'N';
|
type = 'N';
|
||||||
data_number = ch - '0';
|
data_number = ch - '0';
|
||||||
|
data_string += ch;
|
||||||
|
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
ch = f.get();
|
||||||
|
|
||||||
|
if (ch == EOF)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (ch == '.')
|
||||||
|
goto parse_real;
|
||||||
|
|
||||||
|
if (ch < '0' || '9' < ch) {
|
||||||
|
f.unget();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
data_number = data_number*10 + (ch - '0');
|
||||||
|
data_string += ch;
|
||||||
|
}
|
||||||
|
|
||||||
|
data_string = "";
|
||||||
|
break;
|
||||||
|
|
||||||
|
parse_real:
|
||||||
|
type = 'S';
|
||||||
|
data_number = 0;
|
||||||
|
data_string += ch;
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
|
@ -89,7 +117,7 @@ struct JsonNode
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
data_number = data_number*10 + (ch - '0');
|
data_string += ch;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue