You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2012/09/05 15:40:58 UTC
svn commit: r1381180 [2/2] - in
/uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook: ./
language/
Added: uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/language/tools.textmarker.language.expressions.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/language/tools.textmarker.language.expressions.xml?rev=1381180&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/language/tools.textmarker.language.expressions.xml (added)
+++ uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/language/tools.textmarker.language.expressions.xml Wed Sep 5 13:40:58 2012
@@ -0,0 +1,263 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"[
+<!ENTITY imgroot "images/tools/tools.textmarker/" >
+<!ENTITY % uimaents SYSTEM "../../target/docbook-shared/entities.ent" >
+%uimaents;
+]>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+ license agreements. See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership. The ASF licenses this file to
+ you under the Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain a copy of
+ the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+ by applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ OF ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License. -->
+
+<section id="ugr.tools.tm.language.expressions">
+ <title>Expressions</title>
+ <para>
+ TexMarker provides four different kinds of expressions. These are
+ type expressions, number expressions, string expressions and
+ boolean
+ expressions.
+ </para>
+ <section>
+ <title>
+ <emphasis role="bold">Definition:</emphasis>
+ </title>
+ <para>
+ <programlisting><![CDATA[textmarkerExpression -> typeExpression | numberExpression |
+ stringExpression | booleanExpression]]></programlisting>
+ </para>
+ </section>
+
+ <section id="ugr.tools.tm.language.expressions.type">
+ <title>Type Expressions</title>
+ <para>
+ TextMarker provides two kinds of type expressions.
+ <orderedlist numeration="arabic">
+ <listitem>
+ Declared annotation types (see
+ <xref linkend='ugr.tools.tm.language.declarations.type' />
+ ).
+ </listitem>
+ <listitem>
+ Type variables
+ (see
+ <xref linkend='ugr.tools.tm.language.declarations.variable' />
+ )
+ </listitem>
+ </orderedlist>
+ <section>
+ <title>
+ <emphasis role="bold">Definition:</emphasis>
+ </title>
+ <para>
+ <programlisting><![CDATA[typeExpression -> AnnotationType | TypeVariable]]></programlisting>
+ </para>
+ </section>
+ <section>
+ <title>
+ <emphasis role="bold">Example:</emphasis>
+ </title>
+ <para>
+ <programlisting><![CDATA[DECLARE Author; // Author defines a type, therefore it is a type expression
+TYPE typeVar; // type variable typeVar is a type expression
+Document{->ASSIGN(typeVar, Author)};]]></programlisting>
+ </para>
+ </section>
+ </para>
+ </section>
+
+ <section id="ugr.tools.tm.language.expressions.number">
+ <title>Number Expressions</title>
+ <para>
+ TextMarker provides several possibilities to define number
+ expressions. As expected, every number expression evaluates to a
+ number. TextMarker supports integer and floating-point numbers. A
+ floating-point number can be in single or in double precision. To get
+ a complete overview, have a look at the following syntax definition
+ of number expressions.
+ <section>
+ <title>
+ <emphasis role="bold">Definition:</emphasis>
+ </title>
+ <para>
+ <programlisting><![CDATA[numberExpression -> additiveExpression
+additiveExpression -> multiplicativeExpression ( ( "+" | "-" )
+ multiplicativeExpression )*
+multiplicativeExpression -> simpleNumberExpression ( ( "*" | "/" | "%" )
+ simpleNumberExpression )*
+ | ( "EXP" | "LOGN" | "SIN" | "COS" | "TAN" )
+ "(" numberExpression ")"
+simpleNumberExpression -> "-"? ( DecimalLiteral | FloatingPointLiteral
+ | NumberVariable) | "(" numberExpression ")"
+DecimalLiteral -> ('0' | '1'..'9' digit*) IntegerTypeSuffix?
+IntegerTypeSuffix -> ('l'|'L')
+FloatingPointLiteral -> Digit+ '.' Digit* Exponent? FloatTypeSuffix?
+ | '.' Digit+ Exponent? FloatTypeSuffix?
+ | Digit+ Exponent FloatTypeSuffix?
+ | Digit+ Exponent? FloatTypeSuffix
+FloatTypeSuffix -> ('f'|'F'|'d'|'D')
+Exponent -> ('e'|'E') ('+'|'-')? Digit+
+Digit -> ('0'..'9') ]]></programlisting>
+ </para>
+ </section>
+ <para>
+ For more information on number variables, see
+ <xref linkend='ugr.tools.tm.language.declarations.variable' />
+ .
+ </para>
+ <section>
+ <title>
+ <emphasis role="bold">Examples:</emphasis>
+ </title>
+ <para>
+ <programlisting><![CDATA[98 // a integer number literal
+104L // a integer number literal
+170.02 // a floating-point number literal
+1.0845D // a floating-point number literal in double precision]]></programlisting>
+ </para>
+ <para>
+ <programlisting><![CDATA[INT intVar1;
+INT intVar2;
+...
+Document{->ASSIGN(intVar1, 12 * intVar1 - SIN(intVar2))};]]></programlisting>
+ </para>
+ </section>
+ </para>
+ </section>
+
+ <section id="ugr.tools.tm.language.expressions.string">
+ <title>String Expressions</title>
+ <para>
+ There are two kinds of string expressions in TextMarker.
+ <orderedlist numeration="arabic">
+ <listitem>
+ String literals: String literals are defined by any sequence of
+ characters within quotation marks.
+ </listitem>
+ <listitem>
+ String variables (see
+ <xref linkend='ugr.tools.tm.language.declarations.variable' />
+ )
+ </listitem>
+ </orderedlist>
+ <section>
+ <title>
+ <emphasis role="bold">Definition:</emphasis>
+ </title>
+ <para>
+ <programlisting><![CDATA[stringExpression -> simpleStringExpression
+simpleStringExpression -> StringLiteral | StringVariable]]></programlisting>
+ </para>
+ </section>
+ <section>
+ <title>
+ <emphasis role="bold">Example:</emphasis>
+ </title>
+ <para>
+ <programlisting><![CDATA[STRING strVar; // strVar is a string expression
+Document{->ASSIGN(strVar, "strLiteral")}; // "strLiteral" is a string
+ // expression]]></programlisting>
+ </para>
+ </section>
+ </para>
+ </section>
+
+ <section id="ugr.tools.tm.language.expressions.boolean">
+ <title>Boolean Expressions</title>
+ <para>
+ TextMarker provides several possibilities to define boolean
+ expressions. As expected, every boolean expression evaluates to
+ either
+ true or false. To get a complete overview, have a look at the
+ following syntax definition of boolean expressions.
+ <section>
+ <title>
+ <emphasis role="bold">Definition:</emphasis>
+ </title>
+ <para>
+ <programlisting><![CDATA[booleanExpression -> composedBooleanExpression
+ | simpleBooleanExpression
+composedBooleanExpression -> booleanCompare | booleanTypeExpression
+ | booleanNumberExpression | booleanFunction
+simpleBooleanExpression -> BooleanLiteral | BooleanVariable
+booleanCompare -> simpleBooleanExpression ( "==" | "!=" )
+ booleanExpression
+booleanTypeExpression -> typeExpression ( "==" | "!=" ) typeExpression
+booleanNumberExpression -> "(" numberExpression ( "<" | "<=" | ">"
+ | ">=" | "==" | "!=" ) numberExpression ")"
+booleanFunction -> XOR "(" booleanExpression "," booleanExpression ")"
+BooleanLiteral -> "true" | "false"]]></programlisting>
+ </para>
+ <para>
+ Boolean variables are defined in
+ <xref linkend='ugr.tools.tm.language.declarations.variable' />
+ .
+ </para>
+ </section>
+ <section>
+ <title>
+ <emphasis role="bold">Examples:</emphasis>
+ </title>
+ <para>
+ <programlisting><![CDATA[Document{->ASSIGN(boolVar, false)};]]></programlisting>
+ </para>
+ <para>
+ The boolean literal 'false' is assigned to boolean variable
+ boolVar.
+ </para>
+ <para>
+ <programlisting><![CDATA[Document{->ASSIGN(boolVar, typeVar == Author)};]]></programlisting>
+ </para>
+ <para>
+ If type variable typeVar represents annotation type Author,
+ the
+ boolean
+ type expression evaluates to true, otherwise it evaluates
+ to
+ false. The result is assigned to boolean variable boolVar.
+ </para>
+ <para>
+ <programlisting><![CDATA[Document{->ASSIGN(boolVar, (intVar == 10))};]]></programlisting>
+ </para>
+ <para>
+ This rule shows a boolean number expression. If the value in
+ variable intVar is equal to 10, the boolean number expression
+ evaluates to true, otherwise it evaluates to
+ false. The result is
+ assigned to boolean variable boolVar. The brackets
+ surrounding the number expression are necessary.
+ </para>
+ <para>
+ <programlisting><![CDATA[Document{->ASSIGN(booleanVar1, booleanVar2 == (10 > intVar))};]]></programlisting>
+ </para>
+ <para>
+ This rule shows a more complex boolean expression. If the
+ value
+ in
+ variable intVar is equal to 10, the boolean number
+ expression
+ evaluates to true, otherwise it evaluates to
+ false. The
+ result of
+ this
+ evaluation is compared to booleanVar2. The end result
+ is
+ assigned to
+ boolean variable boolVar1. Realize that the syntax
+ definition defines
+ exactly this order. It is not possible to have
+ the
+ boolean number
+ expression on the left side of the complex number
+ expression.
+ </para>
+ </section>
+ </para>
+ </section>
+</section>
\ No newline at end of file
Added: uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/language/tools.textmarker.language.quantifier.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/language/tools.textmarker.language.quantifier.xml?rev=1381180&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/language/tools.textmarker.language.quantifier.xml (added)
+++ uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/language/tools.textmarker.language.quantifier.xml Wed Sep 5 13:40:58 2012
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"[
+<!ENTITY imgroot "images/tools/tools.textmarker/" >
+<!ENTITY % uimaents SYSTEM "../../target/docbook-shared/entities.ent" >
+%uimaents;
+]>
+<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
+ license agreements. See the NOTICE file distributed with this work for additional
+ information regarding copyright ownership. The ASF licenses this file to
+ you under the Apache License, Version 2.0 (the "License"); you may not use
+ this file except in compliance with the License. You may obtain a copy of
+ the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
+ by applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
+ OF ANY KIND, either express or implied. See the License for the specific
+ language governing permissions and limitations under the License. -->
+
+<section id="ugr.tools.tm.language.quantifier">
+ <title>Quantifiers</title>
+ <para>
+ </para>
+ <section id="ugr.tools.tm.language.quantifier.sg">
+ <title>* Star Greedy</title>
+ <para>
+ The Star Greedy quantifier matches on any amount of annotations and
+ evaluates always true. Please mind, that a rule element with a Star
+ Greedy quantifier needs to match on different annotations than the
+ next rule element.
+
+ Examples:
+ <programlisting><![CDATA[Input: small Big Big Big small
+ Rule: CW*
+ Matched: Big Big Big
+ Matched: Big Big
+ Matched: Big]]></programlisting>
+ </para>
+ </section>
+ <section id="ugr.tools.tm.language.quantifier.sr">
+ <title>*? Star Reluctant</title>
+ <para>
+ The Star Reluctant quantifier matches on any amount of annotations
+ and evaluates always true, but stops to match on new annotations,
+ when the next rule element matches and evaluates true on this
+ annotation.
+
+ Examples:
+ <programlisting><![CDATA[Input: 123 456 small small Big
+ Rule: W*? CW
+ Matched: small small Big
+ Matched: small Big
+ Matched: Big]]></programlisting>
+ </para>
+ </section>
+ <section id="ugr.tools.tm.language.quantifier.pg">
+ <title>+ Plus Greedy</title>
+ <para>
+ The Plus Greedy quantifier needs to match on at least one
+ annotation.
+ Please mind, that a rule element after a rule element
+ with a Plus
+ Greedy quantifier matches and evaluates on different
+ conditions.
+
+ Examples:
+
+ <programlisting><![CDATA[Input: 123 456 small small Big
+ Rule: SW+
+ Matched: small small
+ Matched: small]]></programlisting>
+ </para>
+ </section>
+ <section id="ugr.tools.tm.language.quantifier.pr">
+ <title>+? Plus Reluctant</title>
+ <para>
+ The Plus Reluctant quantifier has to match on at least one
+ annotation
+ in order to evaluate true, but stops when the next rule
+ element is
+ able to match on this annotation.
+
+ Examples:
+ <programlisting><![CDATA[Input: 123 456 small small Big
+ Rule: W+? CW
+ Matched: small small Big]]></programlisting>
+ </para>
+ </section>
+ <section id="ugr.tools.tm.language.quantifier.qg">
+ <title>? Question Greedy</title>
+ <para>
+ The Question Greedy quantifier matches optionally on an annotation
+ and therefore always evaluates true.
+
+ Examples:
+ <programlisting><![CDATA[Input: 123 456 small Big small Big
+ Rule: SW CW? SW
+ Matched: small Big small]]></programlisting>
+ </para>
+ </section>
+ <section id="ugr.tools.tm.language.quantifier.qr">
+ <title>?? Question Reluctant</title>
+ <para>
+ The Question Reluctant quantifier matches optionally on an
+ annotation
+ if the next rule element can not match on the same
+ annotation and
+ therefore always evaluates true.
+
+ Examples:
+ <programlisting><![CDATA[Input: 123 456 small Big small Big
+ Rule: SW CW?? SW
+ Matched: small Big small]]></programlisting>
+ </para>
+ </section>
+ <section id="ugr.tools.tm.language.quantifier.mmg">
+ <title>[x,y] Min Max Greedy</title>
+ <para>
+ The Min Max Greedy quantifier has to match at least x and at most y
+ annotations of its rule element to evaluate true.
+
+ Examples:
+ <programlisting><![CDATA[Input: 123 456 small Big small Big
+ Rule: SW CW[1,2] SW
+ Matched: small Big small]]></programlisting>
+ </para>
+ </section>
+ <section id="ugr.tools.tm.language.quantifier.mmr">
+ <title>[x,y]? Min Max Reluctant</title>
+ <para>
+ The Min Max Greedy quantifier has to match at least x and at most y
+ annotations of its rule element to evaluate true, but stops to
+ match
+ on additional annotations if the next rule element is able to
+ match
+ on
+ this annotation.
+
+ Examples:
+ <programlisting><![CDATA[Input: 123 456 small Big Big Big small Big
+ Rule: SW CW[2,100]? SW
+ Matched: small Big Big Big small]]></programlisting>
+ </para>
+ </section>
+</section>
\ No newline at end of file
Modified: uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/tools.textmarker.language.xml
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/tools.textmarker.language.xml?rev=1381180&r1=1381179&r2=1381180&view=diff
==============================================================================
--- uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/tools.textmarker.language.xml (original)
+++ uima/sandbox/trunk/TextMarker/uima-docbook-textmarker/src/docbook/tools.textmarker.language.xml Wed Sep 5 13:40:58 2012
@@ -5,16 +5,24 @@
<!ENTITY % uimaents SYSTEM "../../target/docbook-shared/entities.ent" >
%uimaents;
]>
-<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
- license agreements. See the NOTICE file distributed with this work for additional
- information regarding copyright ownership. The ASF licenses this file to
- you under the Apache License, Version 2.0 (the "License"); you may not use
- this file except in compliance with the License. You may obtain a copy of
- the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
- by applicable law or agreed to in writing, software distributed under the
- License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
- OF ANY KIND, either express or implied. See the License for the specific
- language governing permissions and limitations under the License. -->
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
<chapter id="ugr.tools.tm.language.language">
<title>TextMarker Language</title>
@@ -149,302 +157,20 @@ collect all basic annotations that fulfi
</para>
</section>
- <section id="ugr.tools.tm.language.declarations">
- <title>Declarations</title>
- <para>
-
- There are three different kinds declaration in the TextMarker
- system:
- Declarations of types with optional feature definitions of
- that type,
- declaration of variables and declarations for importing
- external
- resources, scripts of UIMA components.
- </para>
- <section id="ugr.tools.tm.language.declarations.type">
- <title>Type</title>
- <para>
- Type declarations define new kinds of annotations types and
- optionally its features.
-
- Examples:
- <programlisting><![CDATA[
- DECLARE SimpleType1, SimpleType2; // <- two new types with the parent type "Annotation"
- DECLARE ParentType NewType (SomeType feature1, INT feature2); // <- defines a new type "NewType"
- // with parent type "ParentType" and two features
- ]]></programlisting>
-
- If the parent type is not defined in the same namepace, then the
- complete namespace has to be used, e.g., DECLARE
- my.other.package.Parent NewType;
- </para>
- </section>
- <section id="ugr.tools.tm.language.declarations.variable">
- <title>Variable</title>
- <para>
- Variable declarations define new variables. There are five kinds of
- variables:
- * Type variable: A variable that represents an annotation
- type.
- * Integer variable: A variable that represents a integer.
- *
- Double variable: A variable that represents a floating-point
- number.
- * String variable: A variable that represents a string.
- *
- Boolean
- variable: A variable that represents a boolean.
-
- Examples:
- <programlisting><![CDATA[
- TYPE newTypeVariable;
- INT newIntegerVariable;
- DOUBLE newDoubleVariable;
- STRING newStringVariable;
- BOOLEAN newBooleanVariable;
- ]]></programlisting>
-
- </para>
- </section>
- <section id="ugr.tools.tm.language.declarations.ressource">
- <title>Resources</title>
- <para>
-
- There are two kinds of resource declaration, that make external
- resources available in hte TextMarker system:
- * List: A list
- represents a normal text file with an entry per line
- or a compiled
- tree of a word list.
- * Table: A table represents comma separated
- file.
-
- Examples:
- <programlisting><![CDATA[
- LIST Name = 'someWordList.txt';
- TABLE Name = 'someTable.csv';
- ]]></programlisting>
-
- </para>
- </section>
- <section id="ugr.tools.tm.language.declarations.scripts">
- <title>Scripts</title>
- <para>
-
- Additional scripts can be imported and reused with the CALL action.
- The types of the imported rules are then also available, so that it
- is not neccessary to import the Type System of the additional rule
- script.
-
- Examples:
- <programlisting><![CDATA[
- SCRIPT my.package.AnotherScript; // <- "AnotherScript.tm" in the "my.package" package
- Document{->CALL(AnotherScript)}; // <- rule executes "AnotherScript.tm"
- ]]></programlisting>
-
- </para>
- </section>
- <section id="ugr.tools.tm.language.declarations.components">
- <title>Components</title>
- <para>
-
- There are two kind of UIMA components that can be imported in a
- TextMarker script:
- * Type System: includes the types defined in an
- external type system.
- * Analysis Engine: makes an external analysis
- engine available. The
- type system needed for the analysis engine has
- to be imported
- seperately. Please mind the filtering setting when
- calling an
- external analysis engine.
-
- Examples:
- <programlisting><![CDATA[
- ENINGE my.package.ExternalEngine; // <- "ExternalEngine.xml" in the
- // "my.package" package (in the descriptor folder)
- TYPESYSTEM my.package.ExternalTypeSystem; // <- "ExternalTypeSystem.xml"
- // in the "my.package" package (in the descriptor folder)
- Document{->RETAINTYPE(SPACE,BREAK),CALL(ExternalEngine)};
- // calls ExternalEngine, but retains white spaces
- ]]></programlisting>
-
- </para>
- </section>
- </section>
- <section id="ugr.tools.tm.language.quantifier">
- <title>Quantifiers</title>
- <para>
- </para>
- <section id="ugr.tools.tm.language.quantifier.sg">
- <title>* Star Greedy</title>
- <para>
- The Star Greedy quantifier matches on any amount of annotations and
- evaluates always true. Please mind, that a rule element with a Star
- Greedy quantifier needs to match on different annotations than the
- next rule element.
-
- Examples:
- <programlisting><![CDATA[
- Input: small Big Big Big small
- Rule: CW*
- Matched: Big Big Big
- Matched: Big Big
- Matched: Big
- ]]></programlisting>
-
- </para>
- </section>
- <section id="ugr.tools.tm.language.quantifier.sr">
- <title>*? Star Reluctant</title>
- <para>
- The Star Reluctant quantifier matches on any amount of annotations
- and evaluates always true, but stops to match on new annotations,
- when the next rule element matches and evaluates true on this
- annotation.
-
- Examples:
- <programlisting><![CDATA[
- Input: 123 456 small small Big
- Rule: W*? CW
- Matched: small small Big
- Matched: small Big
- Matched: Big
- ]]></programlisting>
-
- </para>
- </section>
- <section id="ugr.tools.tm.language.quantifier.pg">
- <title>+ Plus Greedy</title>
- <para>
- The Plus Greedy quantifier needs to match on at least one
- annotation. Please mind, that a rule element after a rule element
- with a Plus Greedy quantifier matches and evaluates on different
- conditions.
-
- Examples:
-
- <programlisting><![CDATA[
- Input: 123 456 small small Big
- Rule: SW+
- Matched: small small
- Matched: small
- ]]></programlisting>
-
- </para>
- </section>
- <section id="ugr.tools.tm.language.quantifier.pr">
- <title>+? Plus Reluctant</title>
- <para>
- The Plus Reluctant quantifier has to match on at least one
- annotation in order to evaluate true, but stops when the next rule
- element is able to match on this annotation.
-
- Examples:
- <programlisting><![CDATA[
- Input: 123 456 small small Big
- Rule: W+? CW
- Matched: small small Big
- ]]></programlisting>
-
- </para>
- </section>
- <section id="ugr.tools.tm.language.quantifier.qg">
- <title>? Question Greedy</title>
- <para>
- The Question Greedy quantifier matches optionally on an annotation
- and therefore always evaluates true.
-
- Examples:
- <programlisting><![CDATA[
- Input: 123 456 small Big small Big
- Rule: SW CW? SW
- Matched: small Big small
- ]]></programlisting>
- </para>
- </section>
- <section id="ugr.tools.tm.language.quantifier.qr">
- <title>?? Question Reluctant</title>
- <para>
- The Question Reluctant quantifier matches optionally on an
- annotation if the next rule element can not match on the same
- annotation and therefore always evaluates true.
-
- Examples:
- <programlisting><![CDATA[
- Input: 123 456 small Big small Big
- Rule: SW CW?? SW
- Matched: small Big small
- ]]></programlisting>
- </para>
- </section>
- <section id="ugr.tools.tm.language.quantifier.mmg">
- <title>[x,y] Min Max Greedy</title>
- <para>
- The Min Max Greedy quantifier has to match at least x and at most y
- annotations of its rule element to elaluate true.
-
- Examples:
- <programlisting><![CDATA[
- Input: 123 456 small Big small Big
- Rule: SW CW[1,2] SW
- Matched: small Big small
- ]]></programlisting>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href=".\language\tools.textmarker.language.quantifier.xml" />
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href=".\language\tools.textmarker.language.declarations.xml" />
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href=".\language\tools.textmarker.language.conditions.xml" />
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href=".\language\tools.textmarker.language.actions.xml" />
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href=".\language\tools.textmarker.language.expressions.xml" />
- </para>
- </section>
- <section id="ugr.tools.tm.language.quantifier.mmr">
- <title>[x,y]? Min Max Reluctant</title>
- <para>
- The Min Max Greedy quantifier has to match at least x and at most y
- annotations of its rule element to elaluate true, but stops to
- match
- on additional annotations if the next rule element is able to
- match
- on this annotation.
-
- Examples:
- <programlisting><![CDATA[
- Input: 123 456 small Big Big Big small Big
- Rule: SW CW[2,100]? SW
- Matched: small Big Big Big small
- ]]></programlisting>
- </para>
- </section>
- </section>
-
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.textmarker.conditions.xml"/>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tools.textmarker.actions.xml"/>
-
- <section id="ugr.tools.tm.language.expressions">
- <title>Expressions</title>
- <para>
- </para>
- <section id="ugr.tools.tm.language.expressions.type">
- <title>Type Expressions</title>
- <para>
- </para>
- </section>
- <section id="ugr.tools.tm.language.expressions.numer">
- <title>Number Expressions</title>
- <para>
- </para>
- </section>
- <section id="ugr.tools.tm.language.expressions.string">
- <title>String Expressions</title>
- <para>
- </para>
- </section>
- <section id="ugr.tools.tm.language.expressions.boolean">
- <title>Boolean Expressions</title>
- <para>
- </para>
- </section>
- </section>
<section id="ugr.tools.tm.language.filtering">
<title>Robust extraction using filtering</title>
<para>