From 4d83867cb4addb1c3a726d84c6575c53bc2fbd5a Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 4 Apr 2016 14:54:06 -0700 Subject: [PATCH] strings.parser: remove parse-short-string, everyone should parse-string. --- basis/alien/syntax/syntax.factor | 2 +- basis/urls/urls.factor | 2 +- core/strings/parser/parser.factor | 38 +++++++------------------------ core/syntax/syntax.factor | 6 ++--- extra/gml/runtime/runtime.factor | 2 +- 5 files changed, 14 insertions(+), 36 deletions(-) diff --git a/basis/alien/syntax/syntax.factor b/basis/alien/syntax/syntax.factor index 6676906941..cbf93f735a 100755 --- a/basis/alien/syntax/syntax.factor +++ b/basis/alien/syntax/syntax.factor @@ -6,7 +6,7 @@ strings.parser vocabs words ; << "alien.arrays" require >> ! needed for bootstrap IN: alien.syntax -SYNTAX: DLL" lexer get skip-blank parse-short-string dlopen suffix! ; +SYNTAX: DLL" lexer get skip-blank parse-string dlopen suffix! ; SYNTAX: ALIEN: 16 scan-base suffix! ; diff --git a/basis/urls/urls.factor b/basis/urls/urls.factor index ac4257c1bb..3e38224522 100644 --- a/basis/urls/urls.factor +++ b/basis/urls/urls.factor @@ -197,6 +197,6 @@ UNION: abstract-inet inet inet4 inet6 ; M: abstract-inet >secure-addr ; ! Literal syntax -SYNTAX: URL" lexer get skip-blank parse-short-string >url suffix! ; +SYNTAX: URL" lexer get skip-blank parse-string >url suffix! ; { "urls" "prettyprint" } "urls.prettyprint" require-when diff --git a/core/strings/parser/parser.factor b/core/strings/parser/parser.factor index 17259bd6de..e70f9498ff 100644 --- a/core/strings/parser/parser.factor +++ b/core/strings/parser/parser.factor @@ -70,28 +70,6 @@ PRIVATE> > - ] [ - next-escape [ suffix! ] dip (parse-short-string) - ] if - ] [ - "Unterminated string" throw - ] if* ; - -PRIVATE> - -: parse-short-string ( -- str ) - SBUF" " clone lexer get [ - swap tail-slice (parse-short-string) [ "" like ] dip - ] change-lexer-column ; - -> ] [ line-text>> ] bi swapd subseq ] @@ -126,7 +104,7 @@ PRIVATE> [ column>> ] [ line-text>> ] bi [ "\"\\" member? ] find-from ; -DEFER: (parse-full-string) +DEFER: (parse-string) : parse-found-token ( accum lexer i elt -- ) { sbuf lexer fixnum fixnum } declare @@ -135,12 +113,12 @@ DEFER: (parse-full-string) dup dup [ next-char ] bi@ [ [ pick push ] bi@ ] [ drop 2dup next-line% ] if* - (parse-full-string) + (parse-string) ] [ advance-char drop ] if ; -: (parse-full-string) ( accum lexer -- ) +: (parse-string) ( accum lexer -- ) { sbuf lexer } declare dup still-parsing? [ dup find-next-token [ @@ -148,13 +126,13 @@ DEFER: (parse-full-string) ] [ drop 2dup next-line% CHAR: \n pick push - (parse-full-string) + (parse-string) ] if* ] [ "Unterminated string" throw ] if ; -: rewind-on-error ( quot -- ) +: rewind-lexer-on-error ( quot -- ) lexer get [ line>> ] [ line-text>> ] [ column>> ] tri [ lexer get [ column<< ] [ line-text<< ] [ line<< ] tri @@ -163,9 +141,9 @@ DEFER: (parse-full-string) PRIVATE> -: parse-full-string ( -- str ) +: parse-string ( -- str ) [ SBUF" " clone [ - lexer get (parse-full-string) + lexer get (parse-string) ] keep unescape-string - ] rewind-on-error ; + ] rewind-lexer-on-error ; diff --git a/core/syntax/syntax.factor b/core/syntax/syntax.factor index 13f07fcddc..ab760813fc 100644 --- a/core/syntax/syntax.factor +++ b/core/syntax/syntax.factor @@ -88,14 +88,14 @@ IN: bootstrap.syntax } cond suffix! ] define-core-syntax - "\"" [ parse-full-string suffix! ] define-core-syntax + "\"" [ parse-string suffix! ] define-core-syntax "SBUF\"" [ - lexer get skip-blank parse-full-string >sbuf suffix! + lexer get skip-blank parse-string >sbuf suffix! ] define-core-syntax "P\"" [ - lexer get skip-blank parse-short-string suffix! + lexer get skip-blank parse-string suffix! ] define-core-syntax "[" [ parse-quotation suffix! ] define-core-syntax diff --git a/extra/gml/runtime/runtime.factor b/extra/gml/runtime/runtime.factor index 6460361966..798de511e4 100644 --- a/extra/gml/runtime/runtime.factor +++ b/extra/gml/runtime/runtime.factor @@ -53,7 +53,7 @@ TUPLE: exec-name < identity-tuple name ; MEMO: exec-name ( string -- name ) name \ exec-name boa ; -SYNTAX: exec" lexer get skip-blank parse-short-string exec-name suffix! ; +SYNTAX: exec" lexer get skip-blank parse-string exec-name suffix! ; ERROR: unbound-name { name name } ;