cobol-parser 3.0.0__tar.gz → 3.1.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.
Files changed (213) hide show
  1. {cobol_parser-3.0.0/cobol_parser.egg-info → cobol_parser-3.1.0}/PKG-INFO +18 -3
  2. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/README.md +14 -2
  3. {cobol_parser-3.0.0 → cobol_parser-3.1.0/cobol_parser.egg-info}/PKG-INFO +18 -3
  4. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobol_parser.egg-info/SOURCES.txt +11 -0
  5. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobol_parser.egg-info/requires.txt +4 -0
  6. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/__init__.py +1 -1
  7. cobol_parser-3.1.0/cobolparser/_accel.py +27 -0
  8. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_data_fast.c +972 -675
  9. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_data_fast.pyx +18 -2
  10. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_literals.py +22 -0
  11. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_storage.py +3 -0
  12. cobol_parser-3.1.0/cobolparser/analysis/_cics.py +55 -0
  13. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/_sql_flow.py +1 -1
  14. cobol_parser-3.1.0/cobolparser/analysis/_sql_whenever.py +92 -0
  15. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/ast_diff.py +90 -6
  16. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/boundary_inventory.py +23 -2
  17. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/business_rules.py +83 -25
  18. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/codebase.py +415 -93
  19. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/complexity.py +5 -1
  20. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/const_fold.py +141 -3
  21. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/constraints.py +117 -21
  22. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/crud_matrix.py +3 -2
  23. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/dead_code.py +427 -104
  24. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/field_lineage.py +79 -7
  25. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/host_var_resolver.py +1 -1
  26. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/ims_segment_analyzer.py +9 -2
  27. cobol_parser-3.1.0/cobolparser/analysis/invocation_counts.py +635 -0
  28. cobol_parser-3.1.0/cobolparser/analysis/io_sequence.py +985 -0
  29. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/lineage_graph.py +10 -0
  30. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/lint.py +103 -15
  31. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/move_type_checker.py +244 -108
  32. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/program_flow/analyzer.py +66 -0
  33. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/program_flow/edges.py +34 -0
  34. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/program_flow/graph.py +38 -0
  35. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/program_flow/models.py +12 -0
  36. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/program_flow/scanner.py +80 -22
  37. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/program_signature.py +10 -5
  38. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/recursion_risk.py +175 -20
  39. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/redundancy.py +116 -36
  40. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/sql_cics_lint.py +147 -19
  41. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/technical_debt.py +29 -2
  42. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/unused_variables.py +34 -7
  43. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/value_tracker.py +20 -13
  44. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/xref.py +17 -7
  45. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/batch.py +36 -4
  46. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/cli/_project_config.py +24 -0
  47. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/cli/parse.py +216 -104
  48. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/config/project.py +14 -0
  49. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/core/registry.py +36 -2
  50. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/core/token_stream.py +3 -0
  51. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/dialects/ibm_enterprise.py +69 -15
  52. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/bundle.py +5 -3
  53. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/compare.py +6 -0
  54. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/copybook.py +56 -2
  55. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/dataset.py +38 -6
  56. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/decoding.py +142 -18
  57. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/encoding.py +175 -6
  58. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/layout.py +236 -10
  59. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/layout_offsets.py +96 -34
  60. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/options.py +6 -0
  61. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/program_layout.py +22 -7
  62. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/values.py +29 -3
  63. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/flowchart.py +9 -3
  64. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/program_fixtures.py +427 -54
  65. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/scenarios.py +78 -3
  66. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/lexer.py +67 -15
  67. cobol_parser-3.1.0/cobolparser/mcp/__init__.py +20 -0
  68. cobol_parser-3.1.0/cobolparser/mcp/codebase_index.py +432 -0
  69. cobol_parser-3.1.0/cobolparser/mcp/envelope.py +118 -0
  70. cobol_parser-3.1.0/cobolparser/mcp/server.py +320 -0
  71. cobol_parser-3.1.0/cobolparser/mcp/tools.py +1782 -0
  72. cobol_parser-3.1.0/cobolparser/mcp/workspace.py +579 -0
  73. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/data_items.py +24 -3
  74. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/program.py +42 -4
  75. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/sql_statements.py +11 -0
  76. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/call.py +16 -4
  77. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/control.py +53 -3
  78. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parser.py +105 -2
  79. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/data.py +6 -1
  80. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/data_clauses.py +35 -10
  81. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/data_file_description.py +21 -4
  82. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/data_special_entries.py +14 -3
  83. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/environment_sections.py +83 -10
  84. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/environment_select.py +31 -4
  85. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/procedure.py +6 -1
  86. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/procedure_boundaries.py +6 -0
  87. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/_conditions.py +14 -7
  88. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/_utils.py +152 -4
  89. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/arithmetic_parsers.py +19 -4
  90. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/call_parser.py +24 -14
  91. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/entry_parser.py +22 -4
  92. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/evaluate_parser.py +119 -14
  93. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/go_parser.py +7 -6
  94. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/ibm_exec_statements.py +50 -8
  95. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/if_parser.py +9 -0
  96. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/initialize_inspect_parsers.py +17 -9
  97. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/perform_parser.py +35 -0
  98. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/search_parser.py +36 -4
  99. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/sort_merge_parsers.py +69 -48
  100. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/stop_parser.py +5 -2
  101. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/string_unstring_parsers.py +17 -5
  102. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/xml_json_parser.py +25 -12
  103. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/preprocess/__init__.py +12 -7
  104. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/preprocess/copy_statement_parser.py +9 -3
  105. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/preprocess/copybook_expander.py +137 -4
  106. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/preprocess/models.py +12 -0
  107. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/preprocess/replace_statement.py +10 -1
  108. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/preprocess/source_format.py +48 -5
  109. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/scan.py +48 -4
  110. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/pyproject.toml +17 -3
  111. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/setup.py +23 -12
  112. cobol_parser-3.1.0/tests/test_okf_claims.py +84 -0
  113. cobol_parser-3.0.0/cobolparser/analysis/io_sequence.py +0 -597
  114. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/LICENSE +0 -0
  115. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/MANIFEST.in +0 -0
  116. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobol_parser.egg-info/dependency_links.txt +0 -0
  117. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobol_parser.egg-info/entry_points.txt +0 -0
  118. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobol_parser.egg-info/top_level.txt +0 -0
  119. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/__main__.py +0 -0
  120. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_errors.py +0 -0
  121. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_lexer_fast.c +0 -0
  122. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_lexer_fast.pyx +0 -0
  123. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_lines.py +0 -0
  124. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_preprocess_fast.c +0 -0
  125. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_preprocess_fast.pyx +0 -0
  126. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/_source_directive.py +0 -0
  127. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/__init__.py +0 -0
  128. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/_files.py +0 -0
  129. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/_names.py +0 -0
  130. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/_procedures.py +0 -0
  131. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/dclgen_check.py +0 -0
  132. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/domains.py +0 -0
  133. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/io_coverage_reporter.py +0 -0
  134. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/io_diagnostics.py +0 -0
  135. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/io_logger.py +0 -0
  136. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/language_env_analyzer.py +0 -0
  137. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/lineage_jcl.py +0 -0
  138. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/linkage_checker.py +0 -0
  139. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/program_flow/__init__.py +0 -0
  140. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/program_flow/condition_text.py +0 -0
  141. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/program_flow/cycles.py +0 -0
  142. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/analysis/program_flow/statement_text.py +0 -0
  143. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/cli/__init__.py +0 -0
  144. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/cli/coverage.py +0 -0
  145. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/config/__init__.py +0 -0
  146. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/config/_yaml.py +0 -0
  147. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/core/__init__.py +0 -0
  148. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/core/ast_factory.py +0 -0
  149. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/core/exceptions.py +0 -0
  150. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/core/interfaces.py +0 -0
  151. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/dialects/__init__.py +0 -0
  152. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/dialects/le_signatures.py +0 -0
  153. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/__init__.py +0 -0
  154. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/copybook_data.py +0 -0
  155. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/__init__.py +0 -0
  156. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/editing.py +0 -0
  157. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/errors.py +0 -0
  158. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/storage.py +0 -0
  159. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/data/views.py +0 -0
  160. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/generators/verification.py +0 -0
  161. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/jcl/__init__.py +0 -0
  162. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/jcl/bindings.py +0 -0
  163. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/jcl/models.py +0 -0
  164. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/jcl/parser.py +0 -0
  165. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/__init__.py +0 -0
  166. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/ast_base.py +0 -0
  167. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/__init__.py +0 -0
  168. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/arithmetic.py +0 -0
  169. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/base.py +0 -0
  170. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/communication.py +0 -0
  171. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/data.py +0 -0
  172. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/io.py +0 -0
  173. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/legacy.py +0 -0
  174. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/misc.py +0 -0
  175. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/models/statements/report_writer.py +0 -0
  176. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/__init__.py +0 -0
  177. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/__init__.py +0 -0
  178. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/base.py +0 -0
  179. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/data_report_description.py +0 -0
  180. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/environment.py +0 -0
  181. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/factory.py +0 -0
  182. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/identification.py +0 -0
  183. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/procedure_recovery.py +0 -0
  184. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/divisions/procedure_registry.py +0 -0
  185. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/__init__.py +0 -0
  186. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/accept_parser.py +0 -0
  187. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/allocate_free_parsers.py +0 -0
  188. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/close_parser.py +0 -0
  189. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/communication_parsers.py +0 -0
  190. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/delete_parser.py +0 -0
  191. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/display_parser.py +0 -0
  192. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/exception_parsers.py +0 -0
  193. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/invoke_parser.py +0 -0
  194. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/legacy_verb_parsers.py +0 -0
  195. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/move_parser.py +0 -0
  196. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/open_parser.py +0 -0
  197. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/read_parser.py +0 -0
  198. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/report_writer_parsers.py +0 -0
  199. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/rewrite_parser.py +0 -0
  200. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/set_parser.py +0 -0
  201. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/simple_statement_parsers.py +0 -0
  202. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/start_parser.py +0 -0
  203. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/unlock_parser.py +0 -0
  204. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/parsers/statements/write_parser.py +0 -0
  205. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/plugins/__init__.py +0 -0
  206. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/plugins/core.py +0 -0
  207. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/preprocess/_normalize.py +0 -0
  208. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/preprocess/path_resolver.py +0 -0
  209. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/profiling.py +0 -0
  210. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/cobolparser/py.typed +0 -0
  211. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/setup.cfg +0 -0
  212. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/tests/test_all_samples.py +0 -0
  213. {cobol_parser-3.0.0 → cobol_parser-3.1.0}/tests/test_okf_staleness_map.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cobol-parser
3
- Version: 3.0.0
3
+ Version: 3.1.0
4
4
  Summary: A comprehensive COBOL parser for Python with IBM Enterprise COBOL focus
5
5
  Author-email: Samuel Dion <sam94dion@gmail.com>
6
6
  License: AGPL-3.0-or-later
@@ -25,8 +25,11 @@ Provides-Extra: fast
25
25
  Requires-Dist: cython>=3.0; extra == "fast"
26
26
  Provides-Extra: jcl
27
27
  Requires-Dist: jcl-parser>=2.0.0; extra == "jcl"
28
+ Provides-Extra: mcp
29
+ Requires-Dist: mcp<2,>=1.10; extra == "mcp"
28
30
  Provides-Extra: dev
29
31
  Requires-Dist: jcl-parser>=2.0.0; extra == "dev"
32
+ Requires-Dist: mcp<2,>=1.10; extra == "dev"
30
33
  Requires-Dist: pytest>=7.0.0; extra == "dev"
31
34
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
32
35
  Requires-Dist: pytest-xdist>=3.0.0; extra == "dev"
@@ -68,8 +71,20 @@ uv tool install . # from a clone of this repo
68
71
  uv tool install --editable . # dev mode: picks up code changes without reinstalling
69
72
  ```
70
73
 
71
- `uv tool install` builds the Cython fast-path extensions as part of the
72
- install, so the CLI runs at full speed. Verify it worked from anywhere:
74
+ The install is pure Python by default: no C compiler needed. The optional
75
+ Cython accelerators (about 3x lexer throughput) are an opt-in, chosen by one
76
+ environment variable both when building and when running:
77
+
78
+ ```bash
79
+ COBOLPARSER_ACCEL=1 uv tool install . --reinstall # compile them
80
+ export COBOLPARSER_ACCEL=1 # and use them
81
+ ```
82
+
83
+ The PyPI wheels already contain the compiled accelerators, so for a
84
+ `pip install cobol-parser` setting `COBOLPARSER_ACCEL=1` at run time is
85
+ enough. Without the variable, a compiled extension is ignored.
86
+
87
+ Verify it worked from anywhere:
73
88
 
74
89
  ```bash
75
90
  cobol-parser --version
@@ -25,8 +25,20 @@ uv tool install . # from a clone of this repo
25
25
  uv tool install --editable . # dev mode: picks up code changes without reinstalling
26
26
  ```
27
27
 
28
- `uv tool install` builds the Cython fast-path extensions as part of the
29
- install, so the CLI runs at full speed. Verify it worked from anywhere:
28
+ The install is pure Python by default: no C compiler needed. The optional
29
+ Cython accelerators (about 3x lexer throughput) are an opt-in, chosen by one
30
+ environment variable both when building and when running:
31
+
32
+ ```bash
33
+ COBOLPARSER_ACCEL=1 uv tool install . --reinstall # compile them
34
+ export COBOLPARSER_ACCEL=1 # and use them
35
+ ```
36
+
37
+ The PyPI wheels already contain the compiled accelerators, so for a
38
+ `pip install cobol-parser` setting `COBOLPARSER_ACCEL=1` at run time is
39
+ enough. Without the variable, a compiled extension is ignored.
40
+
41
+ Verify it worked from anywhere:
30
42
 
31
43
  ```bash
32
44
  cobol-parser --version
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cobol-parser
3
- Version: 3.0.0
3
+ Version: 3.1.0
4
4
  Summary: A comprehensive COBOL parser for Python with IBM Enterprise COBOL focus
5
5
  Author-email: Samuel Dion <sam94dion@gmail.com>
6
6
  License: AGPL-3.0-or-later
@@ -25,8 +25,11 @@ Provides-Extra: fast
25
25
  Requires-Dist: cython>=3.0; extra == "fast"
26
26
  Provides-Extra: jcl
27
27
  Requires-Dist: jcl-parser>=2.0.0; extra == "jcl"
28
+ Provides-Extra: mcp
29
+ Requires-Dist: mcp<2,>=1.10; extra == "mcp"
28
30
  Provides-Extra: dev
29
31
  Requires-Dist: jcl-parser>=2.0.0; extra == "dev"
32
+ Requires-Dist: mcp<2,>=1.10; extra == "dev"
30
33
  Requires-Dist: pytest>=7.0.0; extra == "dev"
31
34
  Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
32
35
  Requires-Dist: pytest-xdist>=3.0.0; extra == "dev"
@@ -68,8 +71,20 @@ uv tool install . # from a clone of this repo
68
71
  uv tool install --editable . # dev mode: picks up code changes without reinstalling
69
72
  ```
70
73
 
71
- `uv tool install` builds the Cython fast-path extensions as part of the
72
- install, so the CLI runs at full speed. Verify it worked from anywhere:
74
+ The install is pure Python by default: no C compiler needed. The optional
75
+ Cython accelerators (about 3x lexer throughput) are an opt-in, chosen by one
76
+ environment variable both when building and when running:
77
+
78
+ ```bash
79
+ COBOLPARSER_ACCEL=1 uv tool install . --reinstall # compile them
80
+ export COBOLPARSER_ACCEL=1 # and use them
81
+ ```
82
+
83
+ The PyPI wheels already contain the compiled accelerators, so for a
84
+ `pip install cobol-parser` setting `COBOLPARSER_ACCEL=1` at run time is
85
+ enough. Without the variable, a compiled extension is ignored.
86
+
87
+ Verify it worked from anywhere:
73
88
 
74
89
  ```bash
75
90
  cobol-parser --version
@@ -11,6 +11,7 @@ cobol_parser.egg-info/requires.txt
11
11
  cobol_parser.egg-info/top_level.txt
12
12
  cobolparser/__init__.py
13
13
  cobolparser/__main__.py
14
+ cobolparser/_accel.py
14
15
  cobolparser/_data_fast.c
15
16
  cobolparser/_data_fast.pyx
16
17
  cobolparser/_errors.py
@@ -29,10 +30,12 @@ cobolparser/profiling.py
29
30
  cobolparser/py.typed
30
31
  cobolparser/scan.py
31
32
  cobolparser/analysis/__init__.py
33
+ cobolparser/analysis/_cics.py
32
34
  cobolparser/analysis/_files.py
33
35
  cobolparser/analysis/_names.py
34
36
  cobolparser/analysis/_procedures.py
35
37
  cobolparser/analysis/_sql_flow.py
38
+ cobolparser/analysis/_sql_whenever.py
36
39
  cobolparser/analysis/ast_diff.py
37
40
  cobolparser/analysis/boundary_inventory.py
38
41
  cobolparser/analysis/business_rules.py
@@ -47,6 +50,7 @@ cobolparser/analysis/domains.py
47
50
  cobolparser/analysis/field_lineage.py
48
51
  cobolparser/analysis/host_var_resolver.py
49
52
  cobolparser/analysis/ims_segment_analyzer.py
53
+ cobolparser/analysis/invocation_counts.py
50
54
  cobolparser/analysis/io_coverage_reporter.py
51
55
  cobolparser/analysis/io_diagnostics.py
52
56
  cobolparser/analysis/io_logger.py
@@ -116,6 +120,12 @@ cobolparser/jcl/__init__.py
116
120
  cobolparser/jcl/bindings.py
117
121
  cobolparser/jcl/models.py
118
122
  cobolparser/jcl/parser.py
123
+ cobolparser/mcp/__init__.py
124
+ cobolparser/mcp/codebase_index.py
125
+ cobolparser/mcp/envelope.py
126
+ cobolparser/mcp/server.py
127
+ cobolparser/mcp/tools.py
128
+ cobolparser/mcp/workspace.py
119
129
  cobolparser/models/__init__.py
120
130
  cobolparser/models/ast_base.py
121
131
  cobolparser/models/data_items.py
@@ -196,4 +206,5 @@ cobolparser/preprocess/path_resolver.py
196
206
  cobolparser/preprocess/replace_statement.py
197
207
  cobolparser/preprocess/source_format.py
198
208
  tests/test_all_samples.py
209
+ tests/test_okf_claims.py
199
210
  tests/test_okf_staleness_map.py
@@ -1,6 +1,7 @@
1
1
 
2
2
  [dev]
3
3
  jcl-parser>=2.0.0
4
+ mcp<2,>=1.10
4
5
  pytest>=7.0.0
5
6
  pytest-cov>=4.0.0
6
7
  pytest-xdist>=3.0.0
@@ -19,5 +20,8 @@ cython>=3.0
19
20
  [jcl]
20
21
  jcl-parser>=2.0.0
21
22
 
23
+ [mcp]
24
+ mcp<2,>=1.10
25
+
22
26
  [profiling]
23
27
  psutil>=5.9
@@ -231,7 +231,7 @@ from .scan import (
231
231
  CobolParseError = ParseError
232
232
 
233
233
  # Version info
234
- __version__ = "3.0.0" # x-release-please-version
234
+ __version__ = "3.1.0" # x-release-please-version
235
235
  __author__ = "Samuel Dion"
236
236
  __license__ = "AGPL-3.0-or-later"
237
237
 
@@ -0,0 +1,27 @@
1
+ """Opt-in switch for the optional Cython accelerators.
2
+
3
+ The pure-Python implementation is the default backend. The three compiled
4
+ accelerators (``_lexer_fast``, ``_preprocess_fast``, ``_data_fast``) are used
5
+ only when ``COBOLPARSER_ACCEL=1`` is set in the environment -- at build time,
6
+ so ``setup.py`` compiles them, and at import time, so the modules that own a
7
+ fast path swap it in. An installed extension is ignored without the variable,
8
+ so a stale or mismatched binary can never change what a default install does.
9
+
10
+ Zero internal dependencies: ``setup.py`` does not import this module (it reads
11
+ the same variable itself), but every runtime import site does.
12
+ """
13
+
14
+ import os
15
+
16
+ ENV_VAR = "COBOLPARSER_ACCEL"
17
+
18
+ _TRUTHY = frozenset({"1", "true", "yes", "on"})
19
+
20
+
21
+ def accelerators_enabled() -> bool:
22
+ """True when the environment opts in to the Cython accelerators.
23
+
24
+ Read on every call rather than cached, so a test can flip the variable and
25
+ reload a module that owns a fast path.
26
+ """
27
+ return os.environ.get(ENV_VAR, "").strip().lower() in _TRUTHY