new accessors ftw

db4
Doug Coleman 2008-08-30 21:10:02 -05:00
parent 9695df7fbd
commit 34b2db96ef
5 changed files with 12 additions and 12 deletions

View File

@ -65,8 +65,8 @@ SYMBOL: rule-sets
over [ dupd update ] [ nip clone ] if ;
: import-keywords ( parent child -- )
over >r [ rule-set-keywords ] bi@ ?update
r> set-rule-set-keywords ;
over >r [ keywords>> ] bi@ ?update
r> (>>keywords) ;
: import-rules ( parent child -- )
swap [ add-rule ] curry each-rule ;

View File

@ -77,7 +77,7 @@ TAGS>
! Top-level entry points
: parse-mode-tag ( tag -- rule-sets )
dup "RULES" tags-named [
parse-rules-tag dup rule-set-name swap
parse-rules-tag dup name>> swap
] H{ } map>assoc
swap "PROPS" tag-named [
parse-props-tag over values

View File

@ -72,7 +72,7 @@ M: regexp text-matches?
>r >string r> match-head ;
: rule-start-matches? ( rule -- match-count/f )
dup rule-start tuck swap can-match-here? [
dup start>> tuck swap can-match-here? [
rest-of-line swap text>> text-matches?
] [
drop f
@ -114,7 +114,7 @@ GENERIC: handle-rule-end ( match-count rule -- )
] ?if ;
: check-escape-rule ( rule -- ? )
rule-no-escape? [ f ] [
no-escape?>> [ f ] [
find-escape-rule dup [
dup rule-start-matches? dup [
swap handle-rule-start
@ -139,7 +139,7 @@ GENERIC: handle-rule-end ( match-count rule -- )
: rule-match-token* ( rule -- id )
dup match-token>> {
{ f [ dup rule-body-token ] }
{ f [ dup body-token>> ] }
{ t [ current-rule-set default>> ] }
[ ]
} case nip ;
@ -216,7 +216,7 @@ M: mark-previous-rule handle-rule-start
: handle-no-word-break ( -- )
context get parent>> [
in-rule>> [
dup rule-no-word-break? [
dup no-word-break?>> [
rule-match-token* prev-token,
pop-context
] [ drop ] if

View File

@ -15,7 +15,7 @@ SYMBOLS: line last-offset position context
context get in-rule-set>> ;
: current-keywords ( -- keyword-map )
current-rule-set rule-set-keywords ;
current-rule-set keywords>> ;
: token, ( from to id -- )
2over = [ 3drop ] [ >r line get subseq r> <token> , ] if ;

View File

@ -74,14 +74,14 @@ TUPLE: span-rule < rule ;
TUPLE: eol-span-rule < rule ;
: init-span ( rule -- )
dup rule-delegate [ drop ] [
dup rule-body-token standard-rule-set
swap set-rule-delegate
dup delegate>> [ drop ] [
dup body-token>> standard-rule-set
swap (>>delegate)
] if ;
: init-eol-span ( rule -- )
dup init-span
t swap set-rule-no-line-break? ;
t >>no-line-break? drop ;
TUPLE: mark-following-rule < rule ;