From: Daniel Ehrenberg Date: Sun, 8 Mar 2009 23:50:41 +0000 (-0500) Subject: Fixing xmode use lines; adding fake reluctant ?*+ to make XMode work (they're actuall... X-Git-Tag: 0.94~2191^2~60 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=762485c2ca8990a52743162689e3a04a9abf0b3d Fixing xmode use lines; adding fake reluctant ?*+ to make XMode work (they're actually greedy) --- diff --git a/basis/regexp/parser/parser.factor b/basis/regexp/parser/parser.factor index 1c001cdc57..adbf0c53d3 100644 --- a/basis/regexp/parser/parser.factor +++ b/basis/regexp/parser/parser.factor @@ -158,6 +158,9 @@ Times = "," Number:n "}" => [[ 0 n ]] | Number:n "," Number:m "}" => [[ n m ]] Repeated = Element:e "{" Times:t => [[ e t ]] + | Element:e "??" => [[ e ]] + | Element:e "*?" => [[ e ]] + | Element:e "+?" => [[ e ]] | Element:e "?" => [[ e ]] | Element:e "*" => [[ e ]] | Element:e "+" => [[ e ]] diff --git a/basis/xmode/marker/marker.factor b/basis/xmode/marker/marker.factor index e106af7952..de1f4254ea 100755 --- a/basis/xmode/marker/marker.factor +++ b/basis/xmode/marker/marker.factor @@ -4,9 +4,8 @@ IN: xmode.marker USING: kernel namespaces make xmode.rules xmode.tokens xmode.marker.state xmode.marker.context xmode.utilities xmode.catalog sequences math assocs combinators strings -regexp splitting ascii regexp.backend unicode.case +regexp splitting ascii unicode.case regexp.matchers ascii combinators.short-circuit accessors ; -! regexp.backend is for the regexp class ! Next two words copied from parser-combinators ! Just like head?, but they optionally ignore case diff --git a/basis/xmode/rules/rules.factor b/basis/xmode/rules/rules.factor index 99364fe7cd..51f216fa44 100644 --- a/basis/xmode/rules/rules.factor +++ b/basis/xmode/rules/rules.factor @@ -1,6 +1,8 @@ +! Copyright (C) 2008 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. USING: accessors xmode.tokens xmode.keyword-map kernel sequences vectors assocs strings memoize unicode.case -regexp regexp.backend ; ! regexp.backend has the regexp class +regexp ; IN: xmode.rules TUPLE: string-matcher string ignore-case? ;