llparse 0.1.6__tar.gz → 0.1.7__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.
Files changed (40) hide show
  1. {llparse-0.1.6 → llparse-0.1.7}/PKG-INFO +1 -1
  2. {llparse-0.1.6 → llparse-0.1.7}/llparse/frontend.py +1 -0
  3. {llparse-0.1.6 → llparse-0.1.7}/llparse.egg-info/PKG-INFO +1 -1
  4. {llparse-0.1.6 → llparse-0.1.7}/pyproject.toml +1 -1
  5. {llparse-0.1.6 → llparse-0.1.7}/tests/test_frontend.py +13 -0
  6. {llparse-0.1.6 → llparse-0.1.7}/LICENSE +0 -0
  7. {llparse-0.1.6 → llparse-0.1.7}/README.md +0 -0
  8. {llparse-0.1.6 → llparse-0.1.7}/llparse/C_compiler.py +0 -0
  9. {llparse-0.1.6 → llparse-0.1.7}/llparse/__init__.py +0 -0
  10. {llparse-0.1.6 → llparse-0.1.7}/llparse/compilator.py +0 -0
  11. {llparse-0.1.6 → llparse-0.1.7}/llparse/constants.py +0 -0
  12. {llparse-0.1.6 → llparse-0.1.7}/llparse/cython_builder.py +0 -0
  13. {llparse-0.1.6 → llparse-0.1.7}/llparse/debug.py +0 -0
  14. {llparse-0.1.6 → llparse-0.1.7}/llparse/dot.py +0 -0
  15. {llparse-0.1.6 → llparse-0.1.7}/llparse/enumerator.py +0 -0
  16. {llparse-0.1.6 → llparse-0.1.7}/llparse/errors.py +0 -0
  17. {llparse-0.1.6 → llparse-0.1.7}/llparse/header.py +0 -0
  18. {llparse-0.1.6 → llparse-0.1.7}/llparse/llparse.py +0 -0
  19. {llparse-0.1.6 → llparse-0.1.7}/llparse/pybuilder/__init__.py +0 -0
  20. {llparse-0.1.6 → llparse-0.1.7}/llparse/pybuilder/builder.py +0 -0
  21. {llparse-0.1.6 → llparse-0.1.7}/llparse/pybuilder/loopchecker.py +0 -0
  22. {llparse-0.1.6 → llparse-0.1.7}/llparse/pybuilder/main_code.py +0 -0
  23. {llparse-0.1.6 → llparse-0.1.7}/llparse/pybuilder/parsemap.py +0 -0
  24. {llparse-0.1.6 → llparse-0.1.7}/llparse/pyfront/containers.py +0 -0
  25. {llparse-0.1.6 → llparse-0.1.7}/llparse/pyfront/front.py +0 -0
  26. {llparse-0.1.6 → llparse-0.1.7}/llparse/pyfront/implementation.py +0 -0
  27. {llparse-0.1.6 → llparse-0.1.7}/llparse/pyfront/namespace.py +0 -0
  28. {llparse-0.1.6 → llparse-0.1.7}/llparse/pyfront/nodes.py +0 -0
  29. {llparse-0.1.6 → llparse-0.1.7}/llparse/pyfront/peephole.py +0 -0
  30. {llparse-0.1.6 → llparse-0.1.7}/llparse/pyfront/transform.py +0 -0
  31. {llparse-0.1.6 → llparse-0.1.7}/llparse/settings.py +0 -0
  32. {llparse-0.1.6 → llparse-0.1.7}/llparse/spanalloc.py +0 -0
  33. {llparse-0.1.6 → llparse-0.1.7}/llparse/test.py +0 -0
  34. {llparse-0.1.6 → llparse-0.1.7}/llparse/trie.py +0 -0
  35. {llparse-0.1.6 → llparse-0.1.7}/llparse.egg-info/SOURCES.txt +0 -0
  36. {llparse-0.1.6 → llparse-0.1.7}/llparse.egg-info/dependency_links.txt +0 -0
  37. {llparse-0.1.6 → llparse-0.1.7}/llparse.egg-info/top_level.txt +0 -0
  38. {llparse-0.1.6 → llparse-0.1.7}/setup.cfg +0 -0
  39. {llparse-0.1.6 → llparse-0.1.7}/tests/test_loop_checker.py +0 -0
  40. {llparse-0.1.6 → llparse-0.1.7}/tests/test_span_allocator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: llparse
3
- Version: 0.1.6
3
+ Version: 0.1.7
4
4
  Summary: A Parody of llparse written for writing C Parsers with Python
5
5
  Author-email: Vizonex <VizonexBusiness@gmail.com>
6
6
  Requires-Python: >=3.9
@@ -190,6 +190,7 @@ class Frontend:
190
190
  if isinstance(
191
191
  node.ref,
192
192
  (
193
+ _frontend.node.Int,
193
194
  _frontend.node.Consume,
194
195
  _frontend.node.Empty,
195
196
  _frontend.node.Sequence,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: llparse
3
- Version: 0.1.6
3
+ Version: 0.1.7
4
4
  Summary: A Parody of llparse written for writing C Parsers with Python
5
5
  Author-email: Vizonex <VizonexBusiness@gmail.com>
6
6
  Requires-Python: >=3.9
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "llparse"
3
- version = "0.1.6"
3
+ version = "0.1.7"
4
4
  description = "A Parody of llparse written for writing C Parsers with Python"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -136,6 +136,19 @@ def test_pausing():
136
136
  s2.match("p", p.pause(2, "parser was asked to pause again").otherwise(s)).skipTo(s2)
137
137
  p.build(s)
138
138
 
139
+ def test_intnodes():
140
+ # IntNodes should be registered to llparse_state_t and should be a resumption target
141
+ # Otherwise we crash during dynamic streams of data this is a bug in 0.1.6 that is fixed in 0.1.7
142
+ p = LLParse("lltest")
143
+ p.property('i16', 'value')
144
+ start = p.node("start")
145
+ value = p.intBE('value', bits=2).skipTo(start)
146
+ start.skipTo(value)
147
+
148
+ artifacts = p.build(start)
149
+ code = artifacts.c.splitlines()
150
+ assert " case s_n_lltest__n_value_int_16be_byte2:" in code, "Int Node should be a resumption target"
151
+
139
152
 
140
153
  def test_operators(op: str):
141
154
  test = LLParse("test")
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes