scrall 0.8.2__tar.gz → 0.8.3__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 (26) hide show
  1. {scrall-0.8.2/src/scrall.egg-info → scrall-0.8.3}/PKG-INFO +1 -1
  2. {scrall-0.8.2 → scrall-0.8.3}/pyproject.toml +1 -1
  3. scrall-0.8.3/src/scrall/__init__.py +1 -0
  4. {scrall-0.8.2 → scrall-0.8.3}/src/scrall/__main__.py +1 -0
  5. {scrall-0.8.2 → scrall-0.8.3}/src/scrall/parse/scrall.peg +4 -3
  6. {scrall-0.8.2 → scrall-0.8.3}/src/scrall/parse/visitor.py +11 -2
  7. {scrall-0.8.2 → scrall-0.8.3/src/scrall.egg-info}/PKG-INFO +1 -1
  8. scrall-0.8.2/src/scrall/__init__.py +0 -1
  9. {scrall-0.8.2 → scrall-0.8.3}/LICENSE +0 -0
  10. {scrall-0.8.2 → scrall-0.8.3}/MANIFEST.in +0 -0
  11. {scrall-0.8.2 → scrall-0.8.3}/README.md +0 -0
  12. {scrall-0.8.2 → scrall-0.8.3}/setup.cfg +0 -0
  13. {scrall-0.8.2 → scrall-0.8.3}/src/scrall/exceptions.py +0 -0
  14. {scrall-0.8.2 → scrall-0.8.3}/src/scrall/log.conf +0 -0
  15. {scrall-0.8.2 → scrall-0.8.3}/src/scrall/parse/__init__.py +0 -0
  16. {scrall-0.8.2 → scrall-0.8.3}/src/scrall/parse/parser.py +0 -0
  17. {scrall-0.8.2 → scrall-0.8.3}/src/scrall.egg-info/SOURCES.txt +0 -0
  18. {scrall-0.8.2 → scrall-0.8.3}/src/scrall.egg-info/dependency_links.txt +0 -0
  19. {scrall-0.8.2 → scrall-0.8.3}/src/scrall.egg-info/entry_points.txt +0 -0
  20. {scrall-0.8.2 → scrall-0.8.3}/src/scrall.egg-info/requires.txt +0 -0
  21. {scrall-0.8.2 → scrall-0.8.3}/src/scrall.egg-info/top_level.txt +0 -0
  22. {scrall-0.8.2 → scrall-0.8.3}/tests/test_delete.py +0 -0
  23. {scrall-0.8.2 → scrall-0.8.3}/tests/test_ping_actions.py +0 -0
  24. {scrall-0.8.2 → scrall-0.8.3}/tests/test_selection.py +0 -0
  25. {scrall-0.8.2 → scrall-0.8.3}/tests/test_signals.py +0 -0
  26. {scrall-0.8.2 → scrall-0.8.3}/tests/test_state_actions.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scrall
3
- Version: 0.8.2
3
+ Version: 0.8.3
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.8.2"
7
+ version = "0.8.3"
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.8.3"
@@ -63,6 +63,7 @@ def main():
63
63
  text = args.expr + '\n'
64
64
  d = args.debug
65
65
  result = ScrallParser.parse_text(scrall_text=text, debug=d)
66
+ pass
66
67
 
67
68
  if args.file:
68
69
  fpath = Path(args.file)
@@ -73,7 +73,7 @@ ASYNCH = '=>'
73
73
  inst_assignment = flow_output SP+ INST_ASSIGN SP+ instance_set
74
74
  INST_ASSIGN = '.=' / '..='
75
75
 
76
- // Synchronous call action (method or ee operation)
76
+ // Synchronous call action (method or ee operation or type operation)
77
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
79
  owner = name
@@ -115,9 +115,10 @@ delete = '!*' SP* instance_set (',' SP+ instance_set)* // supports multi-delete
115
115
  // Scalar call
116
116
  //scalar_call = scalar_expr
117
117
 
118
- // math and boolean operator precedence
118
+ // Scalar assignment
119
119
  scalar_assignment = scalar_output_set SP* SCALAR_ASSIGN SP* scalar_expr projection? (',' SP* scalar_expr projection?)*
120
- scalar_output_set = flow_output (',' SP+ flow_output)*
120
+ scalar_output_set = qualified_name / flow_output (',' SP+ flow_output)*
121
+ qualified_name = name '.' name
121
122
  flow_output = name (TYPE_ASSIGN name)?
122
123
  projection = '.' (name / '(' ( (ALL / (name (',' SP+ name)*) )? ')')) // TODO: Why is empty () ok in projection?
123
124
  ALL = '*'
@@ -41,6 +41,7 @@ BOOL_a = namedtuple('BOOL_a', 'op operands')
41
41
  Scalar_Assignment_a = namedtuple('Scalar_Assignment_a', 'lhs rhs')
42
42
  Table_Assignment_a = namedtuple('Table_Assignment_a', 'type assign_tuple lhs rhs X')
43
43
  Scalar_RHS_a = namedtuple('Scalar_RHS_a', 'expr attrs')
44
+ Qualified_Name_a = namedtuple('Qualified_Name_a', 'cname aname')
44
45
  Flow_Output_a = namedtuple('Flow_Output_a', 'name exp_type')
45
46
  PATH_a = namedtuple('PATH_a', 'hops')
46
47
  INST_a = namedtuple('INST_a', 'components')
@@ -1093,7 +1094,7 @@ class ScrallVisitor(PTNodeVisitor):
1093
1094
  _logger.info(f" > {result}")
1094
1095
  return result
1095
1096
 
1096
- # Math and boolean operator precedence
1097
+ # Scalar Assigment
1097
1098
  @classmethod
1098
1099
  def visit_scalar_assignment(cls, node, children):
1099
1100
  """
@@ -1110,11 +1111,19 @@ class ScrallVisitor(PTNodeVisitor):
1110
1111
  _logger.info(f" > {result}")
1111
1112
  return result
1112
1113
 
1114
+ @classmethod
1115
+ def visit_qualified_name(cls, node, children):
1116
+ """
1117
+ """
1118
+ _logger.info("qualified_name = name '.' name")
1119
+ _logger.info(f' :: {node.value}')
1120
+ return Qualified_Name_a(cname=children[0].name, aname=children[1].name)
1121
+
1113
1122
  @classmethod
1114
1123
  def visit_scalar_output_set(cls, node, children):
1115
1124
  """
1116
1125
  """
1117
- _logger.info("scalar_output_set = flow_output (',' flow_output)*")
1126
+ _logger.info("scalar_output_set = qualified_name / flow_output (',' SP+ flow_output)*")
1118
1127
  _logger.info(f' :: {node.value}')
1119
1128
 
1120
1129
  _logger.info(f" < {children}")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scrall
3
- Version: 0.8.2
3
+ Version: 0.8.3
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
@@ -1 +0,0 @@
1
- version = "0.8.2"
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