Thanks, I will take a look at it ASAP.
Best,
Peter
Am 13.12.2013 16:37, schrieb Joerg Poecher:
> Hello,
>
>
>
> I would like to report some issues that occurred while testing the Ruta
> Workbench.
>
>
>
> There seems to be a problem with certain composed disjunctive rules in
> combination with quantifiers.
>
> Please see the source and input files below for clarification.
>
>
>
> OS: Windows 8.1
>
> Eclipse Version: Kepler Service Release 1, Build id: 20130919-0819
>
> UIMA Runtime: 2.4.2
>
> Ruta Version: 2.1.0
>
> JDK
>
>
>
> Best wishes
>
> Joerg
>
>
>
>
>
> _____
>
> Ruta Source file:
>
>
>
> DECLARE TMP_ConcreteSpecialPLUS;
>
> DECLARE TMP_ConcreteSpecialComposedPLUS;
>
> DECLARE TMP_ConcreteSpecialComposedSTAR;
>
> DECLARE TMP_ConcreteSpecialNumComposedPLUS;
>
> DECLARE TMP_ConcreteNumSpecialComposedPLUS;
>
>
>
> DECLARE TMP_GenericAny;
>
> DECLARE TMP_GenericAnyPLUS;
>
> DECLARE TMP_GenericAnyPLUS_Reluctant;
>
> DECLARE TMP_GenericAnySTAR;
>
> DECLARE TMP_GenericAnySTAR_Reluctant;
>
>
>
> DECLARE TMP_GenericAll;
>
> DECLARE TMP_GenericAllPLUS;
>
> DECLARE TMP_GenericAllPLUS_Reluctant;
>
> DECLARE TMP_GenericAllSTAR;
>
> DECLARE TMP_GenericAllSTAR_Reluctant;
>
>
>
> DECLARE TMP_GenericSharp;
>
>
>
> DECLARE TMP_GenericWordPLUS;
>
> DECLARE TMP_ConcreteSw;
>
> DECLARE TMP_ConcreteCw;
>
> DECLARE TMP_ConcreteCwPLUS;
>
> DECLARE TMP_ConcreteSwPLUS;
>
> DECLARE TMP_ConcreteSwCwComposedPLUS;
>
>
>
> //
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> +++++++++++++++++++++++++++++++++++++++++
>
> // DOCUMENTATION:
>
> //
>
> // * Rules without comments annotate as intended
>
> // * Commented rules indicate a problem
>
> //
>
> // Adding the '?' modifier to any of the composed disjunctive rules as '(
> ... | ... )+' or '( ... | ... )*' below
>
> // throws an exception: see excerpt of log file at the end
>
> //
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> +++++++++++++++++++++++++++++++++++++++++
>
>
>
> //
> ============================================================================
> =========================================
>
>
>
> // Does not match anything
>
> SPECIAL ( SPECIAL | CW | SW )* {-> MARK(TMP_ConcreteSpecialComposedSTAR)}
> SPECIAL;
>
>
>
> // Does not match anything
>
> (SPECIAL ( SPECIAL | CW )+ SPECIAL) {->
> MARK(TMP_ConcreteSpecialComposedPLUS)};
>
>
>
> // when adding a '?' after '(...)+' an exception is thrown
>
> (SPECIAL ( NUM | CW )+ SPECIAL) {->
> MARK(TMP_ConcreteSpecialNumComposedPLUS)};
>
> (NUM ( SPECIAL | CW )+ NUM) {-> MARK(TMP_ConcreteNumSpecialComposedPLUS)};
>
>
>
> //
> ============================================================================
> =========================================
>
>
>
> // Works only with '?' - it's the same problem as 'ANY+' resp. 'ALL+' below
>
>
> (SPECIAL SPECIAL+? SPECIAL) {-> MARK(TMP_ConcreteSpecialPLUS)};
>
>
>
> //
> ============================================================================
> =========================================
>
>
>
> (SPECIAL CW SPECIAL) {-> MARK(TMP_ConcreteCw)};
>
>
>
> (SPECIAL SW SPECIAL) {-> MARK(TMP_ConcreteSw)};
>
>
>
> (SPECIAL CW+ SPECIAL) {-> MARK(TMP_ConcreteCwPLUS)};
>
>
>
> (SPECIAL SW+ SPECIAL) {-> MARK(TMP_ConcreteSwPLUS)};
>
>
>
> // throws an exception when adding a '?' after '(...)+'
>
> (SPECIAL (CW | SW)+ SPECIAL) {-> MARK(TMP_ConcreteSwCwComposedPLUS)};
>
>
>
> (SPECIAL W+ SPECIAL) {-> MARK(TMP_GenericWordPLUS)};
>
>
>
> //
> ============================================================================
> =========================================
>
>
>
> (SPECIAL ANY SPECIAL) {-> MARK(TMP_GenericAny)};
>
>
>
> // does not match anything
>
> (SPECIAL ANY+ SPECIAL) {-> MARK(TMP_GenericAnyPLUS)};
>
>
>
> (SPECIAL ANY+? SPECIAL) {-> MARK(TMP_GenericAnyPLUS_Reluctant)};
>
>
>
> // does not match anything
>
> (SPECIAL ANY* SPECIAL) {-> MARK(TMP_GenericAnySTAR)};
>
>
>
> (SPECIAL ANY*? SPECIAL) {-> MARK(TMP_GenericAnySTAR_Reluctant)};
>
>
>
> //
> ============================================================================
> =========================================
>
>
>
> (SPECIAL ALL SPECIAL) {-> MARK(TMP_GenericAll)};
>
>
>
> // does not match anything
>
> (SPECIAL ALL+ SPECIAL) {-> MARK(TMP_GenericAllPLUS)};
>
>
>
> (SPECIAL ALL+? SPECIAL) {-> MARK(TMP_GenericAllPLUS_Reluctant)};
>
>
>
> // does not match anything
>
> (SPECIAL ALL* SPECIAL) {-> MARK(TMP_GenericAllSTAR)};
>
>
>
> (SPECIAL ALL*? SPECIAL) {-> MARK(TMP_GenericAllSTAR_Reluctant)};
>
>
>
> //
> ============================================================================
> =========================================
>
>
>
> (SPECIAL # SPECIAL) {-> MARK(TMP_GenericSharp)};
>
>
>
> _____
>
> Input file:
>
>
>
> ( CAP CAP CAP sw CAP CAP Cw sw CAP Cw )
>
> ( sw Cw sw Cw )
>
> ( sw Cw <TAG> sw )
>
> ( sw sw )
>
> ( Cw Cw )
>
> ( CAP CAP )
>
> ( sw )
>
> (sw)
>
> (Cw)
>
> ( Cw )
>
> ( CAP )
>
> ( )
>
> ( $$$ )
>
>
>
> 1 Cw $ Cw Cw $ 8
>
> ( Cw $ Cw Cw $ )
>
> ( Cw 5 Cw Cw 8 )
>
>
>
>
>
> _____
>
> Log file:
>
>
>
> !ENTRY org.eclipse.core.jobs 4 2 2013-12-13 15:56:10.403
>
> !MESSAGE An internal error occurred during: "Label Job".
>
> !STACK 0
>
> org.eclipse.swt.SWTException: Invalid thread access
>
> at org.eclipse.swt.SWT.error(SWT.java:4397)
>
> at org.eclipse.swt.SWT.error(SWT.java:4312)
>
> at org.eclipse.swt.SWT.error(SWT.java:4283)
>
> at org.eclipse.swt.widgets.Display.error(Display.java:1258)
>
> at
> org.eclipse.swt.widgets.Display.checkDevice(Display.java:764)
>
> at
> org.eclipse.swt.widgets.Display.disposeExec(Display.java:1203)
>
> at
> org.eclipse.jdt.internal.ui.viewsupport.ImageDescriptorRegistry.hookDisplay(
> ImageDescriptorRegistry.java:77)
>
> at
> org.eclipse.jdt.internal.ui.viewsupport.ImageDescriptorRegistry.<init>(Image
> DescriptorRegistry.java:40)
>
> at
> org.eclipse.jdt.internal.ui.JavaPlugin.internalGetImageDescriptorRegistry(Ja
> vaPlugin.java:954)
>
> at
> org.eclipse.jdt.internal.ui.JavaPlugin.getImageDescriptorRegistry(JavaPlugin
> .java:347)
>
> at
> org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.getVariableImage(JDIM
> odelPresentation.java:914)
>
> at
> org.eclipse.jdt.internal.debug.ui.JDIModelPresentation.getImage(JDIModelPres
> entation.java:682)
>
> at
> org.eclipse.debug.internal.ui.LazyModelPresentation.getImage(LazyModelPresen
> tation.java:127)
>
> at
> org.eclipse.debug.internal.ui.DelegatingModelPresentation.getImage(Delegatin
> gModelPresentation.java:143)
>
> at
> org.eclipse.debug.internal.ui.views.launch.DebugElementHelper.getImageDescri
> ptor(DebugElementHelper.java:70)
>
> at
> org.eclipse.debug.internal.ui.model.elements.DebugElementLabelProvider.getIm
> ageDescriptor(DebugElementLabelProvider.java:72)
>
> at
> org.eclipse.debug.internal.ui.model.elements.VariableLabelProvider.getImageD
> escriptor(VariableLabelProvider.java:70)
>
> at
> org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider.getImageDe
> scriptor(ElementLabelProvider.java:289)
>
> at
> org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider.retrieveLa
> bel(ElementLabelProvider.java:216)
>
> at
> org.eclipse.jdt.internal.debug.ui.variables.JavaVariableLabelProvider.retrie
> veLabel(JavaVariableLabelProvider.java:183)
>
> at
> org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelUpdat
> er.run(ElementLabelProvider.java:160)
>
> at
> org.eclipse.debug.internal.ui.model.elements.ElementLabelProvider$LabelJob.r
> un(ElementLabelProvider.java:74)
>
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
>
>
>
> ---
> Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz
> ist aktiv.
> http://www.avast.com
>