From 6562aa6604b52894b4ac3e1dbe16e9f6be89b8fc Mon Sep 17 00:00:00 2001 From: Phodal Huang Date: Wed, 9 Nov 2022 11:31:09 +0800 Subject: [PATCH] build: init expression expr #22 --- .../kotlin/chapi/domain/expr/Expression.kt | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 chapi-domain/src/main/kotlin/chapi/domain/expr/Expression.kt diff --git a/chapi-domain/src/main/kotlin/chapi/domain/expr/Expression.kt b/chapi-domain/src/main/kotlin/chapi/domain/expr/Expression.kt new file mode 100644 index 00000000..c6535764 --- /dev/null +++ b/chapi-domain/src/main/kotlin/chapi/domain/expr/Expression.kt @@ -0,0 +1,28 @@ +package chapi.domain.expr + +import java.util.function.BinaryOperator +import java.util.function.IntBinaryOperator + +class Expression( + var Type: ExpressionType, + var Value: String = "", + var Children: Array = arrayOf() +) + +enum class ExpressionType { + Primary, + Infix, + Prefix, + Postfix, +} + +enum class Arithmetics : BinaryOperator, IntBinaryOperator { + PLUS { + override fun apply(t: Int, u: Int): Int { + return t + u + } + } + ; + + override fun applyAsInt(t: Int, u: Int) = apply(t, u) +}