An open-source XBRL processor for business rules, rendering and custom data reporting. See https://xbrl.us/xule for documentation and https://xbrl.us/xule-editor for a VS Code syntax highlighter.
Apache License 2.0
25
stars
10
forks
source link
Make XULE compiler grammar compatible with pyparsing 3 #22
The first two commits (5bbfbc7b22e9417f1322bac3ddc00d409aaceec0, 42eb6254662902e690b10b642fe22bc7dfe7c4f1) handle differences between grammar behavior in pyparsing 2 and 3.
The third commit (df4e8807ca647d94d2f0c91420aeda26d0ddb4ea) is general cleanup that removes unused pyparsing imports.
The fourth and fifth commits (532b7360d82e22db8b102dd9b20bd42edb9fe25c, a446399c68255fa8ae0ac123f58624622947e381) transition the grammar from using pyparsing classes and functions which have been deprecated in pyparsing 3 and slated for removed in pyparsing 4. While there's quite a bit here, it's all renaming setResultsName() to set_results_name(), Optional(...) to Opt(...), etc. These two commits break compatibility with pyparsing 2 while the previous 3 do not.
Testing
I compiled each of the ESEF, US, and IFRS DQC sources using the json format (--xule-compile-type json) with both the current main branch and pyparsing 2 and then with this updated PR and pyparsing 3. I then ran a diff between the json output to verify there were no changes in the compiled output.
Changes
setResultsName()
toset_results_name()
,Optional(...)
toOpt(...)
, etc. These two commits break compatibility with pyparsing 2 while the previous 3 do not.Testing
I compiled each of the ESEF, US, and IFRS DQC sources using the json format (
--xule-compile-type json
) with both the current main branch and pyparsing 2 and then with this updated PR and pyparsing 3. I then ran a diff between the json output to verify there were no changes in the compiled output.@campbellpryde @davidtauriello