modern: more forms
parent
bcb0bf8a53
commit
b612b5be8c
|
@ -1,6 +1,7 @@
|
|||
! Copyright (C) 2017 Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: modern modern.slices multiline tools.test ;
|
||||
USING: kernel modern modern.out modern.slices multiline
|
||||
sequences tools.test ;
|
||||
IN: modern.tests
|
||||
|
||||
{ f } [ "" upper-colon? ] unit-test
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
! Copyright (C) 2016 Doug Coleman.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: arrays assocs combinators combinators.short-circuit
|
||||
continuations io.encodings.utf8 io.files kernel make math
|
||||
constructors continuations io.encodings.utf8 io.files kernel make math
|
||||
math.order modern.paths modern.slices sequences sequences.extras
|
||||
sequences.generalizations sets shuffle splitting strings
|
||||
syntax.modern unicode vocabs.loader ;
|
||||
|
@ -10,6 +10,44 @@ IN: modern
|
|||
ERROR: string-expected-got-eof n string ;
|
||||
ERROR: long-opening-mismatch tag open n string ch ;
|
||||
|
||||
TUPLE: lexed tokens ;
|
||||
|
||||
TUPLE: bracket < lexed tag payload ;
|
||||
CONSTRUCTOR: <bracket> bracket ( tag payload -- obj ) ;
|
||||
|
||||
TUPLE: dbracket < lexed tag payload ;
|
||||
CONSTRUCTOR: <dbracket> dbracket ( tag payload -- obj ) ;
|
||||
|
||||
TUPLE: brace < lexed tag payload ;
|
||||
CONSTRUCTOR: <brace> brace ( tag payload -- obj ) ;
|
||||
|
||||
TUPLE: dbrace < lexed tag payload ;
|
||||
CONSTRUCTOR: <dbrace> dbrace ( tag payload -- obj ) ;
|
||||
|
||||
TUPLE: lcolon < lexed tag payload ;
|
||||
CONSTRUCTOR: <lcolon> lcolon ( tag payload -- obj ) ;
|
||||
|
||||
TUPLE: ucolon < lexed name effect body ;
|
||||
CONSTRUCTOR: <ucolon> ucolon ( name effect body -- obj ) ;
|
||||
|
||||
TUPLE: dquote < lexed tag payload ;
|
||||
CONSTRUCTOR: <dquote> dquote ( tag payload -- obj ) ;
|
||||
|
||||
TUPLE: section < lexed payload ;
|
||||
CONSTRUCTOR: <section> section ( payload -- obj ) ;
|
||||
|
||||
TUPLE: named-section < lexed name payload ;
|
||||
CONSTRUCTOR: <named-section> named-section ( name payload -- obj ) ;
|
||||
|
||||
TUPLE: backslash < lexed object ;
|
||||
CONSTRUCTOR: <backslash> backslash ( object -- obj ) ;
|
||||
|
||||
TUPLE: hashtag < lexed object ;
|
||||
CONSTRUCTOR: <hashtag> hashtag ( object -- obj ) ;
|
||||
|
||||
TUPLE: token < lexed name ;
|
||||
CONSTRUCTOR: <token> token ( name -- obj ) ;
|
||||
|
||||
! (( )) [[ ]] {{ }}
|
||||
MACRO:: read-double-matched ( open-ch -- quot: ( n string tag ch -- n' string seq ) )
|
||||
open-ch dup matching-delimiter {
|
||||
|
|
Loading…
Reference in New Issue