#FEATURE by cg
authorClaus Gittinger <cg@exept.de>
Wed, 16 Nov 2016 22:32:53 +0100
changeset 4041 5fdfb29a67e2
parent 4040 59634354b0c5
child 4042 a9137b4a88bc
#FEATURE by cg class: ParserFlags class definition added: #allowParagraphInIdentifier #allowParagraphInIdentifier: #warnParagraphInIdentifier #warnParagraphInIdentifier: comment/format in: #allowDollarInIdentifier #allowDollarInIdentifier: #warnDollarInIdentifier: changed: #initialize
ParserFlags.st
--- a/ParserFlags.st	Wed Nov 16 13:43:53 2016 +0100
+++ b/ParserFlags.st	Wed Nov 16 22:32:53 2016 +0100
@@ -20,9 +20,9 @@
 		warnUnderscoreInIdentifier warnOldStyleAssignment
 		warnCommonMistakes warnSTXNameSpaceUse
 		warnPossibleIncompatibilities warnDollarInIdentifier
-		warnHiddenVariables warnAboutVariableNameConventions
-		warnAboutWrongVariableNames warnAboutBadComments
-		warnInconsistentReturnValues
+		warnParagraphInIdentifier warnHiddenVariables
+		warnAboutVariableNameConventions warnAboutWrongVariableNames
+		warnAboutBadComments warnInconsistentReturnValues
 		warnAboutNonLowercaseLocalVariableNames
 		warnAboutPossibleSTCCompilationProblems
 		warnAboutReferenceToPrivateClass warnAboutShortLocalVariableNames
@@ -30,9 +30,10 @@
 		warnAboutUnknownCharacterEscapesInJavaScriptStringConstant
 		warnPlausibilityChecks allowLiteralNameSpaceSymbols
 		allowUnderscoreInIdentifier allowDollarInIdentifier
-		allowOldStyleAssignment allowSqueakExtensions
-		allowDolphinExtensions allowExtendedBinarySelectors
-		allowQualifiedNames allowFunctionCallSyntaxForBlockEvaluation
+		allowParagraphInIdentifier allowOldStyleAssignment
+		allowSqueakExtensions allowDolphinExtensions
+		allowExtendedBinarySelectors allowQualifiedNames
+		allowFunctionCallSyntaxForBlockEvaluation
 		allowLocalVariableDeclarationWithInitializerExpression
 		allowDomainVariables allowArrayIndexSyntaxExtension
 		allowReservedWordsAsSelectors allowVariableReferences
@@ -61,8 +62,8 @@
 		WarnAboutVariableNameConventions WarnSTXSpecials
 		WarnOldStyleAssignment WarnUnderscoreInIdentifier
 		WarnCommonMistakes WarnPossibleIncompatibilities
-		WarnDollarInIdentifier WarnHiddenVariables
-		WarnAboutNonLowercaseLocalVariableNames
+		WarnDollarInIdentifier WarnParagraphInIdentifier
+		WarnHiddenVariables WarnAboutNonLowercaseLocalVariableNames
 		WarnInconsistentReturnValues Warnings
 		WarnAboutPossibleSTCCompilationProblems
 		WarnAboutReferenceToPrivateClass WarnAboutShortLocalVariableNames
@@ -73,31 +74,32 @@
 		AllowVariableReferences AllowReservedWordsAsSelectors
 		AllowLocalVariableDeclarationWithInitializerExpression
 		AllowArrayIndexSyntaxExtension AllowDomainVariables
-		AllowDollarInIdentifier AllowSqueakExtensions AllowQualifiedNames
-		AllowDolphinExtensions AllowOldStyleAssignment
-		AllowExtendedBinarySelectors AllowExtendedSTXSyntax
-		AllowFixedPointLiterals AllowLiteralNameSpaceSymbols
-		AllowVisualAgeESSymbolLiterals AllowExtensionsToPrivateClasses
-		AllowSqueakPrimitives AllowVisualAgePrimitives AllowSTVPrimitives
-		AllowSTVExtensions AllowNationalCharactersInIdentifier
-		AllowHashAsBinarySelector AllowSTXEOLComments
-		AllowPossibleSTCCompilationProblems AllowEmptyStatements
-		AllowVisualWorksMethodAnnotations ArraysAreImmutable
-		AllowPeriodInSymbol StringsAreImmutable ImplicitSelfSends
-		STCModulePath STCKeepCIntermediate STCKeepOIntermediate
-		STCKeepSTIntermediate STCCompilation STCCompilationIncludes
-		STCCompilationDefines STCCompilationOptions STCPath
-		CCCompilationOptions CCPath LinkArgs LinkSharedArgs LinkCommand
-		LibPath SearchedLibraries MakeCommand AllowCaretAsBinop
-		AllowUnicodeStrings AllowUnicodeCharacters AllowCharacterEscapes
-		AllowStringEscapes AllowAssignmentToBlockArgument
-		AllowAssignmentToMethodArgument AllowAssignmentToPoolVariable
-		LineNumberInfo LibDirectory VCTop SDKTop BCCTop MingwTop
-		ForcedCompiler DefineForBorlandC DefineForVisualC DefineForMSC
-		DefineForGNUC PerMethodFlags AllowSTXDelimiterComments
-		AllowSTXExtendedArrayLiterals DefineForMINGW32 DefineForMINGW64
-		DefineForMINGW DefineForCLANG WarnAssignmentToBlockArgument
-		WarnAssignmentToPoolVariable WarnAssignmentToMethodArgument'
+		AllowDollarInIdentifier AllowParagraphInIdentifier
+		AllowSqueakExtensions AllowQualifiedNames AllowDolphinExtensions
+		AllowOldStyleAssignment AllowExtendedBinarySelectors
+		AllowExtendedSTXSyntax AllowFixedPointLiterals
+		AllowLiteralNameSpaceSymbols AllowVisualAgeESSymbolLiterals
+		AllowExtensionsToPrivateClasses AllowSqueakPrimitives
+		AllowVisualAgePrimitives AllowSTVPrimitives AllowSTVExtensions
+		AllowNationalCharactersInIdentifier AllowHashAsBinarySelector
+		AllowSTXEOLComments AllowPossibleSTCCompilationProblems
+		AllowEmptyStatements AllowVisualWorksMethodAnnotations
+		ArraysAreImmutable AllowPeriodInSymbol StringsAreImmutable
+		ImplicitSelfSends STCModulePath STCKeepCIntermediate
+		STCKeepOIntermediate STCKeepSTIntermediate STCCompilation
+		STCCompilationIncludes STCCompilationDefines
+		STCCompilationOptions STCPath CCCompilationOptions CCPath
+		LinkArgs LinkSharedArgs LinkCommand LibPath SearchedLibraries
+		MakeCommand AllowCaretAsBinop AllowUnicodeStrings
+		AllowUnicodeCharacters AllowCharacterEscapes AllowStringEscapes
+		AllowAssignmentToBlockArgument AllowAssignmentToMethodArgument
+		AllowAssignmentToPoolVariable LineNumberInfo LibDirectory VCTop
+		SDKTop BCCTop MingwTop ForcedCompiler DefineForBorlandC
+		DefineForVisualC DefineForMSC DefineForGNUC PerMethodFlags
+		AllowSTXDelimiterComments AllowSTXExtendedArrayLiterals
+		DefineForMINGW32 DefineForMINGW64 DefineForMINGW DefineForCLANG
+		WarnAssignmentToBlockArgument WarnAssignmentToPoolVariable
+		WarnAssignmentToMethodArgument'
 	poolDictionaries:''
 	category:'System-Compiler'
 !
@@ -714,12 +716,13 @@
 
 allowDollarInIdentifier
     "return true, if $-characters are allowed in identifiers.
-     Notice, that dollars are NEVER allowed as the first character in an identifier."
+     Notice, that dollars are NEVER allowed as the first character in an identifier
+     (because they are interpreted as character-constant then)."
 
     ^ AllowDollarInIdentifier
 
-    "Created: 7.9.1997 / 01:32:18 / cg"
-    "Modified: 7.9.1997 / 01:39:44 / cg"
+    "Created: / 07-09-1997 / 01:32:18 / cg"
+    "Modified (comment): / 16-11-2016 / 22:25:59 / cg"
 !
 
 allowDollarInIdentifier:aBoolean
@@ -727,16 +730,17 @@
      Notice, that dollars are NEVER allowed as the first character in an identifier.
      If turned off (the default), dollars are not allowed in identifiers,
      but instead are scanned as character-constant prefix.
-     If turned on, dollars are in identifiers are allowed, while extra
+     If turned on, dollars in identifiers are allowed, while extra
      dollars are still scanned as constant character prefix.
      If you have to fileIn old VW-Vsn2.x classes, turn this off
      before filing them in; i.e.:
-	Compiler allowDollarInIdentifiers:false"
+        Compiler allowDollarInIdentifiers:false
+    "
 
     AllowDollarInIdentifier := aBoolean.
 
-    "Created: 7.9.1997 / 01:34:49 / cg"
-    "Modified: 7.9.1997 / 01:39:30 / cg"
+    "Created: / 07-09-1997 / 01:34:49 / cg"
+    "Modified (comment): / 16-11-2016 / 22:26:38 / cg"
 !
 
 allowDolphinExtensions
@@ -908,6 +912,22 @@
     AllowOldStyleAssignment := aBoolean
 !
 
+allowParagraphInIdentifier
+    "return true, if §-characters are allowed in identifiers (treated as letter)"
+
+    ^ AllowParagraphInIdentifier
+
+    "Created: / 16-11-2016 / 22:24:32 / cg"
+!
+
+allowParagraphInIdentifier:aBoolean
+    "this allows turning on/off §-characters in identifiers."
+
+    AllowParagraphInIdentifier := aBoolean.
+
+    "Created: / 16-11-2016 / 22:28:49 / cg"
+!
+
 allowPeriodInSymbol
     "return true, if periods are allowed in a symbol literal #foo.bar.
      Needed to parse some old ST80/Squeak code"
@@ -1372,18 +1392,19 @@
 warnDollarInIdentifier:aBoolean
     "this allows turning on/off warnings about $-characters in identifiers.
      You may find those warnings useful, to make certain that your code
-     is portable to other smalltalk versions, which do not allow this
+     is portable to other Smalltalk versions, which do not allow this
      (i.e. VW releases 2.x and maybe others).
      Notice, that dollars are NEVER allowed as the first character in an identifier.
      If you get bored by those warnings, turn them off by adding
      a line as:
-	ParserFlags warnDollarInIdentifier:false
+        ParserFlags warnDollarInIdentifier:false
      in your 'private.rc' file"
 
     WarnDollarInIdentifier := aBoolean
 
     "Created: / 07-09-1997 / 01:37:42 / cg"
     "Modified: / 05-09-2006 / 11:46:23 / cg"
+    "Modified (comment): / 16-11-2016 / 22:31:06 / cg"
 !
 
 warnHiddenVariables
@@ -1430,6 +1451,24 @@
     "Modified: / 05-09-2006 / 11:46:17 / cg"
 !
 
+warnParagraphInIdentifier
+    "return true, if §-characters in identifiers are to be warned about"
+
+    ^ Warnings and:[WarnParagraphInIdentifier]
+
+    "Created: / 16-11-2016 / 22:30:01 / cg"
+!
+
+warnParagraphInIdentifier:aBoolean
+    "this allows turning on/off warnings about §-characters in identifiers.
+     You may find those warnings useful, to make certain that your code
+     is portable to other Smalltalk versions, which do not allow this"
+
+    WarnParagraphInIdentifier := aBoolean
+
+    "Created: / 16-11-2016 / 22:30:45 / cg"
+!
+
 warnPlausibilityChecks
     "controls generation of warning messages about plausibility checks (possible precedence, etc.)"
 
@@ -1558,6 +1597,7 @@
     WarnAboutBadComments := true.
     WarnUnderscoreInIdentifier := false.
     WarnDollarInIdentifier := true.
+    WarnParagraphInIdentifier := true.
     WarnOldStyleAssignment := true.
     WarnCommonMistakes := true.
     WarnPossibleIncompatibilities := false.
@@ -1577,6 +1617,7 @@
 
     AllowReservedWordsAsSelectors := false.
     AllowUnderscoreInIdentifier := true.
+    AllowParagraphInIdentifier := false.
     AllowDollarInIdentifier := false.           "/ st80-vms dollars in identifiers
     AllowOldStyleAssignment := true.            "/ st80 underscore as assignment
     AllowDolphinExtensions := false.            "/ dolphin computed literal
@@ -1690,7 +1731,7 @@
     "
 
     "Modified: / 09-08-2006 / 18:47:18 / fm"
-    "Modified: / 31-01-2012 / 12:06:32 / cg"
+    "Modified: / 16-11-2016 / 22:32:03 / cg"
 !
 
 initializeSTCFlagsForTopDirectory:topDirArg
@@ -2290,6 +2331,18 @@
     allowOldStyleAssignment := aBoolean
 !
 
+allowParagraphInIdentifier
+    ^ allowParagraphInIdentifier
+
+    "Created: / 16-11-2016 / 22:29:06 / cg"
+!
+
+allowParagraphInIdentifier:aBoolean
+    allowParagraphInIdentifier := aBoolean.
+
+    "Created: / 16-11-2016 / 22:29:14 / cg"
+!
+
 allowPeriodInSymbol
     ^ allowPeriodInSymbol
 !
@@ -2655,6 +2708,18 @@
     warnOldStyleAssignment := aBoolean.
 !
 
+warnParagraphInIdentifier
+    ^ warnParagraphInIdentifier
+
+    "Created: / 16-11-2016 / 22:29:33 / cg"
+!
+
+warnParagraphInIdentifier:aBoolean
+    warnParagraphInIdentifier := aBoolean.
+
+    "Created: / 16-11-2016 / 22:29:45 / cg"
+!
+
 warnPlausibilityChecks
     "controls generation of warning messages about plausibility checks (possible precedence, etc.)"
 
@@ -2770,6 +2835,7 @@
     warnSTXHereExtensionUsed := WarnSTXSpecials.
     warnUnderscoreInIdentifier := WarnUnderscoreInIdentifier.
     warnDollarInIdentifier := WarnDollarInIdentifier.
+    warnParagraphInIdentifier := WarnParagraphInIdentifier.
     warnOldStyleAssignment := WarnOldStyleAssignment.
     warnCommonMistakes := WarnCommonMistakes.
     warnPossibleIncompatibilities := WarnPossibleIncompatibilities.
@@ -2792,6 +2858,7 @@
 
     allowUnderscoreInIdentifier := AllowUnderscoreInIdentifier.
     allowDollarInIdentifier := AllowDollarInIdentifier.
+    allowParagraphInIdentifier := AllowParagraphInIdentifier.
     allowOldStyleAssignment := AllowOldStyleAssignment.
     allowSqueakExtensions := AllowSqueakExtensions.
     allowDolphinExtensions := AllowDolphinExtensions.
@@ -2858,7 +2925,7 @@
      self new inspect.
     "
 
-    "Modified: / 26-09-2012 / 14:22:38 / cg"
+    "Modified: / 16-11-2016 / 22:32:37 / cg"
 ! !
 
 !ParserFlags class methodsFor:'documentation'!