From bed013e617130f7afd1f90ba57afc160b43c71df Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Sun, 12 Apr 2015 17:40:32 +0200 Subject: Implement non-greedy behaviour for short tokens --- .../math_non_greedy_limits.in.osml | 5 ++++ .../math_non_greedy_limits.out.osxml | 28 ++++++++++++++++++++++ .../non_greedy_shortform.in.osml | 2 ++ .../non_greedy_shortform.out.osxml | 15 ++++++++++++ .../user_defined_syntax/ontologies/math.osml | 8 +++---- .../ontologies/non_greedy_shortform.osml | 15 ++++++++++++ 6 files changed, 69 insertions(+), 4 deletions(-) create mode 100644 testdata/integration/user_defined_syntax/math_non_greedy_limits.in.osml create mode 100644 testdata/integration/user_defined_syntax/math_non_greedy_limits.out.osxml create mode 100644 testdata/integration/user_defined_syntax/non_greedy_shortform.in.osml create mode 100644 testdata/integration/user_defined_syntax/non_greedy_shortform.out.osxml create mode 100644 testdata/integration/user_defined_syntax/ontologies/non_greedy_shortform.osml (limited to 'testdata') diff --git a/testdata/integration/user_defined_syntax/math_non_greedy_limits.in.osml b/testdata/integration/user_defined_syntax/math_non_greedy_limits.in.osml new file mode 100644 index 0000000..d9481d0 --- /dev/null +++ b/testdata/integration/user_defined_syntax/math_non_greedy_limits.in.osml @@ -0,0 +1,5 @@ +\document +\import[ontology]{./ontologies/math} +\begin{math} + \sum_{i=3}^{5} i_M^2 +\end{math} diff --git a/testdata/integration/user_defined_syntax/math_non_greedy_limits.out.osxml b/testdata/integration/user_defined_syntax/math_non_greedy_limits.out.osxml new file mode 100644 index 0000000..86f38b1 --- /dev/null +++ b/testdata/integration/user_defined_syntax/math_non_greedy_limits.out.osxml @@ -0,0 +1,28 @@ + + + + + + + + + i + + 3 + + + 5 + + + + i + + M + + + 2 + + + + + diff --git a/testdata/integration/user_defined_syntax/non_greedy_shortform.in.osml b/testdata/integration/user_defined_syntax/non_greedy_shortform.in.osml new file mode 100644 index 0000000..68866c6 --- /dev/null +++ b/testdata/integration/user_defined_syntax/non_greedy_shortform.in.osml @@ -0,0 +1,2 @@ +\import[ontology]{./ontologies/non_greedy_shortform} +\begin{test}?a ?b?c ??d + ?+{?} \end{test} diff --git a/testdata/integration/user_defined_syntax/non_greedy_shortform.out.osxml b/testdata/integration/user_defined_syntax/non_greedy_shortform.out.osxml new file mode 100644 index 0000000..c2431eb --- /dev/null +++ b/testdata/integration/user_defined_syntax/non_greedy_shortform.out.osxml @@ -0,0 +1,15 @@ + + + + a + b + c + + d + + + + + + + diff --git a/testdata/integration/user_defined_syntax/ontologies/math.osml b/testdata/integration/user_defined_syntax/ontologies/math.osml index c864d2b..f10b6a2 100644 --- a/testdata/integration/user_defined_syntax/ontologies/math.osml +++ b/testdata/integration/user_defined_syntax/ontologies/math.osml @@ -76,12 +76,12 @@ % TODO: Differentiate between lower and upper index vs. power operator? \struct#power[isa=primitive] \syntax - \short{^} + \short[greedy=false]{^} \field \childRef[ref=primitive] \struct#index[isa=primitive] \syntax - \short{_} + \short[greedy=false]{_} \field \childRef[ref=primitive] @@ -211,12 +211,12 @@ \childRef[ref=upperLimit] \struct#lowerLimit[cardinality={0,1}] \syntax - \short{_} + \short[greedy=false]{_} \field \childRef[ref=primitive] \struct#upperLimit[cardinality={0,1}] \syntax - \short{^} + \short[greedy=false]{^} \field \childRef[ref=primitive] diff --git a/testdata/integration/user_defined_syntax/ontologies/non_greedy_shortform.osml b/testdata/integration/user_defined_syntax/ontologies/non_greedy_shortform.osml new file mode 100644 index 0000000..7a370ac --- /dev/null +++ b/testdata/integration/user_defined_syntax/ontologies/non_greedy_shortform.osml @@ -0,0 +1,15 @@ +\ontology#test + \struct#test[root=true] + \field + \childRef[a] + \childRef[b] + \struct#a + \syntax + \short[false]{?} + \primitive[optional=true,type=string] + \struct#b + \syntax + \short[false]{+} + \field + \childRef[a] + -- cgit v1.2.3