From 7ad1686590d5f27ba0ac09e835c1d317c0872ea2 Mon Sep 17 00:00:00 2001 From: Daniel Ehrenberg Date: Thu, 27 Mar 2008 20:50:41 -0400 Subject: [PATCH 1/2] Factoring out parse-unit --- core/parser/parser.factor | 4 ++++ core/syntax/syntax.factor | 4 +--- extra/help/syntax/syntax.factor | 4 +--- extra/tuple-syntax/tuple-syntax.factor | 5 +---- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/core/parser/parser.factor b/core/parser/parser.factor index f6e351a42e..1e66618053 100755 --- a/core/parser/parser.factor +++ b/core/parser/parser.factor @@ -366,6 +366,10 @@ ERROR: bad-number ; : (M:) CREATE-METHOD parse-definition ; +: parse-unit ( -- object ) + scan-word dup parsing? + [ V{ } clone swap execute first ] when ; + GENERIC: expected>string ( obj -- str ) M: f expected>string drop "end of input" ; diff --git a/core/syntax/syntax.factor b/core/syntax/syntax.factor index 9190b9676d..778a9e7293 100755 --- a/core/syntax/syntax.factor +++ b/core/syntax/syntax.factor @@ -171,9 +171,7 @@ IN: bootstrap.syntax ] define-syntax "FORGET:" [ - scan-word - dup parsing? [ V{ } clone swap execute first ] when - forget + parse-unit forget ] define-syntax "(" [ diff --git a/extra/help/syntax/syntax.factor b/extra/help/syntax/syntax.factor index e006a9816b..d41b72ee20 100755 --- a/extra/help/syntax/syntax.factor +++ b/extra/help/syntax/syntax.factor @@ -16,6 +16,4 @@ IN: help.syntax over add-article >link r> remember-definition ; parsing : ABOUT: - scan-word dup parsing? [ - V{ } clone swap execute first - ] when in get vocab set-vocab-help ; parsing + parse-unit in get vocab set-vocab-help ; parsing diff --git a/extra/tuple-syntax/tuple-syntax.factor b/extra/tuple-syntax/tuple-syntax.factor index f06bb55899..fe05e5a374 100755 --- a/extra/tuple-syntax/tuple-syntax.factor +++ b/extra/tuple-syntax/tuple-syntax.factor @@ -5,9 +5,6 @@ IN: tuple-syntax ! TUPLE: foo bar baz ; ! TUPLE{ foo bar: 1 baz: 2 } -: parse-object ( -- object ) - scan-word dup parsing? [ V{ } clone swap execute first ] when ; - : parse-slot-writer ( tuple -- slot# ) scan dup "}" = [ 2drop f ] [ 1 head* swap object-slots slot-named slot-spec-offset @@ -15,7 +12,7 @@ IN: tuple-syntax : parse-slots ( accum tuple -- accum tuple ) dup parse-slot-writer - [ parse-object pick rot set-slot parse-slots ] when* ; + [ parse-unit pick rot set-slot parse-slots ] when* ; : TUPLE{ scan-word construct-empty parse-slots parsed ; parsing From 31de812987eeb9c9ef977e230a01481c2aa1ed57 Mon Sep 17 00:00:00 2001 From: Daniel Ehrenberg Date: Thu, 27 Mar 2008 20:52:53 -0400 Subject: [PATCH 2/2] renaming parse-unit to scan-until --- core/parser/parser.factor | 2 +- core/syntax/syntax.factor | 2 +- extra/help/syntax/syntax.factor | 2 +- extra/tuple-syntax/tuple-syntax.factor | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/parser/parser.factor b/core/parser/parser.factor index 1e66618053..08f4275e49 100755 --- a/core/parser/parser.factor +++ b/core/parser/parser.factor @@ -366,7 +366,7 @@ ERROR: bad-number ; : (M:) CREATE-METHOD parse-definition ; -: parse-unit ( -- object ) +: scan-object ( -- object ) scan-word dup parsing? [ V{ } clone swap execute first ] when ; diff --git a/core/syntax/syntax.factor b/core/syntax/syntax.factor index 778a9e7293..5da2d5e4e2 100755 --- a/core/syntax/syntax.factor +++ b/core/syntax/syntax.factor @@ -171,7 +171,7 @@ IN: bootstrap.syntax ] define-syntax "FORGET:" [ - parse-unit forget + scan-object forget ] define-syntax "(" [ diff --git a/extra/help/syntax/syntax.factor b/extra/help/syntax/syntax.factor index d41b72ee20..9450f87215 100755 --- a/extra/help/syntax/syntax.factor +++ b/extra/help/syntax/syntax.factor @@ -16,4 +16,4 @@ IN: help.syntax over add-article >link r> remember-definition ; parsing : ABOUT: - parse-unit in get vocab set-vocab-help ; parsing + scan-object in get vocab set-vocab-help ; parsing diff --git a/extra/tuple-syntax/tuple-syntax.factor b/extra/tuple-syntax/tuple-syntax.factor index fe05e5a374..2419b8febb 100755 --- a/extra/tuple-syntax/tuple-syntax.factor +++ b/extra/tuple-syntax/tuple-syntax.factor @@ -12,7 +12,7 @@ IN: tuple-syntax : parse-slots ( accum tuple -- accum tuple ) dup parse-slot-writer - [ parse-unit pick rot set-slot parse-slots ] when* ; + [ scan-object pick rot set-slot parse-slots ] when* ; : TUPLE{ scan-word construct-empty parse-slots parsed ; parsing