@fink/larix
Version:
A parser for generating fink's AST.
37 lines (30 loc) • 596 B
JavaScript
const {
curr_value,
curr_loc
} = require("@fink/prattler/parser.js");
const {
add_literal,
non_binding
} = require("@fink/prattler/expressions.js");
const number = ctx => {
const {
start,
end
} = curr_loc(ctx);
const value = curr_value(ctx);
return [{
type: `number`,
value,
loc: {
start,
end
}
}, ctx];
};
exports.number = number;
const num = token_type => ({ ...non_binding(token_type),
nud: () => ctx => number(ctx)
});
exports.num = num;
const add_number = ctx => add_literal(num(`number`))(ctx);
exports.add_number = add_number;