Hi,

the problem with the rules throwing an exception is now fixed in the current trunk. Thanks for reporting it.

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


Reply via email to