From cbe8b49a3c69fdcb6765476d2608d2080d7826b0 Mon Sep 17 00:00:00 2001 From: "Brian T. Rice" Date: Thu, 27 Jan 2011 18:59:52 -0800 Subject: [PATCH] Extended the Parser so that message sends with non-keyword optionals are treated as a keyword with value of True. (e.g. "&foo" becomes "&foo: True"). --- src/syntax/parser.slate | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/syntax/parser.slate b/src/syntax/parser.slate index edc17d0..a6022fc 100644 --- a/src/syntax/parser.slate +++ b/src/syntax/parser.slate @@ -251,8 +251,11 @@ p@(Parser traits) parseOptionalKeywordsFor: message@(nodes Message traits) [| :keywords | [Syntax isOptionalSelector: (token := p nextToken)] whileTrue: - [keywords nextPut: token value intern. - arguments nextPut: p nextBinaryMessages]] + [(Syntax isKeywordSelector: token) + ifTrue: [keywords nextPut: token value intern. + arguments nextPut: p nextBinaryMessages] + ifFalse: [keywords nextPut: (token value ; ':') intern. + arguments nextPut: (nodes Literal for: True)]]] writingAs: #{}. p undoToken: token. keywords -- 2.11.4.GIT