Fixing xmode use lines; adding fake reluctant ?*+ to make XMode work (they're actually greedy)
parent
f7031eaad8
commit
762485c2ca
|
@ -158,6 +158,9 @@ Times = "," Number:n "}" => [[ 0 n <from-to> ]]
|
|||
| Number:n "," Number:m "}" => [[ n m <from-to> ]]
|
||||
|
||||
Repeated = Element:e "{" Times:t => [[ e t <times> ]]
|
||||
| Element:e "??" => [[ e <maybe> ]]
|
||||
| Element:e "*?" => [[ e <star> ]]
|
||||
| Element:e "+?" => [[ e <plus> ]]
|
||||
| Element:e "?" => [[ e <maybe> ]]
|
||||
| Element:e "*" => [[ e <star> ]]
|
||||
| Element:e "+" => [[ e <plus> ]]
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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? ;
|
||||
|
|
Loading…
Reference in New Issue