[orx-expression-evaluator] Fix for antlr-kotlin 0.1.2

This commit is contained in:
Edwin Jakobs
2024-02-01 21:13:28 +01:00
parent 34d2321cc4
commit 2dec46accc

View File

@@ -87,11 +87,11 @@ internal class ExpressionListener(
val right = doubleStack.pop()
val left = doubleStack.pop()
val result = when (val operator = ctx.operator?.type) {
KeyLangLexer.Tokens.PLUS.id -> left + right
KeyLangParser.Tokens.MINUS.id -> left - right
KeyLangParser.Tokens.ASTERISK.id -> left * right
KeyLangParser.Tokens.DIVISION.id -> left / right
KeyLangParser.Tokens.PERCENTAGE.id -> mod(left, right)
KeyLangLexer.Tokens.PLUS -> left + right
KeyLangParser.Tokens.MINUS -> left - right
KeyLangParser.Tokens.ASTERISK -> left * right
KeyLangParser.Tokens.DIVISION -> left / right
KeyLangParser.Tokens.PERCENTAGE -> mod(left, right)
else -> error("operator '$operator' not implemented")
}
doubleStack.push(result)
@@ -106,10 +106,10 @@ internal class ExpressionListener(
val left = doubleStack.pop()
val right = doubleStack.pop()
val result = when (val operator = ctx.operator?.type) {
KeyLangParser.Tokens.PLUS.id -> left + right
KeyLangParser.Tokens.MINUS.id -> right - left
KeyLangParser.Tokens.ASTERISK.id -> left * right
KeyLangParser.Tokens.DIVISION.id -> left / right
KeyLangParser.Tokens.PLUS -> left + right
KeyLangParser.Tokens.MINUS -> right - left
KeyLangParser.Tokens.ASTERISK -> left * right
KeyLangParser.Tokens.DIVISION -> left / right
else -> error("operator '$operator' not implemented")
}
doubleStack.push(result)
@@ -248,13 +248,13 @@ internal class ExpressionListener(
override fun visitTerminal(node: TerminalNode) {
val type = node.symbol?.type
if (type == KeyLangParser.Tokens.INTLIT.id) {
if (type == KeyLangParser.Tokens.INTLIT) {
doubleStack.push(node.text.toDouble())
}
if (type == KeyLangParser.Tokens.DECLIT.id) {
if (type == KeyLangParser.Tokens.DECLIT) {
doubleStack.push(node.text.toDouble())
}
if (type == KeyLangParser.Tokens.ID.id) {
if (type == KeyLangParser.Tokens.ID) {
val name = node.text.replace("`", "")
@Suppress("DIVISION_BY_ZERO")
when (val idType = idTypeStack.pop()) {