From b77e568759153677f437719eded3610a2a8bebf2 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Mon, 6 Jun 2016 15:57:24 -0700 Subject: [PATCH] language: fix functors, more syntax words. --- language/constructors/constructors.factor | 4 +-- language/descriptive/descriptive.factor | 4 +-- language/eval/eval.factor | 2 +- language/functors/backend/backend.factor | 4 +-- language/functors/functors.factor | 30 ++++++++++----------- language/literals/literals.factor | 8 +++--- language/match/match.factor | 2 +- language/method-chains/method-chains.factor | 4 +-- language/multi-methods/multi-methods.factor | 6 ++--- language/multiline/multiline.factor | 4 +-- language/pair-methods/pair-methods.factor | 4 +-- language/peg/peg.factor | 2 +- 12 files changed, 37 insertions(+), 37 deletions(-) diff --git a/language/constructors/constructors.factor b/language/constructors/constructors.factor index 23287d2877..fe99f252d8 100644 --- a/language/constructors/constructors.factor +++ b/language/constructors/constructors.factor @@ -47,7 +47,7 @@ ERROR: unknown-constructor-parameters class effect unknown ; scan-constructor scan-effect ensure-constructor-parameters parse-definition ; -SYNTAX: CONSTRUCTOR: +SYNTAX: \ CONSTRUCTOR: parse-constructor [ [ constructor-boa-quot ] dip compose ] [ drop ] 2bi define-declared ; @@ -59,6 +59,6 @@ SYNTAX: CONSTRUCTOR: : scan-full-input-effect ( -- effect ) "(" expect scan-rest-input-effect ; -SYNTAX: SLOT-CONSTRUCTOR: +SYNTAX: \ SLOT-CONSTRUCTOR: scan-new-word [ name>> "(" append create-reset ] keep '[ scan-rest-input-effect in>> _ '[ _ _ slots>boa ] append! ] define-syntax ; diff --git a/language/descriptive/descriptive.factor b/language/descriptive/descriptive.factor index a2e21d4479..d51e4d6d51 100644 --- a/language/descriptive/descriptive.factor +++ b/language/descriptive/descriptive.factor @@ -35,7 +35,7 @@ PRIVATE> [ [ [ dup ] 2dip [descriptive] ] keep define-declared ] 3bi ; -SYNTAX: DESCRIPTIVE: (:) define-descriptive ; +SYNTAX: \ DESCRIPTIVE: (:) define-descriptive ; PREDICATE: descriptive < word "descriptive-definition" word-prop >boolean ; @@ -45,7 +45,7 @@ M: descriptive definer drop \ DESCRIPTIVE: \ ; ; M: descriptive definition "descriptive-definition" word-prop ; -SYNTAX: DESCRIPTIVE:: (::) define-descriptive ; +SYNTAX: \ DESCRIPTIVE:: (::) define-descriptive ; INTERSECTION: descriptive-lambda descriptive lambda-word ; diff --git a/language/eval/eval.factor b/language/eval/eval.factor index 939f5362d7..1f99550b5d 100644 --- a/language/eval/eval.factor +++ b/language/eval/eval.factor @@ -14,7 +14,7 @@ in: eval : eval ( str effect -- ) [ (eval) ] with-file-vocabs ; inline -SYNTAX: eval( \ eval parse-call-paren ; +SYNTAX: \ eval( \ eval parse-call-paren ; : (eval>string) ( str -- output ) [ diff --git a/language/functors/backend/backend.factor b/language/functors/backend/backend.factor index d596d6910c..a67a5821b7 100644 --- a/language/functors/backend/backend.factor +++ b/language/functors/backend/backend.factor @@ -6,8 +6,8 @@ in: functors.backend defer: functor-words \ functor-words [ H{ } clone ] initialize -SYNTAX: FUNCTOR-SYNTAX: - scan-word +SYNTAX: \ FUNCTOR-SYNTAX: + scan-escaped-word gensym [ parse-definition define-syntax ] keep swap name>> \ functor-words get-global set-at ; diff --git a/language/functors/functors.factor b/language/functors/functors.factor index b919b0af2e..ff72fc3afb 100644 --- a/language/functors/functors.factor +++ b/language/functors/functors.factor @@ -51,7 +51,7 @@ M: object (fake-quotations>) , ; [ parse-definition* ] dip suffix! ; -FUNCTOR-SYNTAX: TUPLE: +FUNCTOR-SYNTAX: \ TUPLE: scan-param suffix! scan-token { { ";" [ tuple suffix! f suffix! ] } @@ -67,67 +67,67 @@ FUNCTOR-SYNTAX: TUPLE: FUNCTOR-SYNTAX: final [ last-word make-final ] append! ; -FUNCTOR-SYNTAX: SINGLETON: +FUNCTOR-SYNTAX: \ SINGLETON: scan-param suffix! \ define-singleton-class suffix! ; -FUNCTOR-SYNTAX: singleton: +FUNCTOR-SYNTAX: \ singleton: scan-param suffix! \ define-singleton-class suffix! ; -FUNCTOR-SYNTAX: MIXIN: +FUNCTOR-SYNTAX: \ MIXIN: scan-param suffix! \ define-mixin-class suffix! ; -FUNCTOR-SYNTAX: mixin: +FUNCTOR-SYNTAX: \ mixin: scan-param suffix! \ define-mixin-class suffix! ; -FUNCTOR-SYNTAX: M: +FUNCTOR-SYNTAX: \ M: scan-param suffix! scan-param suffix! [ create-method-in dup \ method set ] append! parse-definition* \ define* suffix! ; -FUNCTOR-SYNTAX: C: +FUNCTOR-SYNTAX: \ C: scan-param suffix! scan-param suffix! scan-effect [ [ [ boa ] curry ] append! ] dip suffix! \ define-declared* suffix! ; -FUNCTOR-SYNTAX: : +FUNCTOR-SYNTAX: \ : scan-param suffix! parse-declared* \ define-declared* suffix! ; -FUNCTOR-SYNTAX: SYMBOL: +FUNCTOR-SYNTAX: \ SYMBOL: scan-param suffix! \ define-symbol suffix! ; -FUNCTOR-SYNTAX: symbol: +FUNCTOR-SYNTAX: \ symbol: scan-param suffix! \ define-symbol suffix! ; -FUNCTOR-SYNTAX: SYNTAX: +FUNCTOR-SYNTAX: \ SYNTAX: scan-param suffix! parse-definition* \ define-syntax suffix! ; -FUNCTOR-SYNTAX: INSTANCE: +FUNCTOR-SYNTAX: \ INSTANCE: scan-param suffix! scan-param suffix! ";" expect \ add-mixin-instance suffix! ; -FUNCTOR-SYNTAX: GENERIC: +FUNCTOR-SYNTAX: \ GENERIC: scan-param suffix! scan-effect suffix! ";" expect \ define-simple-generic* suffix! ; -FUNCTOR-SYNTAX: MACRO: +FUNCTOR-SYNTAX: \ MACRO: scan-param suffix! parse-declared* \ define-macro suffix! ; @@ -184,4 +184,4 @@ defer: ;FUNCTOR delimiter PRIVATE> -SYNTAX: FUNCTOR: (FUNCTOR:) define-declared ; +SYNTAX: \ FUNCTOR: (FUNCTOR:) define-declared ; diff --git a/language/literals/literals.factor b/language/literals/literals.factor index 7925872632..aa4d8164d8 100644 --- a/language/literals/literals.factor +++ b/language/literals/literals.factor @@ -21,10 +21,10 @@ in: literals PRIVATE> -SYNTAX: $ scan-word expand-literal >vector ; -SYNTAX: $[ parse-quotation with-datastack >vector ; -SYNTAX: ${ \ } [ expand-literals ] parse-literal ; -SYNTAX: flags{ +SYNTAX: \ $ scan-word expand-literal >vector ; +SYNTAX: \ $[ parse-quotation with-datastack >vector ; +SYNTAX: \ ${ \ } [ expand-literals ] parse-literal ; +SYNTAX: \ flags{ \ } [ expand-literals 0 [ bitor ] reduce diff --git a/language/match/match.factor b/language/match/match.factor index f1071869b9..a7d517b698 100644 --- a/language/match/match.factor +++ b/language/match/match.factor @@ -17,7 +17,7 @@ symbol: _ : define-match-vars ( seq -- ) [ define-match-var ] each ; -SYNTAX: MATCH-VARS: ! vars ... +SYNTAX: \ MATCH-VARS: ! vars ... ";" [ define-match-var ] each-token ; PREDICATE: match-var < word "match-var" word-prop ; diff --git a/language/method-chains/method-chains.factor b/language/method-chains/method-chains.factor index c8c0df33df..0abe270ce1 100644 --- a/language/method-chains/method-chains.factor +++ b/language/method-chains/method-chains.factor @@ -3,5 +3,5 @@ USING: kernel generic generic.parser words fry ; in: method-chains -SYNTAX: AFTER: (M:) dupd '[ [ _ (call-next-method) ] _ bi ] define ; -SYNTAX: BEFORE: (M:) over '[ _ [ _ (call-next-method) ] bi ] define ; +SYNTAX: \ AFTER: (M:) dupd '[ [ _ (call-next-method) ] _ bi ] define ; +SYNTAX: \ BEFORE: (M:) over '[ _ [ _ (call-next-method) ] bi ] define ; diff --git a/language/multi-methods/multi-methods.factor b/language/multi-methods/multi-methods.factor index 25d26a7c6c..063957085c 100644 --- a/language/multi-methods/multi-methods.factor +++ b/language/multi-methods/multi-methods.factor @@ -224,7 +224,7 @@ M: no-method error. ] if ; ! Syntax -SYNTAX: GENERIC: scan-new-word scan-effect ";" expect define-generic ; +SYNTAX: \ GENERIC: scan-new-word scan-effect ";" expect define-generic ; : parse-method ( -- quot classes generic ) parse-definition [ 2 tail ] [ second ] [ first ] tri ; @@ -237,10 +237,10 @@ SYNTAX: GENERIC: scan-new-word scan-effect ";" expect define-generic ; : (METHOD:) ( -- method def ) scan-new-method parse-definition ; -SYNTAX: METHOD: (METHOD:) define ; +SYNTAX: \ METHOD: (METHOD:) define ; ! For compatibility -SYNTAX: M: +SYNTAX: \ M: scan-word 1array scan-word create-method-in parse-definition define ; diff --git a/language/multiline/multiline.factor b/language/multiline/multiline.factor index b9a61b6e7c..112690389c 100644 --- a/language/multiline/multiline.factor +++ b/language/multiline/multiline.factor @@ -32,7 +32,7 @@ ERROR: text-found-before-eol string ; (parse-here) ] "" make but-last ; -SYNTAX: STRING: +SYNTAX: \ STRING: scan-new-word parse-here 1quotation ( -- string ) define-inline ; @@ -84,7 +84,7 @@ PRIVATE> SYNTAX: /* "*/" parse-multiline-string drop ; -SYNTAX: HEREDOC: +SYNTAX: \ HEREDOC: lexer get { [ skip-blank ] [ rest-of-line ] diff --git a/language/pair-methods/pair-methods.factor b/language/pair-methods/pair-methods.factor index 527a3768c9..8a75a42c5d 100644 --- a/language/pair-methods/pair-methods.factor +++ b/language/pair-methods/pair-methods.factor @@ -39,7 +39,7 @@ ERROR: no-pair-method a b generic ; : (PAIR-GENERIC:) ( -- ) scan-new-generic scan-effect define-pair-generic ; -SYNTAX: PAIR-GENERIC: (PAIR-GENERIC:) ; +SYNTAX: \ PAIR-GENERIC: (PAIR-GENERIC:) ; : define-pair-method ( a b pair-generic definition -- ) [ 2array ] 2dip swap @@ -54,4 +54,4 @@ SYNTAX: PAIR-GENERIC: (PAIR-GENERIC:) ; ?swap scan-word parse-definition ] keep ?prefix-swap define-pair-method ; -SYNTAX: PAIR-M: (PAIR-M:) ; +SYNTAX: \ PAIR-M: (PAIR-M:) ; diff --git a/language/peg/peg.factor b/language/peg/peg.factor index 38fe257562..20b386dc9a 100644 --- a/language/peg/peg.factor +++ b/language/peg/peg.factor @@ -607,7 +607,7 @@ PRIVATE> ERROR: parse-failed input word ; -SYNTAX: PEG: +SYNTAX: \ PEG: [let (:) :> ( word def effect ) [