scrall 0.9.4__tar.gz → 0.10.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of scrall might be problematic. Click here for more details.

Files changed (31) hide show
  1. {scrall-0.9.4/src/scrall.egg-info → scrall-0.10.0}/PKG-INFO +1 -1
  2. {scrall-0.9.4 → scrall-0.10.0}/pyproject.toml +1 -1
  3. scrall-0.10.0/src/scrall/__init__.py +1 -0
  4. {scrall-0.9.4 → scrall-0.10.0}/src/scrall/parse/scrall.peg +2 -2
  5. {scrall-0.9.4 → scrall-0.10.0}/src/scrall/parse/visitor.py +7 -2
  6. {scrall-0.9.4 → scrall-0.10.0/src/scrall.egg-info}/PKG-INFO +1 -1
  7. {scrall-0.9.4 → scrall-0.10.0}/tests/test_calls.py +31 -18
  8. scrall-0.9.4/src/scrall/__init__.py +0 -1
  9. {scrall-0.9.4 → scrall-0.10.0}/LICENSE +0 -0
  10. {scrall-0.9.4 → scrall-0.10.0}/MANIFEST.in +0 -0
  11. {scrall-0.9.4 → scrall-0.10.0}/README.md +0 -0
  12. {scrall-0.9.4 → scrall-0.10.0}/setup.cfg +0 -0
  13. {scrall-0.9.4 → scrall-0.10.0}/src/scrall/__main__.py +0 -0
  14. {scrall-0.9.4 → scrall-0.10.0}/src/scrall/exceptions.py +0 -0
  15. {scrall-0.9.4 → scrall-0.10.0}/src/scrall/log.conf +0 -0
  16. {scrall-0.9.4 → scrall-0.10.0}/src/scrall/parse/__init__.py +0 -0
  17. {scrall-0.9.4 → scrall-0.10.0}/src/scrall/parse/parser.py +0 -0
  18. {scrall-0.9.4 → scrall-0.10.0}/src/scrall.egg-info/SOURCES.txt +0 -0
  19. {scrall-0.9.4 → scrall-0.10.0}/src/scrall.egg-info/dependency_links.txt +0 -0
  20. {scrall-0.9.4 → scrall-0.10.0}/src/scrall.egg-info/entry_points.txt +0 -0
  21. {scrall-0.9.4 → scrall-0.10.0}/src/scrall.egg-info/requires.txt +0 -0
  22. {scrall-0.9.4 → scrall-0.10.0}/src/scrall.egg-info/top_level.txt +0 -0
  23. {scrall-0.9.4 → scrall-0.10.0}/tests/test_decision_scalar_expr.py +0 -0
  24. {scrall-0.9.4 → scrall-0.10.0}/tests/test_decision_wrap.py +0 -0
  25. {scrall-0.9.4 → scrall-0.10.0}/tests/test_decision_wrap_false.py +0 -0
  26. {scrall-0.9.4 → scrall-0.10.0}/tests/test_delete.py +0 -0
  27. {scrall-0.9.4 → scrall-0.10.0}/tests/test_operation.py +0 -0
  28. {scrall-0.9.4 → scrall-0.10.0}/tests/test_ping_actions.py +0 -0
  29. {scrall-0.9.4 → scrall-0.10.0}/tests/test_selection.py +0 -0
  30. {scrall-0.9.4 → scrall-0.10.0}/tests/test_signals.py +0 -0
  31. {scrall-0.9.4 → scrall-0.10.0}/tests/test_state_actions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scrall
3
- Version: 0.9.4
3
+ Version: 0.10.0
4
4
  Summary: Starr's Concise Relational Action Language - For Shlaer-Mellor Executable UML
5
5
  Author-email: Leon Starr <leon_starr@modelint.com>
6
6
  License: MIT License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "scrall"
7
- version = "0.9.4"
7
+ version = "0.10.0"
8
8
  description = "Starr's Concise Relational Action Language - For Shlaer-Mellor Executable UML"
9
9
  readme = "README.md"
10
10
  authors = [{ name = "Leon Starr", email = "leon_starr@modelint.com" }]
@@ -0,0 +1 @@
1
+ version = "0.10.0"
@@ -74,9 +74,9 @@ inst_assignment = flow_output SP+ INST_ASSIGN SP+ instance_set
74
74
  INST_ASSIGN = '.=' / '..='
75
75
 
76
76
  // Synchronous call action (method or ee operation or type operation)
77
- call = ('~' / instance_set) op_chain? // Post-parse verify that last element is an operation, otherwise invalid call
77
+ call = instance_set op_chain? // Post-parse verify that last element is an operation, otherwise invalid call
78
78
  operation = owner? '.' name supplied_params
79
- owner = name
79
+ owner = '~' / name
80
80
  supplied_params = '(' SP* (param (',' SP+ param)*)? SP* ')'
81
81
  param = (name SP* ':' SP*)? scalar_expr // Comma above keeps scalar_expr from grabbing next param
82
82
 
@@ -832,7 +832,7 @@ class ScrallVisitor(PTNodeVisitor):
832
832
  owner = children.results.get('owner')
833
833
  p = children.results.get('supplied_params')
834
834
  result = Op_a(
835
- owner='implicit' if not owner else owner[0],
835
+ owner='_implicit' if not owner else owner[0],
836
836
  op_name=children.results['name'][0].name,
837
837
  supplied_params=[] if not p else p[0]
838
838
  )
@@ -841,7 +841,12 @@ class ScrallVisitor(PTNodeVisitor):
841
841
 
842
842
  @classmethod
843
843
  def visit_owner(cls, node, children):
844
- result = ''.join(children)
844
+ """
845
+ '~' / name
846
+ """
847
+ name = children.results.get('name')
848
+ # This is either ~ signifying an external service or a single instance flow (instance set)
849
+ result = name[0].name if name else '_external'
845
850
  return result
846
851
 
847
852
  @classmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scrall
3
- Version: 0.9.4
3
+ Version: 0.10.0
4
4
  Summary: Starr's Concise Relational Action Language - For Shlaer-Mellor Executable UML
5
5
  Author-email: Leon Starr <leon_starr@modelint.com>
6
6
  License: MIT License
@@ -6,27 +6,40 @@ from scrall.parse.visitor import *
6
6
 
7
7
  actions = [
8
8
  ("~.Goto floor( Dest floor: ^new dest )",
9
- Execution_Unit_a(
10
- statement_set=Seq_Statement_Set_a(
11
- input_tokens=[],
12
- statement=Call_a(
13
- call=None,
14
- op_chain=Op_chain_a(
15
- components=[
16
- Scalar_op_a(
17
- name=N_a(name='Goto floor'),
9
+ Execution_Unit_a(
10
+ statement_set=Seq_Statement_Set_a(
11
+ input_tokens=[],
12
+ statement=Call_a(
13
+ call=INST_a(
14
+ components=[
15
+ Op_a(owner='_external', op_name='Goto floor',
18
16
  supplied_params=[
19
17
  Supplied_Parameter_a(
20
- pname='Dest floor',
21
- sval=IN_a(name='new dest')
18
+ pname='Dest floor', sval=IN_a(name='new dest')
22
19
  )
23
- ]
24
- )
25
- ]
26
- )
27
- ), block=None),
28
- output_token=None)
20
+ ])]), op_chain=None), block=None), output_token=None)
29
21
  ),
22
+ # Execution_Unit_a(
23
+ # statement_set=Seq_Statement_Set_a(
24
+ # input_tokens=[],
25
+ # statement=Call_a(
26
+ # call=None,
27
+ # op_chain=Op_chain_a(
28
+ # components=[
29
+ # Scalar_op_a(
30
+ # name=N_a(name='Goto floor'),
31
+ # supplied_params=[
32
+ # Supplied_Parameter_a(
33
+ # pname='Dest floor',
34
+ # sval=IN_a(name='new dest')
35
+ # )
36
+ # ]
37
+ # )
38
+ # ]
39
+ # )
40
+ # ), block=None),
41
+ # output_token=None)
42
+ # ),
30
43
  (".Ping( dir: Travel direction.opposite )",
31
44
  Execution_Unit_a(
32
45
  statement_set=Seq_Statement_Set_a(
@@ -35,7 +48,7 @@ actions = [
35
48
  call=INST_a(
36
49
  components=[
37
50
  Op_a(
38
- owner='implicit',
51
+ owner='_implicit',
39
52
  op_name='Ping',
40
53
  supplied_params=[
41
54
  Supplied_Parameter_a(
@@ -1 +0,0 @@
1
- version = "0.9.4"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes