feat: add molang package
1. upgrade bukkit chat 2. fix config update error Signed-off-by: MiaoWoo <admin@yumc.pw>
This commit is contained in:
31
packages/molang/src/parser/parselets/greaterOperator.ts
Normal file
31
packages/molang/src/parser/parselets/greaterOperator.ts
Normal file
@@ -0,0 +1,31 @@
|
||||
import { Parser } from '../parse'
|
||||
import { Token } from '../../tokenizer/token'
|
||||
import { IExpression } from '../expression'
|
||||
import { GenericOperatorExpression } from '../expressions/genericOperator'
|
||||
import { IInfixParselet } from './infix'
|
||||
|
||||
export class GreaterOperator implements IInfixParselet {
|
||||
constructor(public precedence = 0) {}
|
||||
|
||||
parse(parser: Parser, leftExpression: IExpression, token: Token) {
|
||||
if (parser.match('EQUALS'))
|
||||
return new GenericOperatorExpression(
|
||||
leftExpression,
|
||||
parser.parseExpression(this.precedence),
|
||||
'>=',
|
||||
(leftExpression: IExpression, rightExpression: IExpression) =>
|
||||
// @ts-ignore
|
||||
leftExpression.eval() >= rightExpression.eval()
|
||||
)
|
||||
else {
|
||||
return new GenericOperatorExpression(
|
||||
leftExpression,
|
||||
parser.parseExpression(this.precedence),
|
||||
'>',
|
||||
(leftExpression: IExpression, rightExpression: IExpression) =>
|
||||
// @ts-ignore
|
||||
leftExpression.eval() > rightExpression.eval()
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user