23 lines
703 B
Factor
23 lines
703 B
Factor
! Copyright (C) 2009 blei, Doug Coleman.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: kernel locals make math multiline sequences ;
|
|
IN: nested-comments
|
|
|
|
: (count-subsequences) ( count substring string n -- count' )
|
|
[ 2dup ] dip start* [
|
|
pick length +
|
|
[ 1 + ] 3dip (count-subsequences)
|
|
] [
|
|
2drop
|
|
] if* ;
|
|
|
|
: count-subsequences ( subseq seq -- n )
|
|
[ 0 ] 2dip 0 (count-subsequences) ;
|
|
|
|
: parse-nestable-comment ( parsed-vector left-to-parse -- parsed-vector )
|
|
1 - "*)" parse-multiline-string
|
|
[ "(*" ] dip
|
|
count-subsequences + dup 0 > [ parse-nestable-comment ] [ drop ] if ;
|
|
|
|
SYNTAX: (* 1 parse-nestable-comment ;
|