From e59dff7b1a66405afeaa40a6ea6f1ea52d976e48 Mon Sep 17 00:00:00 2001 From: taiseiKMC Date: Wed, 19 Nov 2025 20:47:44 +0900 Subject: [PATCH 01/14] Experimental Implementation --- src/automata_operation.hh | 20 +++++++-------- src/automaton.hh | 8 +++--- src/automaton_parser.hh | 53 ++++++++++++++++++++++++++++----------- src/main.cc | 20 +++++++-------- src/symon_parser.hh | 24 +++++++++--------- src/timing_constraint.hh | 45 ++++++++++++++++++++------------- 6 files changed, 101 insertions(+), 69 deletions(-) diff --git a/src/automata_operation.hh b/src/automata_operation.hh index 2862afa..7c9d700 100644 --- a/src/automata_operation.hh +++ b/src/automata_operation.hh @@ -177,7 +177,7 @@ bool acceptsEmptyWord(const TimedAutomaton +template TimedAutomaton concatenate(TimedAutomaton &&left, TimedAutomaton &&right) { @@ -261,7 +261,7 @@ concatenate(TimedAutomatonnext) { for (auto &transition: transitions) { // Update the guard to include the new clock variable - if constexpr (std::is_same_v>) { + if constexpr (std::is_same_v>>) { transition.guard = adjustDimension(transition.guard, left.clockVariableSize); } else if constexpr (std::is_same_v) { transition.guard = adjustDimension(transition.guard, left.clockVariableSize + left.parameterSize); @@ -350,7 +350,7 @@ star(TimedAutomaton +template TimedAutomaton timeRestriction(TimedAutomaton &&given, TimingConstraint guard) { @@ -358,8 +358,8 @@ timeRestriction(TimedAutomaton>) { - TimingValuation clockValuation(given.clockVariableSize, 0); + if constexpr (std::is_same_v>>) { + TimingValuation