Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
OpenGEODE
Commits
b056d66d
Commit
b056d66d
authored
Oct 22, 2015
by
Maxime Perrotin
Browse files
Merge pull request #33 from maxime-esa/state_aggregation
State aggregation
parents
d1c60c7a
62d30cc2
Changes
2
Hide whitespace changes
Inline
Side-by-side
opengeode/AdaGenerator.py
View file @
b056d66d
...
...
@@ -379,7 +379,6 @@ package {process_name} is'''.format(process_name=process_name,
taste_template
.
extend
(
dll_api
)
# Generate the code for each input signal (provided interface) and timers
print
process
.
input_signals
for
signal
in
process
.
input_signals
+
[
{
'name'
:
timer
.
lower
()}
for
timer
in
process
.
timers
]:
signame
=
signal
.
get
(
'name'
,
u
'START'
)
...
...
@@ -1991,7 +1990,7 @@ def _transition(tr, **kwargs):
if
tr
.
terminator
.
next_is_aggregation
:
statement
=
u
'{};'
.
format
(
nid
)
else
:
statement
=
u
't
d
Id := {};'
.
format
(
nid
)
statement
=
u
't
r
Id := {};'
.
format
(
nid
)
code
.
extend
([
u
'when {} =>'
.
format
(
u
'|'
.
join
(
sta
)),
statement
])
...
...
tests/regression/test-aggregation2/og.pr
View file @
b056d66d
...
...
@@ -24,33 +24,6 @@ for_b;
PROCESS og;
STATE AGGREGATION wait;
SUBSTRUCTURE
STATE b;
SUBSTRUCTURE
/* CIF START (146, 55), (70, 35) */
START;
/* CIF PROCEDURECALL (77, 105), (208, 35) */
CALL writeln('[b] startup');
/* CIF NEXTSTATE (146, 155), (70, 35) */
NEXTSTATE b1;
/* CIF STATE (392, 144), (70, 35) */
STATE b2;
/* CIF INPUT (388, 199), (79, 35) */
INPUT for_a;
/* CIF PROCEDURECALL (308, 249), (239, 35) */
CALL writeln('[b] Going to b1');
/* CIF NEXTSTATE (392, 299), (70, 35) */
NEXTSTATE b1;
ENDSTATE;
/* CIF STATE (146, 155), (70, 35) */
STATE b1;
/* CIF INPUT (138, 210), (80, 35) */
INPUT for_b;
/* CIF PROCEDURECALL (58, 260), (239, 35) */
CALL writeln('[b] Going to b2');
/* CIF NEXTSTATE (143, 310), (70, 35) */
NEXTSTATE b2;
ENDSTATE;
ENDSUBSTRUCTURE;
STATE a;
SUBSTRUCTURE
/* CIF START (134, 57), (70, 35) */
...
...
@@ -78,12 +51,39 @@ for_b;
NEXTSTATE a2;
ENDSTATE;
ENDSUBSTRUCTURE;
/* CIF STATE (170, 50), (70, 35) */
STATE a;
ENDSTATE;
STATE b;
SUBSTRUCTURE
/* CIF START (146, 55), (70, 35) */
START;
/* CIF PROCEDURECALL (77, 105), (208, 35) */
CALL writeln('[b] startup');
/* CIF NEXTSTATE (146, 155), (70, 35) */
NEXTSTATE b1;
/* CIF STATE (392, 144), (70, 35) */
STATE b2;
/* CIF INPUT (388, 199), (79, 35) */
INPUT for_b;
/* CIF PROCEDURECALL (308, 249), (239, 35) */
CALL writeln('[b] Going to b1');
/* CIF NEXTSTATE (392, 299), (70, 35) */
NEXTSTATE b1;
ENDSTATE;
/* CIF STATE (146, 155), (70, 35) */
STATE b1;
/* CIF INPUT (138, 210), (80, 35) */
INPUT for_b;
/* CIF PROCEDURECALL (58, 260), (239, 35) */
CALL writeln('[b] Going to b2');
/* CIF NEXTSTATE (143, 310), (70, 35) */
NEXTSTATE b2;
ENDSTATE;
ENDSUBSTRUCTURE;
/* CIF STATE (170, 160), (70, 35) */
STATE b;
ENDSTATE;
/* CIF STATE (170, 50), (70, 35) */
STATE a;
ENDSTATE;
ENDSUBSTRUCTURE;
/* CIF TEXT (522, 328), (287, 140) */
-- Text area for declarations and comments
...
...
@@ -94,18 +94,18 @@ dcl x myInteger;
START;
/* CIF NEXTSTATE (226, 299), (70, 35) */
NEXTSTATE wait;
/* CIF STATE (487, 484), (70, 35) */
STATE wait;
ENDSTATE;
/* CIF STATE (226, 299), (70, 35) */
STATE wait;
/* CIF INPUT (207, 354), (107, 35) */
INPUT reset_all(x);
/* CIF PROCEDURECALL (17
4
, 404), (174, 35) */
/* CIF PROCEDURECALL (17
3
, 404), (174, 35) */
CALL writeln('reset');
/* CIF NEXTSTATE (22
6
, 454), (70, 35) */
/* CIF NEXTSTATE (22
5
, 454), (70, 35) */
NEXTSTATE -;
ENDSTATE;
/* CIF STATE (487, 484), (70, 35) */
STATE wait;
ENDSTATE;
ENDPROCESS og;
ENDBLOCK;
ENDSYSTEM;
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment