tree-sitter-al 0.0.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 (637) hide show
  1. tree_sitter_al-0.0.0/.claude/rules/attributes.md +45 -0
  2. tree_sitter_al-0.0.0/.claude/rules/contextual-keywords.md +37 -0
  3. tree_sitter_al-0.0.0/.claude/rules/debugging.md +50 -0
  4. tree_sitter_al-0.0.0/.claude/rules/scanner.md +46 -0
  5. tree_sitter_al-0.0.0/.claude/rules/test-failures.md +36 -0
  6. tree_sitter_al-0.0.0/.editorconfig +43 -0
  7. tree_sitter_al-0.0.0/.gitattributes +13 -0
  8. tree_sitter_al-0.0.0/.github/workflows/build-wasm.yml +113 -0
  9. tree_sitter_al-0.0.0/.github/workflows/claude-code-review.yml +44 -0
  10. tree_sitter_al-0.0.0/.github/workflows/claude.yml +50 -0
  11. tree_sitter_al-0.0.0/.github/workflows/publish-pypi.yml +58 -0
  12. tree_sitter_al-0.0.0/.gitignore +110 -0
  13. tree_sitter_al-0.0.0/CLAUDE.md +222 -0
  14. tree_sitter_al-0.0.0/CMakeLists.txt +60 -0
  15. tree_sitter_al-0.0.0/Cargo.toml +27 -0
  16. tree_sitter_al-0.0.0/LICENSE +674 -0
  17. tree_sitter_al-0.0.0/MIGRATION_GUIDE.md +314 -0
  18. tree_sitter_al-0.0.0/Makefile +94 -0
  19. tree_sitter_al-0.0.0/PHASE4_UNSUPPORTED_PATTERNS.md +51 -0
  20. tree_sitter_al-0.0.0/PHASE6_STATUS.md +106 -0
  21. tree_sitter_al-0.0.0/PKG-INFO +276 -0
  22. tree_sitter_al-0.0.0/PROPERTY.md +1076 -0
  23. tree_sitter_al-0.0.0/Package.swift +37 -0
  24. tree_sitter_al-0.0.0/README.md +256 -0
  25. tree_sitter_al-0.0.0/REFACTOR_COMPLETE.md +188 -0
  26. tree_sitter_al-0.0.0/REMODEL.md +309 -0
  27. tree_sitter_al-0.0.0/REMODEL_PROGRESS.md +89 -0
  28. tree_sitter_al-0.0.0/RUSTREGEX_ANALYSIS.md +159 -0
  29. tree_sitter_al-0.0.0/VALIDATION_RESULTS.md +132 -0
  30. tree_sitter_al-0.0.0/analyze_parsing_errors.sh +60 -0
  31. tree_sitter_al-0.0.0/baseline_status.txt +1 -0
  32. tree_sitter_al-0.0.0/binding.gyp +30 -0
  33. tree_sitter_al-0.0.0/bindings/c/tree-sitter-al.h +16 -0
  34. tree_sitter_al-0.0.0/bindings/c/tree-sitter-al.pc.in +11 -0
  35. tree_sitter_al-0.0.0/bindings/go/binding.go +13 -0
  36. tree_sitter_al-0.0.0/bindings/go/binding_test.go +15 -0
  37. tree_sitter_al-0.0.0/bindings/go/go.mod +5 -0
  38. tree_sitter_al-0.0.0/bindings/node/binding.cc +20 -0
  39. tree_sitter_al-0.0.0/bindings/node/index.d.ts +28 -0
  40. tree_sitter_al-0.0.0/bindings/node/index.js +7 -0
  41. tree_sitter_al-0.0.0/bindings/python/tree_sitter_al/__init__.py +25 -0
  42. tree_sitter_al-0.0.0/bindings/python/tree_sitter_al/__init__.pyi +6 -0
  43. tree_sitter_al-0.0.0/bindings/python/tree_sitter_al/binding.c +35 -0
  44. tree_sitter_al-0.0.0/bindings/python/tree_sitter_al/py.typed +0 -0
  45. tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/PKG-INFO +276 -0
  46. tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/SOURCES.txt +635 -0
  47. tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/dependency_links.txt +1 -0
  48. tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/not-zip-safe +1 -0
  49. tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/requires.txt +3 -0
  50. tree_sitter_al-0.0.0/bindings/python/tree_sitter_al.egg-info/top_level.txt +2 -0
  51. tree_sitter_al-0.0.0/bindings/rust/build.rs +20 -0
  52. tree_sitter_al-0.0.0/bindings/rust/lib.rs +55 -0
  53. tree_sitter_al-0.0.0/bindings/swift/TreeSitterAl/al.h +16 -0
  54. tree_sitter_al-0.0.0/build-and-release.sh +149 -0
  55. tree_sitter_al-0.0.0/cleanup-deprecated-rules.sh +64 -0
  56. tree_sitter_al-0.0.0/complex_module_parsing_patterns.md +150 -0
  57. tree_sitter_al-0.0.0/docs/superpowers/plans/2026-03-20-consolidate-properties.md +372 -0
  58. tree_sitter_al-0.0.0/docs/superpowers/plans/2026-03-20-v2-phase1-scaffold.md +628 -0
  59. tree_sitter_al-0.0.0/docs/superpowers/specs/2026-03-20-consolidate-properties-design.md +180 -0
  60. tree_sitter_al-0.0.0/docs/superpowers/specs/2026-03-20-v2-grammar-design.md +232 -0
  61. tree_sitter_al-0.0.0/docs/v2-blog-post-notes.md +116 -0
  62. tree_sitter_al-0.0.0/failed_tests.txt +28 -0
  63. tree_sitter_al-0.0.0/failing_tests.txt +48 -0
  64. tree_sitter_al-0.0.0/failing_tests_clean.txt +48 -0
  65. tree_sitter_al-0.0.0/go.mod +5 -0
  66. tree_sitter_al-0.0.0/grammar.js +3338 -0
  67. tree_sitter_al-0.0.0/grammar.js.kw_backup +6727 -0
  68. tree_sitter_al-0.0.0/label_files.txt +50 -0
  69. tree_sitter_al-0.0.0/label_files2.txt +50 -0
  70. tree_sitter_al-0.0.0/package-lock.json +426 -0
  71. tree_sitter_al-0.0.0/package.json +58 -0
  72. tree_sitter_al-0.0.0/parse-al-parallel.sh +145 -0
  73. tree_sitter_al-0.0.0/parse-al.sh +118 -0
  74. tree_sitter_al-0.0.0/pyproject.toml +34 -0
  75. tree_sitter_al-0.0.0/queries/folds.scm +221 -0
  76. tree_sitter_al-0.0.0/queries/highlights.scm +605 -0
  77. tree_sitter_al-0.0.0/queries/indents.scm +193 -0
  78. tree_sitter_al-0.0.0/queries/locals.scm +110 -0
  79. tree_sitter_al-0.0.0/queries/tags.scm +226 -0
  80. tree_sitter_al-0.0.0/remaining_keywords_to_convert.md +173 -0
  81. tree_sitter_al-0.0.0/revert_kw.sh +182 -0
  82. tree_sitter_al-0.0.0/rustregex_patterns.txt +368 -0
  83. tree_sitter_al-0.0.0/setup.cfg +4 -0
  84. tree_sitter_al-0.0.0/setup.py +62 -0
  85. tree_sitter_al-0.0.0/src/grammar.json +16709 -0
  86. tree_sitter_al-0.0.0/src/node-types.json +30413 -0
  87. tree_sitter_al-0.0.0/src/parser.c +306023 -0
  88. tree_sitter_al-0.0.0/src/scanner.c +128 -0
  89. tree_sitter_al-0.0.0/src/tree_sitter/alloc.h +54 -0
  90. tree_sitter_al-0.0.0/src/tree_sitter/array.h +330 -0
  91. tree_sitter_al-0.0.0/src/tree_sitter/parser.h +286 -0
  92. tree_sitter_al-0.0.0/test/corpus/EmptyCodeblock.txt +30 -0
  93. tree_sitter_al-0.0.0/test/corpus/about_properties_in_fields.txt +165 -0
  94. tree_sitter_al-0.0.0/test/corpus/access_by_permission_all_object_types_test.txt +151 -0
  95. tree_sitter_al-0.0.0/test/corpus/access_by_permission_case_variations_test.txt +187 -0
  96. tree_sitter_al-0.0.0/test/corpus/access_by_permission_property_test.txt +209 -0
  97. tree_sitter_al-0.0.0/test/corpus/access_by_permission_system_objects_test.txt +45 -0
  98. tree_sitter_al-0.0.0/test/corpus/action_group_preprocessor_test.txt +148 -0
  99. tree_sitter_al-0.0.0/test/corpus/action_groups_and_shortcut_keys.txt +161 -0
  100. tree_sitter_al-0.0.0/test/corpus/action_image_case_insensitive_test.txt +264 -0
  101. tree_sitter_al-0.0.0/test/corpus/action_types.txt +124 -0
  102. tree_sitter_al-0.0.0/test/corpus/additional_search_terms_locked.txt +111 -0
  103. tree_sitter_al-0.0.0/test/corpus/additional_search_terms_property_test.txt +127 -0
  104. tree_sitter_al-0.0.0/test/corpus/al_built_in_functions.txt +267 -0
  105. tree_sitter_al-0.0.0/test/corpus/allow_in_customizations_case_test.txt +121 -0
  106. tree_sitter_al-0.0.0/test/corpus/allow_in_customizations_property_test.txt +126 -0
  107. tree_sitter_al-0.0.0/test/corpus/allow_in_customizations_table_test.txt +75 -0
  108. tree_sitter_al-0.0.0/test/corpus/api_group_publisher_properties_test.txt +191 -0
  109. tree_sitter_al-0.0.0/test/corpus/api_page_properties_test.txt +267 -0
  110. tree_sitter_al-0.0.0/test/corpus/api_version_multi_value_test.txt +139 -0
  111. tree_sitter_al-0.0.0/test/corpus/area_prompting_test.txt +112 -0
  112. tree_sitter_al-0.0.0/test/corpus/area_sections_action_test.txt +160 -0
  113. tree_sitter_al-0.0.0/test/corpus/area_tooltip_property_test.txt +218 -0
  114. tree_sitter_al-0.0.0/test/corpus/area_types_comprehensive_test.txt +126 -0
  115. tree_sitter_al-0.0.0/test/corpus/array_indexing.txt +88 -0
  116. tree_sitter_al-0.0.0/test/corpus/array_indexing_simple.txt +39 -0
  117. tree_sitter_al-0.0.0/test/corpus/array_types.txt +58 -0
  118. tree_sitter_al-0.0.0/test/corpus/asserterror_assignment_test.txt +252 -0
  119. tree_sitter_al-0.0.0/test/corpus/asserterror_statement_test.txt +224 -0
  120. tree_sitter_al-0.0.0/test/corpus/attribute_pragma_procedures_test.txt +118 -0
  121. tree_sitter_al-0.0.0/test/corpus/attribute_preproc_procedure.txt +236 -0
  122. tree_sitter_al-0.0.0/test/corpus/auto_format_expression_test.txt +80 -0
  123. tree_sitter_al-0.0.0/test/corpus/auto_format_type_extended_test.txt +73 -0
  124. tree_sitter_al-0.0.0/test/corpus/basic_page_triggers.txt +75 -0
  125. tree_sitter_al-0.0.0/test/corpus/begin_identifier_conflict.txt +47 -0
  126. tree_sitter_al-0.0.0/test/corpus/biginteger_literal_test.txt +134 -0
  127. tree_sitter_al-0.0.0/test/corpus/blob_subtype_comprehensive_test.txt +178 -0
  128. tree_sitter_al-0.0.0/test/corpus/blob_subtype_test.txt +40 -0
  129. tree_sitter_al-0.0.0/test/corpus/bom_character_support_test.txt +42 -0
  130. tree_sitter_al-0.0.0/test/corpus/built_in_functions.txt +357 -0
  131. tree_sitter_al-0.0.0/test/corpus/built_in_functions_al.txt +114 -0
  132. tree_sitter_al-0.0.0/test/corpus/built_in_functions_database.txt +88 -0
  133. tree_sitter_al-0.0.0/test/corpus/built_in_functions_date_and_time.txt +79 -0
  134. tree_sitter_al-0.0.0/test/corpus/built_in_functions_math.txt +73 -0
  135. tree_sitter_al-0.0.0/test/corpus/built_in_functions_simple.txt +42 -0
  136. tree_sitter_al-0.0.0/test/corpus/built_in_functions_string.txt +74 -0
  137. tree_sitter_al-0.0.0/test/corpus/built_in_functions_user_and_session.txt +76 -0
  138. tree_sitter_al-0.0.0/test/corpus/calc_fields_property_test.txt +143 -0
  139. tree_sitter_al-0.0.0/test/corpus/calc_formula_average.txt +45 -0
  140. tree_sitter_al-0.0.0/test/corpus/calc_formula_count.txt +44 -0
  141. tree_sitter_al-0.0.0/test/corpus/calc_formula_lookup.txt +74 -0
  142. tree_sitter_al-0.0.0/test/corpus/calc_formula_minmax.txt +70 -0
  143. tree_sitter_al-0.0.0/test/corpus/calc_formula_namespace_test.txt +205 -0
  144. tree_sitter_al-0.0.0/test/corpus/calc_formula_negated_test.txt +144 -0
  145. tree_sitter_al-0.0.0/test/corpus/calc_formula_preprocessor.txt +69 -0
  146. tree_sitter_al-0.0.0/test/corpus/calc_formula_sum.txt +45 -0
  147. tree_sitter_al-0.0.0/test/corpus/calc_formula_without_where.txt +263 -0
  148. tree_sitter_al-0.0.0/test/corpus/calcformula_count_without_where_test.txt +177 -0
  149. tree_sitter_al-0.0.0/test/corpus/calcformula_lookup_filter_test.txt +189 -0
  150. tree_sitter_al-0.0.0/test/corpus/caption_as_variable_name_test.txt +41 -0
  151. tree_sitter_al-0.0.0/test/corpus/caption_class_label_test.txt +44 -0
  152. tree_sitter_al-0.0.0/test/corpus/caption_class_property_test.txt +84 -0
  153. tree_sitter_al-0.0.0/test/corpus/caption_comment_lowercase_test.txt +114 -0
  154. tree_sitter_al-0.0.0/test/corpus/caption_locked_property.txt +160 -0
  155. tree_sitter_al-0.0.0/test/corpus/caption_property_maxlength_test.txt +22 -0
  156. tree_sitter_al-0.0.0/test/corpus/caption_trailing_comma_test.txt +105 -0
  157. tree_sitter_al-0.0.0/test/corpus/caption_with_comment_and_locked.txt +110 -0
  158. tree_sitter_al-0.0.0/test/corpus/case_arithmetic_expressions_test.txt +64 -0
  159. tree_sitter_al-0.0.0/test/corpus/case_else_preprocessor_test.txt +359 -0
  160. tree_sitter_al-0.0.0/test/corpus/case_member_access.txt +48 -0
  161. tree_sitter_al-0.0.0/test/corpus/case_preprocessor_else.txt +143 -0
  162. tree_sitter_al-0.0.0/test/corpus/case_range_expressions_test.txt +64 -0
  163. tree_sitter_al-0.0.0/test/corpus/case_statement.txt +167 -0
  164. tree_sitter_al-0.0.0/test/corpus/case_statement_else_only.txt +201 -0
  165. tree_sitter_al-0.0.0/test/corpus/case_statements.txt +267 -0
  166. tree_sitter_al-0.0.0/test/corpus/case_statements_enum_qualified_values.txt +122 -0
  167. tree_sitter_al-0.0.0/test/corpus/case_statements_simple.txt +46 -0
  168. tree_sitter_al-0.0.0/test/corpus/case_true_of_in_expressions_test.txt +118 -0
  169. tree_sitter_al-0.0.0/test/corpus/case_true_of_statements.txt +152 -0
  170. tree_sitter_al-0.0.0/test/corpus/char_allowed_property_test.txt +47 -0
  171. tree_sitter_al-0.0.0/test/corpus/closing_dates_property_test.txt +158 -0
  172. tree_sitter_al-0.0.0/test/corpus/codeunit.txt +52 -0
  173. tree_sitter_al-0.0.0/test/corpus/codeunitAdvanced.txt +207 -0
  174. tree_sitter_al-0.0.0/test/corpus/codeunit_case_variations_test.txt +86 -0
  175. tree_sitter_al-0.0.0/test/corpus/codeunit_table_no_property.txt +124 -0
  176. tree_sitter_al-0.0.0/test/corpus/complexIdentifiers.txt +171 -0
  177. tree_sitter_al-0.0.0/test/corpus/compound_assignment_operators_test.txt +83 -0
  178. tree_sitter_al-0.0.0/test/corpus/conditional_expression.txt +230 -0
  179. tree_sitter_al-0.0.0/test/corpus/conditional_procedure_test.txt +55 -0
  180. tree_sitter_al-0.0.0/test/corpus/context_sensitive_validation_test.txt +79 -0
  181. tree_sitter_al-0.0.0/test/corpus/contextual_keyword_apiversion_test.txt +119 -0
  182. tree_sitter_al-0.0.0/test/corpus/contextual_keywords_in_var.txt +92 -0
  183. tree_sitter_al-0.0.0/test/corpus/contextual_property_pattern_test.txt +178 -0
  184. tree_sitter_al-0.0.0/test/corpus/continue_as_identifier_test.txt +194 -0
  185. tree_sitter_al-0.0.0/test/corpus/continue_statement_test.txt +101 -0
  186. tree_sitter_al-0.0.0/test/corpus/controladdin.txt +39 -0
  187. tree_sitter_al-0.0.0/test/corpus/controladdin_attributed_procedure_test.txt +325 -0
  188. tree_sitter_al-0.0.0/test/corpus/controladdin_obsolete_properties.txt +216 -0
  189. tree_sitter_al-0.0.0/test/corpus/controladdin_preprocessor.txt +263 -0
  190. tree_sitter_al-0.0.0/test/corpus/controladdin_test.txt +76 -0
  191. tree_sitter_al-0.0.0/test/corpus/cuegroup_layout_property_test.txt +113 -0
  192. tree_sitter_al-0.0.0/test/corpus/cuegroup_minimal_test.txt +39 -0
  193. tree_sitter_al-0.0.0/test/corpus/cuegroup_multiple_properties_issue.txt +61 -0
  194. tree_sitter_al-0.0.0/test/corpus/customaction_declaration_test.txt +115 -0
  195. tree_sitter_al-0.0.0/test/corpus/data_caption_expression.txt +57 -0
  196. tree_sitter_al-0.0.0/test/corpus/data_classification_field_test.txt +224 -0
  197. tree_sitter_al-0.0.0/test/corpus/data_item_table_filter_equals_test.txt +247 -0
  198. tree_sitter_al-0.0.0/test/corpus/database_const_filter_test.txt +186 -0
  199. tree_sitter_al-0.0.0/test/corpus/database_references.txt +91 -0
  200. tree_sitter_al-0.0.0/test/corpus/dataitem_filter_range.txt +48 -0
  201. tree_sitter_al-0.0.0/test/corpus/dataitem_link_field_function_test.txt +183 -0
  202. tree_sitter_al-0.0.0/test/corpus/dataitem_link_reference_test.txt +151 -0
  203. tree_sitter_al-0.0.0/test/corpus/dataitem_table_filter_const_test.txt +42 -0
  204. tree_sitter_al-0.0.0/test/corpus/dataitem_table_filter_mixed_test.txt +53 -0
  205. tree_sitter_al-0.0.0/test/corpus/dataitem_table_filter_pipe_test.txt +84 -0
  206. tree_sitter_al-0.0.0/test/corpus/dataitemlink_multiple_test.txt +177 -0
  207. tree_sitter_al-0.0.0/test/corpus/dataitemtablefilter_comparison_test.txt +99 -0
  208. tree_sitter_al-0.0.0/test/corpus/date_formula_property_test.txt +108 -0
  209. tree_sitter_al-0.0.0/test/corpus/date_literal_in_filters_test.txt +199 -0
  210. tree_sitter_al-0.0.0/test/corpus/date_literals_in_filters.txt +185 -0
  211. tree_sitter_al-0.0.0/test/corpus/decimal_places_property_test.txt +171 -0
  212. tree_sitter_al-0.0.0/test/corpus/default_implementation_multiple_test.txt +146 -0
  213. tree_sitter_al-0.0.0/test/corpus/default_implementation_property_test.txt +189 -0
  214. tree_sitter_al-0.0.0/test/corpus/div_mod_operators_test.txt +390 -0
  215. tree_sitter_al-0.0.0/test/corpus/dotnet.txt +43 -0
  216. tree_sitter_al-0.0.0/test/corpus/dotnet_is_control_addin_test.txt +94 -0
  217. tree_sitter_al-0.0.0/test/corpus/dotnet_types_with_namespaces.txt +117 -0
  218. tree_sitter_al-0.0.0/test/corpus/editable_property_case_insensitive_test.txt +133 -0
  219. tree_sitter_al-0.0.0/test/corpus/empty_attribute_arguments_test.txt +105 -0
  220. tree_sitter_al-0.0.0/test/corpus/end_identifier_edge_cases_test.txt +77 -0
  221. tree_sitter_al-0.0.0/test/corpus/end_identifier_test.txt +43 -0
  222. tree_sitter_al-0.0.0/test/corpus/entitlement_roletype_test.txt +152 -0
  223. tree_sitter_al-0.0.0/test/corpus/entitlement_test.txt +191 -0
  224. tree_sitter_al-0.0.0/test/corpus/enum_as_identifier_test.txt +261 -0
  225. tree_sitter_al-0.0.0/test/corpus/enum_assignment_compatibility.txt +190 -0
  226. tree_sitter_al-0.0.0/test/corpus/enum_empty_value_test.txt +199 -0
  227. tree_sitter_al-0.0.0/test/corpus/enum_field.txt +30 -0
  228. tree_sitter_al-0.0.0/test/corpus/enum_identifier_test.txt +173 -0
  229. tree_sitter_al-0.0.0/test/corpus/enum_interface_implementations.txt +209 -0
  230. tree_sitter_al-0.0.0/test/corpus/enum_keyword_qualification.txt +72 -0
  231. tree_sitter_al-0.0.0/test/corpus/enum_preprocessor_values_test.txt +151 -0
  232. tree_sitter_al-0.0.0/test/corpus/enum_type_reference_methods_test.txt +279 -0
  233. tree_sitter_al-0.0.0/test/corpus/enum_values.txt +81 -0
  234. tree_sitter_al-0.0.0/test/corpus/enum_variables.txt +445 -0
  235. tree_sitter_al-0.0.0/test/corpus/enumextension_test.txt +131 -0
  236. tree_sitter_al-0.0.0/test/corpus/event_subscriber_instance_property_test.txt +65 -0
  237. tree_sitter_al-0.0.0/test/corpus/execution_timeout_property_test.txt +170 -0
  238. tree_sitter_al-0.0.0/test/corpus/exit_statements.txt +93 -0
  239. tree_sitter_al-0.0.0/test/corpus/expressions.txt +757 -0
  240. tree_sitter_al-0.0.0/test/corpus/extended_datatype_barcode_test.txt +71 -0
  241. tree_sitter_al-0.0.0/test/corpus/extended_datatype_none_test.txt +128 -0
  242. tree_sitter_al-0.0.0/test/corpus/extended_datatype_person_test.txt +129 -0
  243. tree_sitter_al-0.0.0/test/corpus/extension_modifications.txt +191 -0
  244. tree_sitter_al-0.0.0/test/corpus/external_access_property_test.txt +58 -0
  245. tree_sitter_al-0.0.0/test/corpus/external_type_simple_test.txt +32 -0
  246. tree_sitter_al-0.0.0/test/corpus/field_expression_source_test.txt +136 -0
  247. tree_sitter_al-0.0.0/test/corpus/field_image_property_with_trigger.txt +95 -0
  248. tree_sitter_al-0.0.0/test/corpus/field_reference_comprehensive_test.txt +63 -0
  249. tree_sitter_al-0.0.0/test/corpus/field_trigger_onafterlookup_test.txt +162 -0
  250. tree_sitter_al-0.0.0/test/corpus/field_trigger_parameters_return_type_test.txt +315 -0
  251. tree_sitter_al-0.0.0/test/corpus/fieldgroup_modifications_test.txt +98 -0
  252. tree_sitter_al-0.0.0/test/corpus/fieldgroups_preproc.txt +202 -0
  253. tree_sitter_al-0.0.0/test/corpus/fieldgroups_test.txt +198 -0
  254. tree_sitter_al-0.0.0/test/corpus/fields_keys.txt +228 -0
  255. tree_sitter_al-0.0.0/test/corpus/file_level_preprocessor_test.txt +119 -0
  256. tree_sitter_al-0.0.0/test/corpus/fileuploadaction_test.txt +417 -0
  257. tree_sitter_al-0.0.0/test/corpus/filter_and_expression_test.txt +229 -0
  258. tree_sitter_al-0.0.0/test/corpus/filter_comparison_operators.txt +175 -0
  259. tree_sitter_al-0.0.0/test/corpus/filter_equal_expression_test.txt +150 -0
  260. tree_sitter_al-0.0.0/test/corpus/filter_expression_edge_cases.txt +182 -0
  261. tree_sitter_al-0.0.0/test/corpus/filter_field_reference_test.txt +110 -0
  262. tree_sitter_al-0.0.0/test/corpus/filter_pipe_syntax_test.txt +156 -0
  263. tree_sitter_al-0.0.0/test/corpus/filter_properties_baseline_test.txt +198 -0
  264. tree_sitter_al-0.0.0/test/corpus/filter_range_expression_test.txt +161 -0
  265. tree_sitter_al-0.0.0/test/corpus/filters_variable_name_test.txt +324 -0
  266. tree_sitter_al-0.0.0/test/corpus/for_downto_statement_test.txt +44 -0
  267. tree_sitter_al-0.0.0/test/corpus/for_statement_field_access_test.txt +105 -0
  268. tree_sitter_al-0.0.0/test/corpus/foreach_quoted_identifier_test.txt +245 -0
  269. tree_sitter_al-0.0.0/test/corpus/freeze_column_property_test.txt +60 -0
  270. tree_sitter_al-0.0.0/test/corpus/grid_layout_property_test.txt +227 -0
  271. tree_sitter_al-0.0.0/test/corpus/identifiers.txt +75 -0
  272. tree_sitter_al-0.0.0/test/corpus/include_caption_property_variations_test.txt +71 -0
  273. tree_sitter_al-0.0.0/test/corpus/indentation_column_property_test.txt +95 -0
  274. tree_sitter_al-0.0.0/test/corpus/indentation_controls_multiple_values_test.txt +274 -0
  275. tree_sitter_al-0.0.0/test/corpus/indentation_controls_property_test.txt +262 -0
  276. tree_sitter_al-0.0.0/test/corpus/indentation_properties_with_field_references_test.txt +107 -0
  277. tree_sitter_al-0.0.0/test/corpus/instructional_text_property_test.txt +168 -0
  278. tree_sitter_al-0.0.0/test/corpus/interface_attributed_procedures_test.txt +275 -0
  279. tree_sitter_al-0.0.0/test/corpus/interface_extends_test.txt +88 -0
  280. tree_sitter_al-0.0.0/test/corpus/interface_is_as_operators_simple.txt +105 -0
  281. tree_sitter_al-0.0.0/test/corpus/interface_named_return_test.txt +203 -0
  282. tree_sitter_al-0.0.0/test/corpus/interface_namespace_qualified.txt +135 -0
  283. tree_sitter_al-0.0.0/test/corpus/interface_procedure_semicolon.txt +231 -0
  284. tree_sitter_al-0.0.0/test/corpus/interface_procedures_no_semicolon_test.txt +196 -0
  285. tree_sitter_al-0.0.0/test/corpus/interface_properties_test.txt +118 -0
  286. tree_sitter_al-0.0.0/test/corpus/interface_return_type_with_length_test.txt +330 -0
  287. tree_sitter_al-0.0.0/test/corpus/interface_test.txt +40 -0
  288. tree_sitter_al-0.0.0/test/corpus/key_enabled_property_test.txt +82 -0
  289. tree_sitter_al-0.0.0/test/corpus/key_preprocessor_test.txt +202 -0
  290. tree_sitter_al-0.0.0/test/corpus/key_properties.txt +178 -0
  291. tree_sitter_al-0.0.0/test/corpus/key_quoted_identifier_test.txt +318 -0
  292. tree_sitter_al-0.0.0/test/corpus/key_sql_properties_test.txt +241 -0
  293. tree_sitter_al-0.0.0/test/corpus/known_limitation_column_filter_complex.txt +50 -0
  294. tree_sitter_al-0.0.0/test/corpus/known_limitation_column_filter_query_2.txt +48 -0
  295. tree_sitter_al-0.0.0/test/corpus/known_limitation_pragma_before_namespace.txt +32 -0
  296. tree_sitter_al-0.0.0/test/corpus/known_limitation_preprocessor_mixed_var_procedure.txt +42 -0
  297. tree_sitter_al-0.0.0/test/corpus/known_limitation_preprocessor_split_procedure.txt +66 -0
  298. tree_sitter_al-0.0.0/test/corpus/label_declaration_test.txt +84 -0
  299. tree_sitter_al-0.0.0/test/corpus/label_multiline_property.txt +59 -0
  300. tree_sitter_al-0.0.0/test/corpus/label_variables.txt +103 -0
  301. tree_sitter_al-0.0.0/test/corpus/label_variables_with_values_test.txt +56 -0
  302. tree_sitter_al-0.0.0/test/corpus/label_with_locked_attribute.txt +50 -0
  303. tree_sitter_al-0.0.0/test/corpus/layout_movement_commands_test.txt +107 -0
  304. tree_sitter_al-0.0.0/test/corpus/lookup_formula_test.txt +41 -0
  305. tree_sitter_al-0.0.0/test/corpus/lookup_with_field_table.txt +189 -0
  306. tree_sitter_al-0.0.0/test/corpus/malformed_region_directive_test.txt +26 -0
  307. tree_sitter_al-0.0.0/test/corpus/max_iteration_property_test.txt +108 -0
  308. tree_sitter_al-0.0.0/test/corpus/method_calls.txt +245 -0
  309. tree_sitter_al-0.0.0/test/corpus/mixed_method_calls.txt +143 -0
  310. tree_sitter_al-0.0.0/test/corpus/modify_layout_modification_test.txt +63 -0
  311. tree_sitter_al-0.0.0/test/corpus/moved_from_moved_to_properties_test.txt +112 -0
  312. tree_sitter_al-0.0.0/test/corpus/multidimensional_array_access.txt +243 -0
  313. tree_sitter_al-0.0.0/test/corpus/multidimensional_arrays.txt +100 -0
  314. tree_sitter_al-0.0.0/test/corpus/multiline_comment_test.txt +118 -0
  315. tree_sitter_al-0.0.0/test/corpus/multiline_page_link_properties_test.txt +138 -0
  316. tree_sitter_al-0.0.0/test/corpus/multiple_interface_implementations.txt +133 -0
  317. tree_sitter_al-0.0.0/test/corpus/namespace_case_insensitive_test.txt +22 -0
  318. tree_sitter_al-0.0.0/test/corpus/namespace_declarations.txt +233 -0
  319. tree_sitter_al-0.0.0/test/corpus/namespace_qualified_enum_types.txt +211 -0
  320. tree_sitter_al-0.0.0/test/corpus/namespace_qualified_records_test.txt +79 -0
  321. tree_sitter_al-0.0.0/test/corpus/namespace_qualified_tables.txt +140 -0
  322. tree_sitter_al-0.0.0/test/corpus/namespace_qualified_types_test.txt +189 -0
  323. tree_sitter_al-0.0.0/test/corpus/namespace_test.txt +64 -0
  324. tree_sitter_al-0.0.0/test/corpus/namespaces_property_test.txt +80 -0
  325. tree_sitter_al-0.0.0/test/corpus/negated_exist_formula_test.txt +99 -0
  326. tree_sitter_al-0.0.0/test/corpus/nested_cuegroup_test.txt +291 -0
  327. tree_sitter_al-0.0.0/test/corpus/object_declarations.txt +424 -0
  328. tree_sitter_al-0.0.0/test/corpus/object_reference_filter.txt +125 -0
  329. tree_sitter_al-0.0.0/test/corpus/obsolete_state_moved_test.txt +102 -0
  330. tree_sitter_al-0.0.0/test/corpus/obsolete_state_pendingmove_test.txt +76 -0
  331. tree_sitter_al-0.0.0/test/corpus/onaftergetcurr_trigger.txt +28 -0
  332. tree_sitter_al-0.0.0/test/corpus/onrun_trigger_semicolon_test.txt +90 -0
  333. tree_sitter_al-0.0.0/test/corpus/optimize_for_text_search_field_property_test.txt +84 -0
  334. tree_sitter_al-0.0.0/test/corpus/option_caption_comment_parameter_test.txt +135 -0
  335. tree_sitter_al-0.0.0/test/corpus/option_caption_locked_test.txt +257 -0
  336. tree_sitter_al-0.0.0/test/corpus/option_empty_members_test.txt +153 -0
  337. tree_sitter_al-0.0.0/test/corpus/option_enum_with_backslashes.txt +54 -0
  338. tree_sitter_al-0.0.0/test/corpus/option_members_empty_string_test.txt +134 -0
  339. tree_sitter_al-0.0.0/test/corpus/option_members_mixed_test.txt +235 -0
  340. tree_sitter_al-0.0.0/test/corpus/option_ordinal_values_test.txt +100 -0
  341. tree_sitter_al-0.0.0/test/corpus/option_type_inline_members.txt +160 -0
  342. tree_sitter_al-0.0.0/test/corpus/option_variable_in_page_var_section_test.txt +74 -0
  343. tree_sitter_al-0.0.0/test/corpus/order_by_multiple_fields_test.txt +120 -0
  344. tree_sitter_al-0.0.0/test/corpus/order_by_property_test.txt +108 -0
  345. tree_sitter_al-0.0.0/test/corpus/page_about_properties_test.txt +111 -0
  346. tree_sitter_al-0.0.0/test/corpus/page_action_areas_test.txt +279 -0
  347. tree_sitter_al-0.0.0/test/corpus/page_action_groups.txt +101 -0
  348. tree_sitter_al-0.0.0/test/corpus/page_action_xmlport_runobject_test.txt +125 -0
  349. tree_sitter_al-0.0.0/test/corpus/page_complex_properties_test.txt +149 -0
  350. tree_sitter_al-0.0.0/test/corpus/page_extension_action_modify_triggers_test.txt +131 -0
  351. tree_sitter_al-0.0.0/test/corpus/page_field_min_max_value_properties.txt +271 -0
  352. tree_sitter_al-0.0.0/test/corpus/page_field_properties_batch1.txt +128 -0
  353. tree_sitter_al-0.0.0/test/corpus/page_field_properties_new_batch.txt +85 -0
  354. tree_sitter_al-0.0.0/test/corpus/page_field_properties_phase3.txt +64 -0
  355. tree_sitter_al-0.0.0/test/corpus/page_field_triggers_test.txt +156 -0
  356. tree_sitter_al-0.0.0/test/corpus/page_layout.txt +309 -0
  357. tree_sitter_al-0.0.0/test/corpus/page_level_variable_declarations_test.txt +69 -0
  358. tree_sitter_al-0.0.0/test/corpus/page_preproc_trigger_var_test.txt +326 -0
  359. tree_sitter_al-0.0.0/test/corpus/page_properties.txt +113 -0
  360. tree_sitter_al-0.0.0/test/corpus/page_properties_phase1.txt +88 -0
  361. tree_sitter_al-0.0.0/test/corpus/page_properties_phase2a.txt +68 -0
  362. tree_sitter_al-0.0.0/test/corpus/page_properties_phase2b.txt +62 -0
  363. tree_sitter_al-0.0.0/test/corpus/page_properties_phase4a.txt +75 -0
  364. tree_sitter_al-0.0.0/test/corpus/page_properties_phase4b_batch1.txt +58 -0
  365. tree_sitter_al-0.0.0/test/corpus/page_properties_phase4b_batch2.txt +84 -0
  366. tree_sitter_al-0.0.0/test/corpus/page_properties_phase4c.txt +73 -0
  367. tree_sitter_al-0.0.0/test/corpus/page_region_directives_test.txt +162 -0
  368. tree_sitter_al-0.0.0/test/corpus/page_trigger_with_return_type.txt +56 -0
  369. tree_sitter_al-0.0.0/test/corpus/page_triggers.txt +248 -0
  370. tree_sitter_al-0.0.0/test/corpus/page_type_variable.txt +83 -0
  371. tree_sitter_al-0.0.0/test/corpus/page_var_section_new_test.txt +169 -0
  372. tree_sitter_al-0.0.0/test/corpus/page_var_section_test.txt +200 -0
  373. tree_sitter_al-0.0.0/test/corpus/page_var_visible.txt +71 -0
  374. tree_sitter_al-0.0.0/test/corpus/page_views_section_test.txt +71 -0
  375. tree_sitter_al-0.0.0/test/corpus/page_views_test.txt +341 -0
  376. tree_sitter_al-0.0.0/test/corpus/pagecustomization_layout_actions.txt +205 -0
  377. tree_sitter_al-0.0.0/test/corpus/pagecustomization_test.txt +194 -0
  378. tree_sitter_al-0.0.0/test/corpus/pageextension_attributed_procedures_test.txt +130 -0
  379. tree_sitter_al-0.0.0/test/corpus/pageextension_field_properties_test.txt +53 -0
  380. tree_sitter_al-0.0.0/test/corpus/permissions_empty_xmlport_test.txt +126 -0
  381. tree_sitter_al-0.0.0/test/corpus/permissions_property_test.txt +175 -0
  382. tree_sitter_al-0.0.0/test/corpus/permissions_with_preprocessor_test.txt +115 -0
  383. tree_sitter_al-0.0.0/test/corpus/permissionset_lowercase_permissions_test.txt +157 -0
  384. tree_sitter_al-0.0.0/test/corpus/permissionset_pragma_directives_test.txt +58 -0
  385. tree_sitter_al-0.0.0/test/corpus/permissionset_preprocessor_pragma_test.txt +215 -0
  386. tree_sitter_al-0.0.0/test/corpus/permissionset_properties.txt +201 -0
  387. tree_sitter_al-0.0.0/test/corpus/permissionset_trailing_semicolon_test.txt +83 -0
  388. tree_sitter_al-0.0.0/test/corpus/permissionsetextension_test.txt +227 -0
  389. tree_sitter_al-0.0.0/test/corpus/phase3_attribute_preprocessor_test.txt +124 -0
  390. tree_sitter_al-0.0.0/test/corpus/phase5_nested_attributes_test.txt +224 -0
  391. tree_sitter_al-0.0.0/test/corpus/pragma.txt +30 -0
  392. tree_sitter_al-0.0.0/test/corpus/pragma_directives_test.txt +47 -0
  393. tree_sitter_al-0.0.0/test/corpus/pragma_in_code_blocks_test.txt +51 -0
  394. tree_sitter_al-0.0.0/test/corpus/pragma_in_if_statement.txt +61 -0
  395. tree_sitter_al-0.0.0/test/corpus/pragma_layout_directives_test.txt +74 -0
  396. tree_sitter_al-0.0.0/test/corpus/pragma_warning_in_var.txt +145 -0
  397. tree_sitter_al-0.0.0/test/corpus/preproc_conditional_var_sections_test.txt +297 -0
  398. tree_sitter_al-0.0.0/test/corpus/preproc_fragmented_if_else_in_repeat.txt +160 -0
  399. tree_sitter_al-0.0.0/test/corpus/preproc_interrupted_var_section.txt +266 -0
  400. tree_sitter_al-0.0.0/test/corpus/preproc_split_declarations.txt +146 -0
  401. tree_sitter_al-0.0.0/test/corpus/preproc_variant_condition_if.txt +67 -0
  402. tree_sitter_al-0.0.0/test/corpus/preprocessor.txt +422 -0
  403. tree_sitter_al-0.0.0/test/corpus/preprocessor_actions_test.txt +255 -0
  404. tree_sitter_al-0.0.0/test/corpus/preprocessor_case_statements_test.txt +77 -0
  405. tree_sitter_al-0.0.0/test/corpus/preprocessor_conditional_attributes_test.txt +99 -0
  406. tree_sitter_al-0.0.0/test/corpus/preprocessor_conditional_using_statements_test.txt +51 -0
  407. tree_sitter_al-0.0.0/test/corpus/preprocessor_directives_test.txt +202 -0
  408. tree_sitter_al-0.0.0/test/corpus/preprocessor_enum_extension_test.txt +60 -0
  409. tree_sitter_al-0.0.0/test/corpus/preprocessor_fragmented_if_else_simple.txt +51 -0
  410. tree_sitter_al-0.0.0/test/corpus/preprocessor_if_not_with_else_test.txt +51 -0
  411. tree_sitter_al-0.0.0/test/corpus/preprocessor_in_action_properties_test.txt +224 -0
  412. tree_sitter_al-0.0.0/test/corpus/preprocessor_in_dataitem.txt +67 -0
  413. tree_sitter_al-0.0.0/test/corpus/preprocessor_in_loops.txt +227 -0
  414. tree_sitter_al-0.0.0/test/corpus/preprocessor_in_single_statements.txt +356 -0
  415. tree_sitter_al-0.0.0/test/corpus/preprocessor_layout_properties_test.txt +176 -0
  416. tree_sitter_al-0.0.0/test/corpus/preprocessor_multiple_using_statements_test.txt +73 -0
  417. tree_sitter_al-0.0.0/test/corpus/preprocessor_namespace_only_test.txt +213 -0
  418. tree_sitter_al-0.0.0/test/corpus/preprocessor_object_properties_test.txt +518 -0
  419. tree_sitter_al-0.0.0/test/corpus/preprocessor_procedure_body_split_test.txt +60 -0
  420. tree_sitter_al-0.0.0/test/corpus/preprocessor_procedure_header_split_test.txt +64 -0
  421. tree_sitter_al-0.0.0/test/corpus/preprocessor_separator_actions_test.txt +318 -0
  422. tree_sitter_al-0.0.0/test/corpus/preprocessor_split_if.txt +192 -0
  423. tree_sitter_al-0.0.0/test/corpus/preprocessor_split_if_else.txt +166 -0
  424. tree_sitter_al-0.0.0/test/corpus/preprocessor_statements_test.txt +83 -0
  425. tree_sitter_al-0.0.0/test/corpus/preprocessor_table_relation_test.txt +243 -0
  426. tree_sitter_al-0.0.0/test/corpus/preprocessor_wrapped_codeunit.txt +34 -0
  427. tree_sitter_al-0.0.0/test/corpus/preprocessor_wrapped_page.txt +147 -0
  428. tree_sitter_al-0.0.0/test/corpus/print_only_if_detail_test.txt +142 -0
  429. tree_sitter_al-0.0.0/test/corpus/printonlyifdetail_after_requestfilterfields_test.txt +194 -0
  430. tree_sitter_al-0.0.0/test/corpus/procedure_preproc_var_test.txt +95 -0
  431. tree_sitter_al-0.0.0/test/corpus/procedure_return_types.txt +95 -0
  432. tree_sitter_al-0.0.0/test/corpus/procedure_simple.txt +81 -0
  433. tree_sitter_al-0.0.0/test/corpus/procedures.txt +581 -0
  434. tree_sitter_al-0.0.0/test/corpus/profile_properties_test.txt +84 -0
  435. tree_sitter_al-0.0.0/test/corpus/profile_test.txt +256 -0
  436. tree_sitter_al-0.0.0/test/corpus/profileextension_test.txt +111 -0
  437. tree_sitter_al-0.0.0/test/corpus/prompt_dialog_features_test.txt +83 -0
  438. tree_sitter_al-0.0.0/test/corpus/prompt_mode_property_test.txt +55 -0
  439. tree_sitter_al-0.0.0/test/corpus/promptguide_area_test.txt +233 -0
  440. tree_sitter_al-0.0.0/test/corpus/properties.txt +502 -0
  441. tree_sitter_al-0.0.0/test/corpus/property_audit_test.txt +89 -0
  442. tree_sitter_al-0.0.0/test/corpus/protected_procedure_modifier.txt +70 -0
  443. tree_sitter_al-0.0.0/test/corpus/protected_var_in_preprocessor_test.txt +154 -0
  444. tree_sitter_al-0.0.0/test/corpus/provider_property_test.txt +92 -0
  445. tree_sitter_al-0.0.0/test/corpus/qualified_trigger_test.txt +166 -0
  446. tree_sitter_al-0.0.0/test/corpus/query/query_object.txt +179 -0
  447. tree_sitter_al-0.0.0/test/corpus/query_api_properties_test.txt +267 -0
  448. tree_sitter_al-0.0.0/test/corpus/query_column_filter_property_test.txt +260 -0
  449. tree_sitter_al-0.0.0/test/corpus/query_computed_column_test.txt +99 -0
  450. tree_sitter_al-0.0.0/test/corpus/query_entity_properties_test.txt +117 -0
  451. tree_sitter_al-0.0.0/test/corpus/query_filter_test.txt +150 -0
  452. tree_sitter_al-0.0.0/test/corpus/query_readstate_property_test.txt +71 -0
  453. tree_sitter_al-0.0.0/test/corpus/query_sections.txt +151 -0
  454. tree_sitter_al-0.0.0/test/corpus/query_top_number_of_rows_test.txt +163 -0
  455. tree_sitter_al-0.0.0/test/corpus/query_trigger_test.txt +116 -0
  456. tree_sitter_al-0.0.0/test/corpus/query_var_section.txt +321 -0
  457. tree_sitter_al-0.0.0/test/corpus/query_with_procedures.txt +410 -0
  458. tree_sitter_al-0.0.0/test/corpus/quoted_identifier_escaped_test.txt +201 -0
  459. tree_sitter_al-0.0.0/test/corpus/quoted_return_parameter_test.txt +75 -0
  460. tree_sitter_al-0.0.0/test/corpus/range_and_in_expressions.txt +265 -0
  461. tree_sitter_al-0.0.0/test/corpus/readonly_as_identifier_test.txt +480 -0
  462. tree_sitter_al-0.0.0/test/corpus/recordid_case_variant.txt +38 -0
  463. tree_sitter_al-0.0.0/test/corpus/region_directives_test.txt +279 -0
  464. tree_sitter_al-0.0.0/test/corpus/rendering_section_test.txt +122 -0
  465. tree_sitter_al-0.0.0/test/corpus/repeater_visible_property_test.txt +45 -0
  466. tree_sitter_al-0.0.0/test/corpus/report_autocalcfield_property_test.txt +103 -0
  467. tree_sitter_al-0.0.0/test/corpus/report_column_expressions.txt +118 -0
  468. tree_sitter_al-0.0.0/test/corpus/report_column_properties_test.txt +89 -0
  469. tree_sitter_al-0.0.0/test/corpus/report_comprehensive_test.txt +127 -0
  470. tree_sitter_al-0.0.0/test/corpus/report_data_access_intent_property_test.txt +116 -0
  471. tree_sitter_al-0.0.0/test/corpus/report_dataitem_properties.txt +204 -0
  472. tree_sitter_al-0.0.0/test/corpus/report_default_layout_test.txt +199 -0
  473. tree_sitter_al-0.0.0/test/corpus/report_extension_dataitem_modifications.txt +220 -0
  474. tree_sitter_al-0.0.0/test/corpus/report_namespace_qualified_dataitem.txt +130 -0
  475. tree_sitter_al-0.0.0/test/corpus/report_namespace_qualified_type.txt +84 -0
  476. tree_sitter_al-0.0.0/test/corpus/report_permissions_property_test.txt +186 -0
  477. tree_sitter_al-0.0.0/test/corpus/report_preproc_procedures.txt +151 -0
  478. tree_sitter_al-0.0.0/test/corpus/report_sections.txt +241 -0
  479. tree_sitter_al-0.0.0/test/corpus/report_transaction_type_updatenolocks_test.txt +104 -0
  480. tree_sitter_al-0.0.0/test/corpus/report_use_request_page_property.txt +259 -0
  481. tree_sitter_al-0.0.0/test/corpus/reportextension_dataset_modifications_test.txt +232 -0
  482. tree_sitter_al-0.0.0/test/corpus/required_test_isolation_property_test.txt +95 -0
  483. tree_sitter_al-0.0.0/test/corpus/run_object_qualified_name_test.txt +76 -0
  484. tree_sitter_al-0.0.0/test/corpus/run_page_link_nested_filter.txt +189 -0
  485. tree_sitter_al-0.0.0/test/corpus/run_page_view_test.txt +98 -0
  486. tree_sitter_al-0.0.0/test/corpus/runobject_query_test.txt +258 -0
  487. tree_sitter_al-0.0.0/test/corpus/scope_variable_test.txt +33 -0
  488. tree_sitter_al-0.0.0/test/corpus/secrettext_type_test.txt +133 -0
  489. tree_sitter_al-0.0.0/test/corpus/separator_action.txt +87 -0
  490. tree_sitter_al-0.0.0/test/corpus/show_as_property_test.txt +340 -0
  491. tree_sitter_al-0.0.0/test/corpus/show_as_tree_property_test.txt +79 -0
  492. tree_sitter_al-0.0.0/test/corpus/show_filter_property_test.txt +66 -0
  493. tree_sitter_al-0.0.0/test/corpus/show_mandatory_expressions.txt +65 -0
  494. tree_sitter_al-0.0.0/test/corpus/simple_member_access.txt +31 -0
  495. tree_sitter_al-0.0.0/test/corpus/source_table_view_property.txt +119 -0
  496. tree_sitter_al-0.0.0/test/corpus/spaced_enum_assignment_limitation_test.txt +115 -0
  497. tree_sitter_al-0.0.0/test/corpus/sql_join_type_property_test.txt +314 -0
  498. tree_sitter_al-0.0.0/test/corpus/sql_properties_test.txt +128 -0
  499. tree_sitter_al-0.0.0/test/corpus/standalone_semicolon_test.txt +292 -0
  500. tree_sitter_al-0.0.0/test/corpus/standalone_semicolons.txt +97 -0
  501. tree_sitter_al-0.0.0/test/corpus/standalone_semicolons_in_properties_test.txt +58 -0
  502. tree_sitter_al-0.0.0/test/corpus/statements.txt +906 -0
  503. tree_sitter_al-0.0.0/test/corpus/string_concatenation_complex.txt +48 -0
  504. tree_sitter_al-0.0.0/test/corpus/string_literal_backslash.txt +235 -0
  505. tree_sitter_al-0.0.0/test/corpus/style_attention_accent.txt +122 -0
  506. tree_sitter_al-0.0.0/test/corpus/style_expr_all_expressions_test.txt +111 -0
  507. tree_sitter_al-0.0.0/test/corpus/style_expr_boolean.txt +228 -0
  508. tree_sitter_al-0.0.0/test/corpus/style_expr_comparison_test.txt +61 -0
  509. tree_sitter_al-0.0.0/test/corpus/style_expr_field_access_test.txt +162 -0
  510. tree_sitter_al-0.0.0/test/corpus/style_expr_unary_test.txt +201 -0
  511. tree_sitter_al-0.0.0/test/corpus/style_none_value_test.txt +160 -0
  512. tree_sitter_al-0.0.0/test/corpus/style_subordinate_test.txt +46 -0
  513. tree_sitter_al-0.0.0/test/corpus/sub_page_link_filter_function_test.txt +129 -0
  514. tree_sitter_al-0.0.0/test/corpus/sub_page_link_preproc.txt +229 -0
  515. tree_sitter_al-0.0.0/test/corpus/sub_page_link_property_test.txt +49 -0
  516. tree_sitter_al-0.0.0/test/corpus/sub_page_view_enhanced.txt +218 -0
  517. tree_sitter_al-0.0.0/test/corpus/subpagelink_database_reference_test.txt +156 -0
  518. tree_sitter_al-0.0.0/test/corpus/subtype_option_variable_test.txt +57 -0
  519. tree_sitter_al-0.0.0/test/corpus/subtype_userdefined_test.txt +215 -0
  520. tree_sitter_al-0.0.0/test/corpus/subtype_variable_vs_property_test.txt +50 -0
  521. tree_sitter_al-0.0.0/test/corpus/systempart_test.txt +64 -0
  522. tree_sitter_al-0.0.0/test/corpus/table.txt +150 -0
  523. tree_sitter_al-0.0.0/test/corpus/table_extension_app_page_patterns.txt +205 -0
  524. tree_sitter_al-0.0.0/test/corpus/table_extension_attributed_triggers_test.txt +76 -0
  525. tree_sitter_al-0.0.0/test/corpus/table_extension_integration_event_attribute_test.txt +93 -0
  526. tree_sitter_al-0.0.0/test/corpus/table_extension_modify_field_triggers_test.txt +164 -0
  527. tree_sitter_al-0.0.0/test/corpus/table_extension_modify_test.txt +94 -0
  528. tree_sitter_al-0.0.0/test/corpus/table_extension_multiple_attributes_test.txt +90 -0
  529. tree_sitter_al-0.0.0/test/corpus/table_field_access_property_test.txt +118 -0
  530. tree_sitter_al-0.0.0/test/corpus/table_field_trigger_enum.txt +61 -0
  531. tree_sitter_al-0.0.0/test/corpus/table_key_unique_property_test.txt +186 -0
  532. tree_sitter_al-0.0.0/test/corpus/table_preprocessor_procedures_test.txt +377 -0
  533. tree_sitter_al-0.0.0/test/corpus/table_properties.txt +341 -0
  534. tree_sitter_al-0.0.0/test/corpus/table_relation_preprocessor_conditionals_test.txt +80 -0
  535. tree_sitter_al-0.0.0/test/corpus/table_relation_preprocessor_test.txt +152 -0
  536. tree_sitter_al-0.0.0/test/corpus/table_trigger_semicolon_test.txt +229 -0
  537. tree_sitter_al-0.0.0/test/corpus/table_type_property_test.txt +254 -0
  538. tree_sitter_al-0.0.0/test/corpus/tableextension_integration_event_test.txt +68 -0
  539. tree_sitter_al-0.0.0/test/corpus/tableextension_preprocessor_procedures_test.txt +82 -0
  540. tree_sitter_al-0.0.0/test/corpus/tableno_variable_test.txt +72 -0
  541. tree_sitter_al-0.0.0/test/corpus/tabletype_variable_name_test.txt +197 -0
  542. tree_sitter_al-0.0.0/test/corpus/temp_query_crash_test.txt +42 -0
  543. tree_sitter_al-0.0.0/test/corpus/temporary_return_type_test.txt +201 -0
  544. tree_sitter_al-0.0.0/test/corpus/test_attr_preproc.txt +71 -0
  545. tree_sitter_al-0.0.0/test/corpus/test_http_request_policy_property_test.txt +107 -0
  546. tree_sitter_al-0.0.0/test/corpus/test_type_property_test.txt +124 -0
  547. tree_sitter_al-0.0.0/test/corpus/testpage_case_variations_test.txt +90 -0
  548. tree_sitter_al-0.0.0/test/corpus/testrequestpage_type_test.txt +137 -0
  549. tree_sitter_al-0.0.0/test/corpus/tooltip_case_variations_test.txt +65 -0
  550. tree_sitter_al-0.0.0/test/corpus/tooltip_locked_test.txt +161 -0
  551. tree_sitter_al-0.0.0/test/corpus/tooltip_with_comment.txt +78 -0
  552. tree_sitter_al-0.0.0/test/corpus/tree_initial_state_test.txt +105 -0
  553. tree_sitter_al-0.0.0/test/corpus/trigger_named_return_values_test.txt +263 -0
  554. tree_sitter_al-0.0.0/test/corpus/trigger_preprocessor_complex.txt +116 -0
  555. tree_sitter_al-0.0.0/test/corpus/trigger_preprocessor_directives_test.txt +202 -0
  556. tree_sitter_al-0.0.0/test/corpus/trigger_semicolon_termination_test.txt +104 -0
  557. tree_sitter_al-0.0.0/test/corpus/types.txt +344 -0
  558. tree_sitter_al-0.0.0/test/corpus/unary_operators_test.txt +65 -0
  559. tree_sitter_al-0.0.0/test/corpus/unified_filter_pattern_proof_test.txt +304 -0
  560. tree_sitter_al-0.0.0/test/corpus/universal_properties_expanded_test.txt +223 -0
  561. tree_sitter_al-0.0.0/test/corpus/unknown_value_implementation_property_test.txt +212 -0
  562. tree_sitter_al-0.0.0/test/corpus/update_propagation_property_test.txt +99 -0
  563. tree_sitter_al-0.0.0/test/corpus/upperlimit_field_reference_test.txt +107 -0
  564. tree_sitter_al-0.0.0/test/corpus/upperlimit_filter_field_reference_test.txt +110 -0
  565. tree_sitter_al-0.0.0/test/corpus/use_temporary_property_test.txt +232 -0
  566. tree_sitter_al-0.0.0/test/corpus/usercontrol_preprocessor_directives_test.txt +84 -0
  567. tree_sitter_al-0.0.0/test/corpus/using_statement_test.txt +79 -0
  568. tree_sitter_al-0.0.0/test/corpus/validation_properties_test.txt +177 -0
  569. tree_sitter_al-0.0.0/test/corpus/values_allowed_property_test.txt +215 -0
  570. tree_sitter_al-0.0.0/test/corpus/values_allowed_with_integers.txt +308 -0
  571. tree_sitter_al-0.0.0/test/corpus/var_section_preprocessor_directives_test.txt +62 -0
  572. tree_sitter_al-0.0.0/test/corpus/var_section_with_mixed_preproc_test.txt +50 -0
  573. tree_sitter_al-0.0.0/test/corpus/variable_attributes.txt +218 -0
  574. tree_sitter_al-0.0.0/test/corpus/views.txt +26 -0
  575. tree_sitter_al-0.0.0/test/corpus/visible_property_case_variations_test.txt +61 -0
  576. tree_sitter_al-0.0.0/test/corpus/width_property.txt +155 -0
  577. tree_sitter_al-0.0.0/test/corpus/width_property_case_insensitive_test.txt +157 -0
  578. tree_sitter_al-0.0.0/test/corpus/with_statement.txt +147 -0
  579. tree_sitter_al-0.0.0/test/corpus/xmlport_attributed_procedures.txt +300 -0
  580. tree_sitter_al-0.0.0/test/corpus/xmlport_calcfields_test.txt +239 -0
  581. tree_sitter_al-0.0.0/test/corpus/xmlport_default_fields_validation_test.txt +173 -0
  582. tree_sitter_al-0.0.0/test/corpus/xmlport_field_delimiter_separator_test.txt +112 -0
  583. tree_sitter_al-0.0.0/test/corpus/xmlport_fieldattribute_test.txt +255 -0
  584. tree_sitter_al-0.0.0/test/corpus/xmlport_fieldattribute_trigger_test.txt +142 -0
  585. tree_sitter_al-0.0.0/test/corpus/xmlport_fieldelement_member_expression_test.txt +131 -0
  586. tree_sitter_al-0.0.0/test/corpus/xmlport_fieldelement_test.txt +85 -0
  587. tree_sitter_al-0.0.0/test/corpus/xmlport_fieldvalidate_test.txt +55 -0
  588. tree_sitter_al-0.0.0/test/corpus/xmlport_format_property_test.txt +79 -0
  589. tree_sitter_al-0.0.0/test/corpus/xmlport_formatevaluate_property_test.txt +62 -0
  590. tree_sitter_al-0.0.0/test/corpus/xmlport_linktable_case_insensitive.txt +151 -0
  591. tree_sitter_al-0.0.0/test/corpus/xmlport_maxoccurs_once_test.txt +47 -0
  592. tree_sitter_al-0.0.0/test/corpus/xmlport_occurrence_test.txt +103 -0
  593. tree_sitter_al-0.0.0/test/corpus/xmlport_preprocessor_elements_test.txt +261 -0
  594. tree_sitter_al-0.0.0/test/corpus/xmlport_preserve_whitespace_test.txt +76 -0
  595. tree_sitter_al-0.0.0/test/corpus/xmlport_properties.txt +148 -0
  596. tree_sitter_al-0.0.0/test/corpus/xmlport_sourcetableview_property.txt +125 -0
  597. tree_sitter_al-0.0.0/test/corpus/xmlport_table_separator_test.txt +87 -0
  598. tree_sitter_al-0.0.0/test/corpus/xmlport_tableelement_trigger_test.txt +133 -0
  599. tree_sitter_al-0.0.0/test/corpus/xmlport_text_attribute_trigger_test.txt +120 -0
  600. tree_sitter_al-0.0.0/test/corpus/xmlport_texttype_property_test.txt +126 -0
  601. tree_sitter_al-0.0.0/test/corpus/xmlport_triggers_requestpage_test.txt +103 -0
  602. tree_sitter_al-0.0.0/test/corpus/xmlport_use_request_page_test.txt +71 -0
  603. tree_sitter_al-0.0.0/test/corpus/xmlport_with_schema_test.txt +51 -0
  604. tree_sitter_al-0.0.0/test/corpus/xor_logical_operator_test.txt +134 -0
  605. tree_sitter_al-0.0.0/test/disabled/built_in_functions.txt +333 -0
  606. tree_sitter_al-0.0.0/test/disabled/complexIdentifiers.txt +111 -0
  607. tree_sitter_al-0.0.0/test/disabled/known_limitation_trigger_preprocessor_complex.txt +123 -0
  608. tree_sitter_al-0.0.0/test_grammar_fix.js +32 -0
  609. tree_sitter_al-0.0.0/test_minimal/grammar.json +143 -0
  610. tree_sitter_al-0.0.0/test_minimal/node-types.json +107 -0
  611. tree_sitter_al-0.0.0/test_minimal/parser.c +426 -0
  612. tree_sitter_al-0.0.0/test_minimal/tree_sitter/alloc.h +54 -0
  613. tree_sitter_al-0.0.0/test_minimal/tree_sitter/array.h +291 -0
  614. tree_sitter_al-0.0.0/test_minimal/tree_sitter/parser.h +287 -0
  615. tree_sitter_al-0.0.0/tools/keyword-sync/compare_keywords.py +174 -0
  616. tree_sitter_al-0.0.0/tools/keyword-sync/compare_properties.py +265 -0
  617. tree_sitter_al-0.0.0/tools/keyword-sync/compare_triggers.py +175 -0
  618. tree_sitter_al-0.0.0/tools/keyword-sync/config.py +125 -0
  619. tree_sitter_al-0.0.0/tools/keyword-sync/extract_grammar_keywords.py +189 -0
  620. tree_sitter_al-0.0.0/tools/keyword-sync/extract_snippets.py +335 -0
  621. tree_sitter_al-0.0.0/tools/keyword-sync/extract_vscode_keywords.py +198 -0
  622. tree_sitter_al-0.0.0/tools/keyword-sync/generate_full_report.py +366 -0
  623. tree_sitter_al-0.0.0/tools/keyword-sync/generate_report.py +257 -0
  624. tree_sitter_al-0.0.0/tools/keyword-sync/output/comparison_report.md +127 -0
  625. tree_sitter_al-0.0.0/tools/keyword-sync/output/comparison_results.json +1891 -0
  626. tree_sitter_al-0.0.0/tools/keyword-sync/output/full_comparison_report.md +243 -0
  627. tree_sitter_al-0.0.0/tools/keyword-sync/output/grammar_keywords.json +3777 -0
  628. tree_sitter_al-0.0.0/tools/keyword-sync/output/new_keywords_template.js +109 -0
  629. tree_sitter_al-0.0.0/tools/keyword-sync/output/property_comparison.json +1042 -0
  630. tree_sitter_al-0.0.0/tools/keyword-sync/output/snippets_data.json +3913 -0
  631. tree_sitter_al-0.0.0/tools/keyword-sync/output/trigger_comparison.json +81 -0
  632. tree_sitter_al-0.0.0/tools/keyword-sync/output/vscode_keywords.json +414 -0
  633. tree_sitter_al-0.0.0/tools/keyword-sync/run_all.py +213 -0
  634. tree_sitter_al-0.0.0/tree-sitter-al.wasm +0 -0
  635. tree_sitter_al-0.0.0/tree-sitter.json +39 -0
  636. tree_sitter_al-0.0.0/unused_rules_full.txt +6 -0
  637. tree_sitter_al-0.0.0/validate-grammar.sh +257 -0
@@ -0,0 +1,45 @@
1
+ # Attribute Handling
2
+
3
+ ## Architecture
4
+
5
+ Attributes are first-class statements using the Rust/C# pattern.
6
+
7
+ **Key points:**
8
+ - Attributes appear as `attribute_item` nodes in the parse tree
9
+ - They are siblings to declarations, not nested within them
10
+ - Preprocessor directives can appear between attributes and declarations
11
+ - Semantic analysis (post-parse) associates attributes with following declarations
12
+
13
+ ## Parse Tree Structure
14
+
15
+ ```
16
+ (attribute_item
17
+ attribute: (attribute_content ...))
18
+ (procedure ...)
19
+ ```
20
+
21
+ Attributes are separate nodes at the same level as declarations.
22
+
23
+ ## Valid Patterns
24
+
25
+ ```al
26
+ [Scope('OnPrem')]
27
+ [IntegrationEvent(false, false)]
28
+ procedure MyEvent() begin end;
29
+
30
+ [Obsolete('Use NewVersion', '24.0')]
31
+ #if not CLEAN24
32
+ procedure OldVersion() begin end;
33
+ #endif
34
+
35
+ // Attributes on parameters
36
+ procedure Test([Mandatory] Param: Integer) begin end;
37
+
38
+ // Attributes on enum values
39
+ [Caption('Active')]
40
+ value(0; Active) { }
41
+
42
+ // Attributes on variables (in var sections)
43
+ [NonDebuggable]
44
+ MyVar: Integer;
45
+ ```
@@ -0,0 +1,37 @@
1
+ # Contextual Keywords
2
+
3
+ ## V2 Architecture
4
+
5
+ In V2, most property/variable disambiguation is handled by the `PROPERTY_NAME` scanner token, not by keyword-level tricks. The scanner distinguishes `identifier =` (property) from `identifier :` (variable).
6
+
7
+ ## Keyword-as-Identifier
8
+
9
+ Some AL keywords are used as identifiers in certain contexts (e.g., `field`, `key`, `value`, `filter`, `action`, `type`, `version`). These are handled by the `keyword_as_identifier` rule:
10
+
11
+ ```javascript
12
+ keyword_as_identifier: $ => choice(
13
+ 'field', 'key', 'value', 'separator', 'dataset', 'type', 'version', 'action'
14
+ ),
15
+ ```
16
+
17
+ When adding new keywords that can also be identifiers, add them to this choice list.
18
+
19
+ ## Named Keywords
20
+
21
+ 80 keywords are named rules for query matching. Use `kw()` (regex) for simple keywords:
22
+
23
+ ```javascript
24
+ if_keyword: $ => kw('if'),
25
+ ```
26
+
27
+ For CamelCase compound keywords, use explicit case variants:
28
+
29
+ ```javascript
30
+ controladdin_keyword: $ => prec(10, choice(
31
+ 'controladdin', 'CONTROLADDIN', 'Controladdin', 'ControlAddIn'
32
+ )),
33
+ ```
34
+
35
+ ## begin/end Limitation
36
+
37
+ `begin`/`end` MUST stay as anonymous `kw()` tokens. Any naming mechanism (named rules, alias named, alias anonymous) changes the token type and breaks GLR backtracking in preprocessor-split constructs. This is a fundamental tree-sitter limitation.
@@ -0,0 +1,50 @@
1
+ # Parse Failure Debugging
2
+
3
+ ## Quick Workflow
4
+
5
+ ```bash
6
+ # 1. Parse with debug output
7
+ tree-sitter parse file.al -d > debug.log 2>&1
8
+
9
+ # 2. Analyze with bug finder
10
+ python parse_bug_finder.py file.al debug.log
11
+ ```
12
+
13
+ ## Error Research Agent
14
+
15
+ For systematic analysis of parse failures, use the `error-research` agent:
16
+ - Analyzes failing files after validation reveals errors
17
+ - Categorizes error patterns across multiple files
18
+ - Identifies root causes and prioritizes fixes by impact
19
+
20
+ ## Batch Error Analysis
21
+
22
+ ```bash
23
+ # Run full production parse
24
+ ./parse-al-parallel.sh ./BC.History/ .
25
+
26
+ # Check error list
27
+ cat ./BC.History/errors.txt
28
+
29
+ # Parse specific error files
30
+ head -10 ./BC.History/errors.txt | while IFS= read -r f; do
31
+ echo "=== $(basename "$f") ==="
32
+ tree-sitter parse "$f" 2>&1 | grep -E "ERROR|MISSING" | head -3
33
+ done
34
+ ```
35
+
36
+ ## Debugging Process
37
+
38
+ 1. Isolate failing construct, test in minimal context
39
+ 2. Check if rule exists in grammar.js
40
+ 3. Test with precedence if parser state issues
41
+ 4. Use `parse_bug_finder.py` to analyze debug output
42
+ 5. Update expectations (`-u`) only if no ERROR/MISSING nodes
43
+
44
+ ## Philosophy: No Known Limitations
45
+
46
+ **Never give up on a failing pattern:**
47
+ - Don't disable tests or mark issues as "known limitations"
48
+ - Research how other parsers handle similar constructs in `other-languages/`
49
+ - Use `error-research` agent for systematic failure analysis
50
+ - Every "impossible" pattern has been solved somewhere — find it and adapt it
@@ -0,0 +1,46 @@
1
+ # External Scanner Rules
2
+
3
+ The external scanner (`src/scanner.c`) handles patterns that can't be expressed in JavaScript grammar alone.
4
+
5
+ ## Scanner Tokens
6
+
7
+ | Token | Purpose | Lookahead |
8
+ |-------|---------|-----------|
9
+ | `PROPERTY_NAME` | `identifier` followed by `=` (not `:=`) — disambiguates properties from variables | Skip whitespace after identifier, check next char |
10
+ | `CONTINUE_AS_IDENTIFIER` | `continue` followed by `:=` — used as variable name | Check for `:=` after `continue` |
11
+
12
+ ## PROPERTY_NAME Token
13
+
14
+ This is the V2 grammar's key architectural innovation. When the parser state allows both properties and variables, the scanner checks what follows the identifier:
15
+
16
+ 1. Match identifier regex (Unicode-aware)
17
+ 2. Skip whitespace
18
+ 3. If next char is `=` and NOT part of `:=` or `==`: emit `PROPERTY_NAME`
19
+ 4. Otherwise: don't match, let grammar handle as `identifier`
20
+
21
+ **Critical constraint:** `PROPERTY_NAME` must never be in `valid_symbols` inside `var_section` or statement contexts. The grammar naturally ensures this because properties appear in object/section bodies, not in code blocks.
22
+
23
+ ## Adding Scanner Features
24
+
25
+ 1. Add token to `TokenType` enum in `src/scanner.c`
26
+ 2. Add token to `externals` array in `grammar.js`
27
+ 3. Implement lookahead logic in `tree_sitter_al_external_scanner_scan`
28
+ 4. Create grammar rules using the token
29
+ 5. Test with edge cases
30
+
31
+ ## Debugging
32
+
33
+ Enable debug output:
34
+ ```c
35
+ #define SCANNER_DEBUG 1
36
+ ```
37
+
38
+ Trace what the parser is asking for:
39
+ ```c
40
+ if (SCANNER_DEBUG) {
41
+ fprintf(stderr, "SCANNER: valid_symbols PROPERTY_NAME=%d CONTINUE=%d at '%c'\n",
42
+ valid_symbols[PROPERTY_NAME],
43
+ valid_symbols[CONTINUE_AS_IDENTIFIER],
44
+ (char)lexer->lookahead);
45
+ }
46
+ ```
@@ -0,0 +1,36 @@
1
+ # Test Failure Patterns
2
+
3
+ ## Common Patterns
4
+
5
+ | Pattern | Symptom | Fix |
6
+ |---------|---------|-----|
7
+ | **Missing construct** | ERROR nodes | Add rule to `_body_element` or relevant choice list |
8
+ | **Case-sensitivity** | Keywords not matching | Use `kw()` or explicit `choice()` with case variants |
9
+ | **Preprocessor splits** | MISSING tokens in #if contexts | Add dedicated `preproc_split_*` rule |
10
+ | **Complex property syntax** | Property value fails to parse | Add dedicated complex property rule |
11
+ | **Keyword as identifier** | Variable name conflicts with keyword | Add to `keyword_as_identifier` choice list |
12
+ | **Structural mismatch** | Different node structure in tests | Update tests with `-u` if parsing is correct (no ERRORs) |
13
+
14
+ ## When to Update vs Fix
15
+
16
+ | Action | Condition |
17
+ |--------|-----------|
18
+ | **Update tests** (`-u`) | Grammar correct, tree structure evolved, no ERROR/MISSING nodes |
19
+ | **Fix grammar** | ERROR or MISSING nodes present in parse output |
20
+
21
+ ## Test Guidelines
22
+
23
+ - **Never delete or disable test files** — fix the underlying issue
24
+ - Use `tree-sitter test -u` only if no ERROR/MISSING nodes exist
25
+ - **BC.History (15,358 files) is the real validation gate** — tests are a development aid
26
+ - When stuck, study similar patterns in `other-languages/` parsers
27
+
28
+ ## Debugging
29
+
30
+ ```bash
31
+ # Parse with debug output
32
+ tree-sitter parse file.al -d > debug.log 2>&1
33
+
34
+ # Analyze with bug finder
35
+ python parse_bug_finder.py file.al debug.log
36
+ ```
@@ -0,0 +1,43 @@
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+
6
+ [*.{json,toml,yml,gyp}]
7
+ indent_style = space
8
+ indent_size = 2
9
+
10
+ [*.js]
11
+ indent_style = space
12
+ indent_size = 2
13
+
14
+ [*.scm]
15
+ indent_style = space
16
+ indent_size = 2
17
+
18
+ [*.{c,cc,h}]
19
+ indent_style = space
20
+ indent_size = 4
21
+
22
+ [*.rs]
23
+ indent_style = space
24
+ indent_size = 4
25
+
26
+ [*.{py,pyi}]
27
+ indent_style = space
28
+ indent_size = 4
29
+
30
+ [*.swift]
31
+ indent_style = space
32
+ indent_size = 4
33
+
34
+ [*.go]
35
+ indent_style = tab
36
+ indent_size = 8
37
+
38
+ [Makefile]
39
+ indent_style = tab
40
+ indent_size = 8
41
+
42
+ [parser.c]
43
+ indent_size = 2
@@ -0,0 +1,13 @@
1
+ * text=auto eol=lf
2
+
3
+ src/*.json linguist-generated
4
+ src/parser.c linguist-generated
5
+ src/tree_sitter/* linguist-generated
6
+
7
+ bindings/** linguist-generated
8
+ binding.gyp linguist-generated
9
+ setup.py linguist-generated
10
+ Makefile linguist-generated
11
+ CMakeLists.txt linguist-generated
12
+ Package.swift linguist-generated
13
+ go.mod linguist-generated
@@ -0,0 +1,113 @@
1
+ name: Build and release artifacts
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ permissions:
7
+ contents: write
8
+
9
+ jobs:
10
+ build-shared-lib:
11
+ name: Build shared library (${{ matrix.os }})
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ matrix:
15
+ include:
16
+ - os: ubuntu-latest
17
+ artifact: tree-sitter-al.so
18
+ lib-glob: "*.so"
19
+ - os: windows-latest
20
+ artifact: tree-sitter-al.dll
21
+ lib-glob: "*.dll"
22
+ - os: macos-latest
23
+ artifact: tree-sitter-al.dylib
24
+ lib-glob: "*.dylib"
25
+ steps:
26
+ - uses: actions/checkout@v4
27
+
28
+ - name: Set up tree-sitter CLI
29
+ uses: tree-sitter/setup-action/cli@v2
30
+
31
+ - name: Add swap space (Linux only)
32
+ if: runner.os == 'Linux'
33
+ run: |
34
+ sudo swapoff /swapfile || true
35
+ sudo rm -f /swapfile
36
+ sudo fallocate -l 12G /swapfile
37
+ sudo chmod 600 /swapfile
38
+ sudo mkswap /swapfile
39
+ sudo swapon /swapfile
40
+
41
+ - name: Build shared library
42
+ run: tree-sitter build .
43
+
44
+ - name: Find and rename output
45
+ shell: bash
46
+ run: |
47
+ LIB=$(find . -maxdepth 1 -name '${{ matrix.lib-glob }}' | head -1)
48
+ echo "Found: $LIB"
49
+ mv "$LIB" "${{ matrix.artifact }}"
50
+
51
+ - name: Upload shared library artifact
52
+ uses: actions/upload-artifact@v4
53
+ with:
54
+ name: ${{ matrix.artifact }}
55
+ path: ${{ matrix.artifact }}
56
+
57
+ release:
58
+ name: Create GitHub Releases
59
+ needs: [build-shared-lib]
60
+ runs-on: ubuntu-latest
61
+ steps:
62
+ - uses: actions/checkout@v4
63
+
64
+ - name: Download all artifacts
65
+ uses: actions/download-artifact@v4
66
+ with:
67
+ path: artifacts
68
+ merge-multiple: true
69
+
70
+ - name: Copy prebuilt WASM
71
+ run: cp tree-sitter-al.wasm artifacts/
72
+
73
+ - name: List artifacts
74
+ run: ls -la artifacts/
75
+
76
+ - name: Get version from package.json
77
+ id: version
78
+ run: |
79
+ VERSION=$(node -p "require('./package.json').version")
80
+ echo "version=$VERSION" >> "$GITHUB_OUTPUT"
81
+ echo "tag=v$VERSION" >> "$GITHUB_OUTPUT"
82
+ echo "Version: $VERSION (tag: v$VERSION)"
83
+
84
+ - name: Check if versioned release already exists
85
+ id: check
86
+ run: |
87
+ if gh release view "v${{ steps.version.outputs.version }}" >/dev/null 2>&1; then
88
+ echo "exists=true" >> "$GITHUB_OUTPUT"
89
+ echo "Versioned release v${{ steps.version.outputs.version }} already exists, skipping"
90
+ else
91
+ echo "exists=false" >> "$GITHUB_OUTPUT"
92
+ fi
93
+ env:
94
+ GH_TOKEN: ${{ github.token }}
95
+
96
+ - name: Create versioned release
97
+ if: steps.check.outputs.exists == 'false'
98
+ uses: softprops/action-gh-release@v2
99
+ with:
100
+ tag_name: ${{ steps.version.outputs.tag }}
101
+ name: ${{ steps.version.outputs.tag }}
102
+ body: |
103
+ ## tree-sitter-al ${{ steps.version.outputs.tag }}
104
+
105
+ | File | Platform | Use case |
106
+ |------|----------|----------|
107
+ | `tree-sitter-al.wasm` | All | web-tree-sitter |
108
+ | `tree-sitter-al.so` | Linux x86_64 | ast-grep, native bindings |
109
+ | `tree-sitter-al.dll` | Windows x86_64 | ast-grep, native bindings |
110
+ | `tree-sitter-al.dylib` | macOS ARM64 | ast-grep, native bindings |
111
+ files: artifacts/*
112
+ make_latest: true
113
+ prerelease: false
@@ -0,0 +1,44 @@
1
+ name: Claude Code Review
2
+
3
+ on:
4
+ pull_request:
5
+ types: [opened, synchronize, ready_for_review, reopened]
6
+ # Optional: Only run on specific file changes
7
+ # paths:
8
+ # - "src/**/*.ts"
9
+ # - "src/**/*.tsx"
10
+ # - "src/**/*.js"
11
+ # - "src/**/*.jsx"
12
+
13
+ jobs:
14
+ claude-review:
15
+ # Optional: Filter by PR author
16
+ # if: |
17
+ # github.event.pull_request.user.login == 'external-contributor' ||
18
+ # github.event.pull_request.user.login == 'new-developer' ||
19
+ # github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
20
+
21
+ runs-on: ubuntu-latest
22
+ permissions:
23
+ contents: read
24
+ pull-requests: read
25
+ issues: read
26
+ id-token: write
27
+
28
+ steps:
29
+ - name: Checkout repository
30
+ uses: actions/checkout@v4
31
+ with:
32
+ fetch-depth: 1
33
+
34
+ - name: Run Claude Code Review
35
+ id: claude-review
36
+ uses: anthropics/claude-code-action@v1
37
+ with:
38
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
39
+ plugin_marketplaces: 'https://github.com/anthropics/claude-code.git'
40
+ plugins: 'code-review@claude-code-plugins'
41
+ prompt: '/code-review:code-review ${{ github.repository }}/pull/${{ github.event.pull_request.number }}'
42
+ # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
43
+ # or https://code.claude.com/docs/en/cli-reference for available options
44
+
@@ -0,0 +1,50 @@
1
+ name: Claude Code
2
+
3
+ on:
4
+ issue_comment:
5
+ types: [created]
6
+ pull_request_review_comment:
7
+ types: [created]
8
+ issues:
9
+ types: [opened, assigned]
10
+ pull_request_review:
11
+ types: [submitted]
12
+
13
+ jobs:
14
+ claude:
15
+ if: |
16
+ (github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
17
+ (github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
18
+ (github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
19
+ (github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
20
+ runs-on: ubuntu-latest
21
+ permissions:
22
+ contents: read
23
+ pull-requests: read
24
+ issues: read
25
+ id-token: write
26
+ actions: read # Required for Claude to read CI results on PRs
27
+ steps:
28
+ - name: Checkout repository
29
+ uses: actions/checkout@v4
30
+ with:
31
+ fetch-depth: 1
32
+
33
+ - name: Run Claude Code
34
+ id: claude
35
+ uses: anthropics/claude-code-action@v1
36
+ with:
37
+ claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
38
+
39
+ # This is an optional setting that allows Claude to read CI results on PRs
40
+ additional_permissions: |
41
+ actions: read
42
+
43
+ # Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
44
+ # prompt: 'Update the pull request description to include a summary of changes.'
45
+
46
+ # Optional: Add claude_args to customize behavior and configuration
47
+ # See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
48
+ # or https://code.claude.com/docs/en/cli-reference for available options
49
+ # claude_args: '--allowed-tools Bash(gh pr:*)'
50
+
@@ -0,0 +1,58 @@
1
+ name: Publish Python Package
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ build-wheels:
10
+ name: Build wheels (${{ matrix.os }})
11
+ strategy:
12
+ matrix:
13
+ os: [ubuntu-latest, windows-latest, macos-latest]
14
+ runs-on: ${{ matrix.os }}
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ with:
18
+ fetch-depth: 0
19
+ - uses: actions/setup-python@v5
20
+ with:
21
+ python-version: "3.12"
22
+ - run: pip install cibuildwheel
23
+ - run: cibuildwheel --output-dir dist
24
+ - uses: actions/upload-artifact@v4
25
+ with:
26
+ name: wheels-${{ matrix.os }}
27
+ path: dist/*.whl
28
+
29
+ build-sdist:
30
+ name: Build sdist
31
+ runs-on: ubuntu-latest
32
+ steps:
33
+ - uses: actions/checkout@v4
34
+ with:
35
+ fetch-depth: 0
36
+ - uses: actions/setup-python@v5
37
+ with:
38
+ python-version: "3.12"
39
+ - run: pip install build
40
+ - run: python -m build --sdist
41
+ - uses: actions/upload-artifact@v4
42
+ with:
43
+ name: sdist
44
+ path: dist/*.tar.gz
45
+
46
+ publish:
47
+ name: Publish to PyPI
48
+ needs: [build-wheels, build-sdist]
49
+ runs-on: ubuntu-latest
50
+ environment: pypi
51
+ permissions:
52
+ id-token: write
53
+ steps:
54
+ - uses: actions/download-artifact@v4
55
+ with:
56
+ path: dist
57
+ merge-multiple: true
58
+ - uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,110 @@
1
+ # Rust artifacts
2
+ target/
3
+
4
+ # Node artifacts
5
+ build/
6
+ prebuilds/
7
+ node_modules/
8
+
9
+ # Swift artifacts
10
+ .build/
11
+
12
+ # Go artifacts
13
+ _obj/
14
+
15
+ # Python artifacts
16
+ .venv/
17
+ dist/
18
+ *.egg-info
19
+ *.whl
20
+
21
+ # C artifacts
22
+ *.a
23
+ *.so
24
+ *.so.*
25
+ *.dylib
26
+ *.dll
27
+ *.pc
28
+
29
+ # Example dirs
30
+ /examples/*/
31
+
32
+ # Grammar volatiles
33
+ *.wasm
34
+ !tree-sitter-al.wasm
35
+ *.obj
36
+ *.o
37
+
38
+ # Archives
39
+ *.tar.gz
40
+ *.tgz
41
+ *.zip
42
+ .aider*
43
+ .env
44
+ /env
45
+ /developer
46
+ /.vscode
47
+ *.al
48
+ *.ps1
49
+ *.log
50
+ log.html
51
+ grammarPascal.js
52
+
53
+ /memory-bank/*
54
+
55
+ DC/*
56
+
57
+ # Analysis and utility scripts
58
+ *.py
59
+ # But allow keyword-sync tools
60
+ !tools/keyword-sync/*.py
61
+ !tools/keyword-sync/output/
62
+ tools/keyword-sync/__pycache__/
63
+ current_orphans.txt
64
+ orphan_report.txt
65
+ run_query*.sh
66
+ # Ignore queries/ except standard tree-sitter query files
67
+ queries/*
68
+ !queries/tags.scm
69
+ !queries/highlights.scm
70
+ !queries/locals.scm
71
+ !queries/indents.scm
72
+ !queries/folds.scm
73
+ FIXES.md
74
+
75
+ # AI assistant files
76
+ .claude/
77
+ .clinerules/
78
+ .goosehints
79
+ CLAUDE.md
80
+ settings.local.json
81
+
82
+ # Development and analysis files
83
+ *PLAN*.md
84
+ *SUMMARY*.md
85
+ *MIGRATION*.md
86
+ *MERGE*.md
87
+ *SOLUTION*.md
88
+ *CONVENTION*.md
89
+ *MISSING*.md
90
+ *QUERIES*.md
91
+ *RULES*.md
92
+ *GUIDE*.md
93
+ property_*.md
94
+ property_*.txt
95
+ all_properties.txt
96
+ context_mapping.txt
97
+ migration_strategy.md
98
+ validation_report.md
99
+ orphan_*.txt
100
+
101
+ # Build artifacts
102
+ *.pdb
103
+ *.exp
104
+ *.lib
105
+ al_testfiles/parsed.txt
106
+
107
+ # Backup files
108
+ bak/
109
+
110
+ BC.History/