You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
591 B
Plaintext
45 lines
591 B
Plaintext
4 years ago
|
{
|
||
|
const syncpipe = require("syncpipe");
|
||
|
const {B} = require("../../unit-bytes-iec");
|
||
|
}
|
||
|
|
||
|
_
|
||
|
= (" " / "\t")*
|
||
|
|
||
|
RestOfLine
|
||
|
= content:$[^\n]+ Newline {
|
||
|
return content;
|
||
|
}
|
||
|
|
||
|
Newline
|
||
|
= "\n"
|
||
|
/ "\r\n"
|
||
|
|
||
|
BytesValue
|
||
|
= value:SeparatedNumberValue {
|
||
|
return B(value);
|
||
|
}
|
||
|
|
||
|
NumberValue
|
||
|
= value:$[0-9]+ {
|
||
|
return parseInt(value);
|
||
|
}
|
||
|
|
||
|
SeparatedNumberValue
|
||
|
= value:$[0-9,]+ {
|
||
|
return syncpipe(value, [
|
||
|
(_) => _.replace(/,/g, ""),
|
||
|
(_) => parseInt(_)
|
||
|
]);
|
||
|
}
|
||
|
|
||
|
HexNumberValue
|
||
|
= value:$[0-9A-Fa-f]+ {
|
||
|
return parseInt(value, 16);
|
||
|
}
|
||
|
|
||
|
IdentifierValue
|
||
|
= value:$[a-zA-Z_-]+ {
|
||
|
return value;
|
||
|
}
|