Refactor the Instruction parser into an Expression one.

Now support more arithmeric operator (mainly *, /) and recurcive bracket
This commit is contained in:
Thomas Andres Gomez 2025-02-04 18:43:05 +01:00
parent 409acf748f
commit ce51a3be0a
19 changed files with 824 additions and 448 deletions

View file

@ -4,8 +4,7 @@ import com.pixelized.desktop.lwa.business.CharacterSheetUseCase
import com.pixelized.desktop.lwa.business.RollUseCase
import com.pixelized.desktop.lwa.business.SettingsUseCase
import com.pixelized.desktop.lwa.business.SkillStepUseCase
import com.pixelized.desktop.lwa.business.SkillValueComputationUseCase
import com.pixelized.desktop.lwa.parser.arithmetic.ArithmeticParser
import com.pixelized.desktop.lwa.business.ExpressionUseCase
import com.pixelized.desktop.lwa.repository.characterSheet.CharacterSheetJsonFactory
import com.pixelized.desktop.lwa.repository.characterSheet.CharacterSheetRepository
import com.pixelized.desktop.lwa.repository.characterSheet.CharacterSheetStore
@ -25,6 +24,9 @@ import com.pixelized.desktop.lwa.screen.network.NetworkFactory
import com.pixelized.desktop.lwa.screen.network.NetworkViewModel
import com.pixelized.desktop.lwa.screen.roll.RollViewModel
import com.pixelized.desktop.lwa.screen.rollhistory.RollHistoryViewModel
import com.pixelized.desktop.lwa.parser.dice.DiceParser
import com.pixelized.desktop.lwa.parser.word.WordParser
import com.pixelized.desktop.lwa.parser.expression.ExpressionParser
import kotlinx.serialization.json.Json
import org.koin.core.module.dsl.factoryOf
import org.koin.core.module.dsl.singleOf
@ -84,14 +86,16 @@ val viewModelDependencies
val parserDependencies
get() = module {
factoryOf(::ArithmeticParser)
factoryOf(::WordParser)
factoryOf(::DiceParser)
factoryOf(::ExpressionParser)
}
val useCaseDependencies
get() = module {
factoryOf(::SkillStepUseCase)
factoryOf(::RollUseCase)
factoryOf(::SkillValueComputationUseCase)
factoryOf(::ExpressionUseCase)
factoryOf(::CharacterSheetUseCase)
factoryOf(::SettingsUseCase)
}