Files
airllm-fork-nodejs/node_modules/node-llama-cpp/dist/utils/gbnfJson/terminals/GbnfNumber.js
2026-02-05 15:27:49 +08:00

22 lines
766 B
JavaScript

import { GbnfTerminal } from "../GbnfTerminal.js";
import { reservedRuleNames } from "./gbnfConsts.js";
export class GbnfNumber extends GbnfTerminal {
allowFractional;
constructor({ allowFractional = true }) {
super();
this.allowFractional = allowFractional;
}
getGrammar() {
const num = '"-"? ("0" | [1-9] [0-9]{0,15})';
const exponent = ' ([eE] [-+]? ("0" | [1-9] [0-9]{0,15}))?';
if (this.allowFractional)
return num + ' ("." [0-9]{1,16})?' + exponent;
return num + exponent;
}
getRuleName() {
if (this.allowFractional)
return reservedRuleNames.number.fractional;
return reservedRuleNames.number.integer;
}
}
//# sourceMappingURL=GbnfNumber.js.map