impl - * // /
This commit is contained in:
parent
bf44d84e17
commit
1a46130b1d
2 changed files with 30 additions and 4 deletions
src/lib
|
@ -66,6 +66,32 @@ const Operators: TokenHandler[] = [
|
|||
parse: ({ value: left }, matched, parser) =>
|
||||
map(parser.parseSubExpression(11), (right) => ({ value: left + right })),
|
||||
},
|
||||
{
|
||||
leftBindingPower: 10,
|
||||
token: MINUS_TOKEN,
|
||||
parse: ({ value: left }, matched, parser) =>
|
||||
map(parser.parseSubExpression(11), (right) => ({ value: left - right })),
|
||||
},
|
||||
{
|
||||
leftBindingPower: 20,
|
||||
token: TIMES_TOKEN,
|
||||
parse: ({ value: left }, matched, parser) =>
|
||||
map(parser.parseSubExpression(11), (right) => ({ value: left * right })),
|
||||
},
|
||||
{
|
||||
leftBindingPower: 20,
|
||||
token: FLOOR_TOKEN,
|
||||
parse: ({ value: left }, matched, parser) =>
|
||||
map(parser.parseSubExpression(11), (right) => ({
|
||||
value: Math.floor(left / right),
|
||||
})),
|
||||
},
|
||||
{
|
||||
leftBindingPower: 20,
|
||||
token: DIV_TOKEN,
|
||||
parse: ({ value: left }, matched, parser) =>
|
||||
map(parser.parseSubExpression(11), (right) => ({ value: left / right })),
|
||||
},
|
||||
];
|
||||
|
||||
const ZERO = { value: 0 };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue