Commit 1bcadd3c authored by Savva Golubitsky's avatar Savva Golubitsky

init added and some minor changes

parent 7ccebc95
{
"python.linting.enabled": true
}
\ No newline at end of file
......@@ -30,7 +30,7 @@ class Edge(object):
'_morphism',
'_io_mapping',
'preprocess',
'postprocess',
'postprocess'
]
def __init__(self, predicate, morphism,
io_mapping=InOutMapping(),
......
This diff is collapsed.
import re
import graph as gr
from edge import *
import comsdk.graph as gr
from comsdk.edge import *
import importlib as imp
from typing import NamedTuple
from enum import Enum, auto
......@@ -57,10 +57,6 @@ class GraphFactory():
fu = getattr(morph, m)
func_f = getattr(imp.import_module(fu.module), fu.entry_func)
return pred_f, func_f
def connect_states(self, st1, st2, morphism=None):
pass
# self.states[st1].connect_to(self.states[st2])
......
digraph CODEOBJECT_GENERATOR
{
// Определения функций-обработчиков
FUNC_1 [module=case_gen_funcs, entry_func=function_1]
FUNC_2 [module=case_gen_funcs, entry_func=function_2]
FUNC_3 [module=case_gen_funcs, entry_func=function_3]
SAVE_TO_DB [module=case_gen_funcs, entry_func=save_to_db]
SAVE_TO_FILE [module=case_gen_funcs, entry_func=save_to_file]
REPEAT [module=case_gen_funcs, entry_func=repeat]
EXIT [module=case_gen_funcs, entry_func=exit]
CREATE_DUMP [module=case_gen_funcs, entry_func=create_dump]
// Определения функций-предикатов
PREDICATE_X [module=predicate_funcs, entry_func=predicate_x]
PREDICATE_Y [module=predicate_funcs, entry_func=predicate_y]
SELECTOR [module=predicate_funcs, entry_func=selector]
// Определения функций перехода
EDGE_1 [predicate=PREDICATE_X, function=FUNC_1]
EDGE_2 [predicate=PREDICATE_Y, function=FUNC_2]
EDGE_3 [predicate=PREDICATE_X, function=FUNC_3]
EDGE_4 [predicate=PREDICATE_Y, function=SAVE_TO_DB]
EDGE_5 [predicate=PREDICATE_X, function=SAVE_TO_FILE]
EDGE_6 [predicate=PREDICATE_Y, function=REPEAT]
EDGE_7 [predicate=PREDICATE_X, function=EXIT]
EDGE_8 [function=EXIT]
EDGE_9 [predicate=CHECK_DUMP, function=EXIT]
EDGE_10 [function=CREATE_DUMP]
// В узле указана стратегия распараллеливания
CONTENT_SUBSTITUTED [parallelism=threading]
// Определение графовой модели
__BEGIN__ -> INPUT_READY
INPUT_READY -> TEPMLATE_COPIED [morphism=EDGE_1]
TEPMLATE_COPIED -> NAMES_SUBSTITUTED [morphism=EDGE_2]
NAMES_SUBSTITUTED -> CONTENT_SUBSTITUTED [morphism=EDGE_3]
CONTENT_SUBSTITUTED -> DUMP_CREATED [morphism=EDGE_10]
CONTENT_SUBSTITUTED -> RESULT_SAVED [morphism=EDGE_4]
CONTENT_SUBSTITUTED -> RESULT_SAVED [morphism=EDGE_5, comment="test comment to cpp"]
// В зависимости от результата вычисления функции-SELECTOR осуществляется переход по
//первому или второму ребру
RESULT_SAVED -> INPUT_READY,__END__ [selector=SELECTOR, morphism=(EDGE_6, EDGE_7)]
RESULT_SAVED, DUMP_CREATED -> __END__ [morphism=(EDGE_8, EDGE_9)]
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment