From 50986fbac5badd7dd899219dae51b3781a0cd531 Mon Sep 17 00:00:00 2001 From: sergeych Date: Sun, 18 May 2025 11:59:45 +0400 Subject: [PATCH] +namespaces with direct resolution +national chars in ids --- .../kotlin/net/sergeych/ling/Compiler.kt | 1 + .../kotlin/net/sergeych/ling/statements.kt | 14 +------------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/library/src/commonMain/kotlin/net/sergeych/ling/Compiler.kt b/library/src/commonMain/kotlin/net/sergeych/ling/Compiler.kt index 991d150..c0086fb 100644 --- a/library/src/commonMain/kotlin/net/sergeych/ling/Compiler.kt +++ b/library/src/commonMain/kotlin/net/sergeych/ling/Compiler.kt @@ -243,6 +243,7 @@ class Compiler { * Parse keyword-starting statenment. * @return parsed statement or null if, for example. [id] is not among keywords */ + @Suppress("UNUSED_PARAMETER") private fun parseKeywordStatement(id: Token, tokens: ListIterator): Statement? { return null } diff --git a/library/src/commonMain/kotlin/net/sergeych/ling/statements.kt b/library/src/commonMain/kotlin/net/sergeych/ling/statements.kt index 265976e..b58171c 100644 --- a/library/src/commonMain/kotlin/net/sergeych/ling/statements.kt +++ b/library/src/commonMain/kotlin/net/sergeych/ling/statements.kt @@ -12,6 +12,7 @@ fun Statement.raise(text: String): Nothing { throw ScriptError(pos, text) } +@Suppress("unused") fun Statement.require(cond: Boolean, message: () -> String) { if (!cond) raise(message()) } @@ -21,19 +22,6 @@ fun statement(pos: Pos, f: suspend (Context) -> Obj): Statement = object : State override suspend fun execute(context: Context): Obj = f(context) } -class IfStatement( - override val pos: Pos, - val cond: Statement, val ifTrue: Statement, val ifFalse: Statement? -) : Statement() { - override suspend fun execute(context: Context): Obj { - val c = cond.execute(context) - if (c !is ObjBool) - raise("if: condition must me boolean, got: $c") - - return if (c.value) ifTrue.execute(context) else ifFalse?.execute(context) ?: ObjVoid - } -} - class LogicalAndStatement( override val pos: Pos, val left: Statement, val right: Statement