Remove duped code

This commit is contained in:
Joeri Exelmans 2024-10-29 16:22:29 +01:00
parent 7338a6675d
commit d671c5d71a

View file

@ -1,14 +1,10 @@
import functools import functools
import random
import math
from state.devstate import DevState from state.devstate import DevState
from bootstrap.scd import bootstrap_scd from bootstrap.scd import bootstrap_scd
from framework.conformance import Conformance, render_conformance_check_result from framework.conformance import Conformance, render_conformance_check_result
from concrete_syntax.textual_od import parser, renderer from concrete_syntax.textual_od import parser, renderer
from concrete_syntax.common import indent
from concrete_syntax.plantuml import renderer as plantuml from concrete_syntax.plantuml import renderer as plantuml
from util import prompt
from api.od import ODAPI from api.od import ODAPI
from examples.semantics.operational.simulator import Simulator, RandomDecisionMaker, InteractiveDecisionMaker, make_actions_pure, filter_valid_actions from examples.semantics.operational.simulator import Simulator, RandomDecisionMaker, InteractiveDecisionMaker, make_actions_pure, filter_valid_actions
@ -128,22 +124,6 @@ woods_rt_mm_cs = woods_mm_cs + """
} }
""" """
woods_mm = parser.parse_od(
state,
m_text=woods_mm_cs,
mm=scd_mmm)
conf = Conformance(state, woods_mm, scd_mmm)
print("MM ...", render_conformance_check_result(conf.check_nominal()))
woods_rt_mm = parser.parse_od(
state,
m_text=woods_rt_mm_cs,
mm=scd_mmm)
conf = Conformance(state, woods_rt_mm, scd_mmm)
print("RT-MM ...", render_conformance_check_result(conf.check_nominal()))
# Our design model - the part that doesn't change # Our design model - the part that doesn't change
woods_m_cs = """ woods_m_cs = """
george:Man { george:Man {
@ -194,21 +174,19 @@ woods_rt_initial_m_cs = woods_m_cs + """
} }
""" """
woods_m = parser.parse_od( def parse_and_check(m_cs: str, mm, descr: str):
state, m = parser.parse_od(
m_text=woods_m_cs, state,
mm=woods_mm) m_text=m_cs,
mm=mm)
conf = Conformance(state, m, mm)
print(descr, "...", render_conformance_check_result(conf.check_nominal()))
return m
conf = Conformance(state, woods_m, woods_mm) woods_mm = parse_and_check(woods_mm_cs, scd_mmm, "MM")
print("M ...", render_conformance_check_result(conf.check_nominal())) woods_rt_mm = parse_and_check(woods_rt_mm_cs, scd_mmm, "RT-MM")
woods_m = parse_and_check(woods_m_cs, woods_mm, "M")
woods_rt_m = parser.parse_od( woods_rt_m = parse_and_check(woods_rt_initial_m_cs, woods_rt_mm, "RT-M")
state,
m_text=woods_rt_initial_m_cs,
mm=woods_rt_mm)
conf = Conformance(state, woods_rt_m, woods_rt_mm)
print("RT-M ...", render_conformance_check_result(conf.check_nominal()))
print() print()
@ -277,7 +255,7 @@ def get_all_actions(od):
# can always advance time: # can always advance time:
yield ("advance time", action_advance_time) yield ("advance time", action_advance_time)
# who can attack whom? # if A is afraid of B, then B can attack A:
for _, afraid_link in od.get_all_instances("afraidOf"): for _, afraid_link in od.get_all_instances("afraidOf"):
man = od.get_source(afraid_link) man = od.get_source(afraid_link)
animal = od.get_target(afraid_link) animal = od.get_target(afraid_link)