Closed HaroldBoley closed 6 years ago
New module called repoexpr_expansion_module.rnc copied from repo_expansion_module.rnc, containing the following code:
## terms allowed as positional rests include functional expressions.
repoTerm.choice |= Expression-node.choice
Update documentation (e.g. dc metadata).
Modify the start pattern to:
start |= notAllowed
In relaxng directory, create two new drivers
which are copied from
in drivers directory. Add the following include statement for module repoexpr_expansion_module.rnc after the repo... include :
include "modules/repoexpr_expansion_module.rnc" inherit = ruleml {start |= notAllowed}
In relaxng directory, modify the four drivers named all_* by adding the include statement above after the include for "modules/repo_expansion_module.rnc".
Create new file /home/dylan/Github/deliberation-ruleml/exa/Hornlog/hornlog/hornlogrepoexpr.ruleml copied from /home/dylan/Github/deliberation-ruleml/exa/Hornlog/hornlog/hornlogrepoexpr_fail.ruleml . Change all of the names of the schemas in the new instance file to hornlogrepoexpr_relaxed.
Modify comment to:
<!-- a syntactic example rulebase for testing an example (<Expr> in <repo>) for the
Hornlog RuleML sublanguage extended with functional expressions as positional rests-->
Similarly for instances in /home/dylan/Github/deliberation-ruleml/test/rnc-test-suites/functional-test-suite/hornlogrepoexpr_fail.ruleml and /home/dylan/Github/deliberation-ruleml/test/xsd-test-suites/functional-test-suite/hornlogrepoexpr_fail.ruleml .
Modify build script configuration files so that that the hornlogrepoexpr XSD is generated.
Add to /home/dylan/Github/deliberation-ruleml/bash/batch_config2rnc4xsd.sh : cp "${RNC_HOME}hornlogrepoexpr4xsd.rnc" "${RNC4XSD_HOME}hornlogrepoexpr.rnc"
Create new file hornlogrepoexpr4xsd.rnc in relaxng directory, copied from the driver generated in myng for hornlog. Add the include statement for the new module.
Add new drivers hornlogrepoexpr4xsd.rnc and hornlogrepoexpr_normal4xsd.rnc to relaxng directory:
Refinement C1: Modify bash/batch_xslt_test-normal.sh so that the repoexpr (ultimately, e.g. repoexpr_temp) instance files are excluded from testing for validity against nafhologeq_normal.xsd and nafhologeq_normal.rnc as follows:
if [[ ! "${file}" =~ fail ]] && [[ ! "${file}" =~ repoexpr ]] && [[ "${exitvalue}" -ne "0" ]]; then
echo "XSD Validation Failed for Normal ${file}"
exit 1
fi
if [[ ! "${file}" =~ fail ]] && [[ ! "${file}" =~ repoexpr ]] && [[ "${exitvalue}" -ne "0" ]]; then
echo "RNC Validation Failed for Normal ${file}"
exit 1
fi
Refinement C2: Add the (above) include statement to supremum schemas nafhologeq*.rnc
Implement accepted option of - http://wiki.ruleml.org/index.php/Functional_Languages_Should_Allow_Expr_Within_repo#Option_1