Return-Path: X-Original-To: apmail-uima-user-archive@www.apache.org Delivered-To: apmail-uima-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id D5B7B1011A for ; Tue, 17 Dec 2013 16:57:24 +0000 (UTC) Received: (qmail 87147 invoked by uid 500); 17 Dec 2013 16:56:56 -0000 Delivered-To: apmail-uima-user-archive@uima.apache.org Received: (qmail 87017 invoked by uid 500); 17 Dec 2013 16:56:53 -0000 Mailing-List: contact user-help@uima.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@uima.apache.org Delivered-To: mailing list user@uima.apache.org Received: (qmail 86741 invoked by uid 99); 17 Dec 2013 16:56:51 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Dec 2013 16:56:51 +0000 X-ASF-Spam-Status: No, hits=-2.3 required=5.0 tests=RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [132.187.3.35] (HELO mailrelay.rz.uni-wuerzburg.de) (132.187.3.35) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 17 Dec 2013 16:56:44 +0000 Received: from virusscan-slb.rz.uni-wuerzburg.de (localhost [127.0.0.1]) by mailrelay-slb.rz.uni-wuerzburg.de (Postfix) with ESMTP id 39E3276972 for ; Tue, 17 Dec 2013 17:56:24 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by virusscan-slb.rz.uni-wuerzburg.de (Postfix) with ESMTP id 3747476881 for ; Tue, 17 Dec 2013 17:56:24 +0100 (CET) X-Virus-Scanned: amavisd-new at uni-wuerzburg.de Received: from mailmaster.uni-wuerzburg.de ([10.101.19.1]) by localhost (vmail002.slb.uni-wuerzburg.de [10.101.19.142]) (amavisd-new, port 10225) with ESMTP id w7V7w0hUPrUb for ; Tue, 17 Dec 2013 17:56:24 +0100 (CET) Received: from [132.187.15.93] (win6093.informatik.uni-wuerzburg.de [132.187.15.93]) by mailmaster.uni-wuerzburg.de (Postfix) with ESMTPSA id 1F1397B30D for ; Tue, 17 Dec 2013 17:56:24 +0100 (CET) Message-ID: <52B08237.6000401@uni-wuerzburg.de> Date: Tue, 17 Dec 2013 17:56:23 +0100 From: =?ISO-8859-1?Q?Peter_Kl=FCgl?= User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 MIME-Version: 1.0 To: user@uima.apache.org Subject: Re: UIMA Ruta 2.1.0 Issues References: <000b01cef819$3a8d1b40$afa751c0$@econob.com> <52B07F8C.1070600@uni-wuerzburg.de> In-Reply-To: <52B07F8C.1070600@uni-wuerzburg.de> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org Hi, some of the rules behave as expected. It's maybe a bit counterintuitive, but I do not see a way to improve it. I will fix the rest in the next few days. An example: (SPECIAL ALL* SPECIAL) {-> MARK(TMP_GenericAllSTAR)}; ALL is a parent type of SPECIAL and * is a greedy quantifier. Therefore ALL matches on all annotations and also on the SPECIAL annotations until the end of the document. Then, there is no SPECIAL annotation left to match and the rule fails. May I use your examples in a junit test case? Best, Peter Am 17.12.2013 17:45, schrieb Peter Kl�gl: > 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 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.(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 >>