ParserFlags.st
branchjv
changeset 4088 529963173d68
parent 4061 ebdd14acce2d
parent 4085 37418a44b701
child 4098 e535606a3be1
equal deleted inserted replaced
4087:5771dee59aef 4088:529963173d68
       
     1 "{ Encoding: utf8 }"
       
     2 
     1 "
     3 "
     2  COPYRIGHT (c) 1989 by Claus Gittinger
     4  COPYRIGHT (c) 1989 by Claus Gittinger
     3  COPYRIGHT (c) 2005 by eXept Software AG
     5  COPYRIGHT (c) 2005 by eXept Software AG
     4 	      All Rights Reserved
     6 	      All Rights Reserved
     5 
     7 
    54 		allowUnicodeStrings allowUnicodeCharacters allowCharacterEscapes
    56 		allowUnicodeStrings allowUnicodeCharacters allowCharacterEscapes
    55 		allowStringEscapes allowAssignmentToBlockArgument
    57 		allowStringEscapes allowAssignmentToBlockArgument
    56 		allowAssignmentToMethodArgument allowAssignmentToPoolVariable
    58 		allowAssignmentToMethodArgument allowAssignmentToPoolVariable
    57 		lineNumberInfo allowSTXDelimiterComments
    59 		lineNumberInfo allowSTXDelimiterComments
    58 		allowSTXExtendedArrayLiterals warnAssignmentToBlockArgument
    60 		allowSTXExtendedArrayLiterals warnAssignmentToBlockArgument
    59 		warnAssignmentToMethodArgument warnAssignmentToPoolVariable'
    61 		warnAssignmentToMethodArgument warnAssignmentToPoolVariable
       
    62 		allowSignedByteArrayElements'
    60 	classVariableNames:'AllowArrayIndexSyntaxExtension AllowAssignmentToBlockArgument
    63 	classVariableNames:'AllowArrayIndexSyntaxExtension AllowAssignmentToBlockArgument
    61 		AllowAssignmentToMethodArgument AllowAssignmentToPoolVariable
    64 		AllowAssignmentToMethodArgument AllowAssignmentToPoolVariable
    62 		AllowCaretAsBinop AllowCharacterEscapes AllowDollarInIdentifier
    65 		AllowCaretAsBinop AllowCharacterEscapes AllowDollarInIdentifier
    63 		AllowDolphinExtensions AllowDomainVariables AllowEmptyStatements
    66 		AllowDolphinExtensions AllowDomainVariables AllowEmptyStatements
    64 		AllowExtendedBinarySelectors AllowExtendedSTXSyntax
    67 		AllowExtendedBinarySelectors AllowExtendedSTXSyntax
    98 		WarnDollarInIdentifier WarnHiddenVariables
   101 		WarnDollarInIdentifier WarnHiddenVariables
    99 		WarnInconsistentReturnValues WarnOldStyleAssignment
   102 		WarnInconsistentReturnValues WarnOldStyleAssignment
   100 		WarnParagraphInIdentifier WarnPlausibilityChecks
   103 		WarnParagraphInIdentifier WarnPlausibilityChecks
   101 		WarnPossibleIncompatibilities WarnST80Directives WarnSTXSpecials
   104 		WarnPossibleIncompatibilities WarnST80Directives WarnSTXSpecials
   102 		WarnUndeclared WarnUnderscoreInIdentifier WarnUnusedVars Warnings
   105 		WarnUndeclared WarnUnderscoreInIdentifier WarnUnusedVars Warnings
   103 		AutoDefineVariables'
   106 		AutoDefineVariables AllowSignedByteArrayElements'
   104 	poolDictionaries:''
   107 	poolDictionaries:''
   105 	category:'System-Compiler'
   108 	category:'System-Compiler'
   106 !
   109 !
   107 
   110 
   108 !ParserFlags class methodsFor:'documentation'!
   111 !ParserFlags class methodsFor:'documentation'!
   912 
   915 
   913     AllowOldStyleAssignment := aBoolean
   916     AllowOldStyleAssignment := aBoolean
   914 !
   917 !
   915 
   918 
   916 allowParagraphInIdentifier
   919 allowParagraphInIdentifier
   917     "return true, if -characters are allowed in identifiers (treated as letter)"
   920     "return true, if §-characters are allowed in identifiers (treated as letter)"
   918 
   921 
   919     ^ AllowParagraphInIdentifier
   922     ^ AllowParagraphInIdentifier
   920 
   923 
   921     "Created: / 16-11-2016 / 22:24:32 / cg"
   924     "Created: / 16-11-2016 / 22:24:32 / cg"
   922 !
   925 !
   923 
   926 
   924 allowParagraphInIdentifier:aBoolean
   927 allowParagraphInIdentifier:aBoolean
   925     "this allows turning on/off -characters in identifiers."
   928     "this allows turning on/off §-characters in identifiers."
   926 
   929 
   927     AllowParagraphInIdentifier := aBoolean.
   930     AllowParagraphInIdentifier := aBoolean.
   928 
   931 
   929     "Created: / 16-11-2016 / 22:28:49 / cg"
   932     "Created: / 16-11-2016 / 22:28:49 / cg"
   930 !
   933 !
  1096      self allowSTXExtendedArrayLiterals:true
  1099      self allowSTXExtendedArrayLiterals:true
  1097      self allowSTXExtendedArrayLiterals:false
  1100      self allowSTXExtendedArrayLiterals:false
  1098     "
  1101     "
  1099 !
  1102 !
  1100 
  1103 
       
  1104 allowSignedByteArrayElements
       
  1105     "return true, if byteArray elements are allowed to be negative."
       
  1106 
       
  1107     ^ AllowSignedByteArrayElements
       
  1108 !
       
  1109 
       
  1110 allowSignedByteArrayElements:aBoolean
       
  1111     "controls, if byteArray elements are allowed to be negative."
       
  1112 
       
  1113     AllowSignedByteArrayElements := aBoolean
       
  1114 !
       
  1115 
  1101 allowSqueakExtensions
  1116 allowSqueakExtensions
  1102     "return true, if support for squeak extensions
  1117     "return true, if support for squeak extensions
  1103 	computed arrays { .., }
  1118 	computed arrays { .., }
  1104 	c/java style arguments in message sends rec foo(arg1, ... argN)
  1119 	c/java style arguments in message sends rec foo(arg1, ... argN)
  1105      is enabled."
  1120      is enabled."
  1451 
  1466 
  1452     "Modified: / 05-09-2006 / 11:46:17 / cg"
  1467     "Modified: / 05-09-2006 / 11:46:17 / cg"
  1453 !
  1468 !
  1454 
  1469 
  1455 warnParagraphInIdentifier
  1470 warnParagraphInIdentifier
  1456     "return true, if -characters in identifiers are to be warned about"
  1471     "return true, if §-characters in identifiers are to be warned about"
  1457 
  1472 
  1458     ^ Warnings and:[WarnParagraphInIdentifier]
  1473     ^ Warnings and:[WarnParagraphInIdentifier]
  1459 
  1474 
  1460     "Created: / 16-11-2016 / 22:30:01 / cg"
  1475     "Created: / 16-11-2016 / 22:30:01 / cg"
  1461 !
  1476 !
  1462 
  1477 
  1463 warnParagraphInIdentifier:aBoolean
  1478 warnParagraphInIdentifier:aBoolean
  1464     "this allows turning on/off warnings about -characters in identifiers.
  1479     "this allows turning on/off warnings about §-characters in identifiers.
  1465      You may find those warnings useful, to make certain that your code
  1480      You may find those warnings useful, to make certain that your code
  1466      is portable to other Smalltalk versions, which do not allow this"
  1481      is portable to other Smalltalk versions, which do not allow this"
  1467 
  1482 
  1468     WarnParagraphInIdentifier := aBoolean
  1483     WarnParagraphInIdentifier := aBoolean
  1469 
  1484 
  1658     AllowStringEscapes := false.
  1673     AllowStringEscapes := false.
  1659     AllowAssignmentToBlockArgument := false.
  1674     AllowAssignmentToBlockArgument := false.
  1660     AllowAssignmentToMethodArgument := false.
  1675     AllowAssignmentToMethodArgument := false.
  1661     AllowAssignmentToPoolVariable := false.
  1676     AllowAssignmentToPoolVariable := false.
  1662     "/ AllowAssignmentToPoolVariable := true.
  1677     "/ AllowAssignmentToPoolVariable := true.
       
  1678     AllowSignedByteArrayElements := false.
  1663 
  1679 
  1664     ArraysAreImmutable := false.                "/ still care for ST-80 compatibility
  1680     ArraysAreImmutable := false.                "/ still care for ST-80 compatibility
  1665     StringsAreImmutable := false.               "/ still care for ST-80 compatibility
  1681     StringsAreImmutable := false.               "/ still care for ST-80 compatibility
  1666     "/ ArraysAreImmutable := true.                 "/ do not care for ST-80 compatibility
  1682     "/ ArraysAreImmutable := true.                 "/ do not care for ST-80 compatibility
  1667     "/ StringsAreImmutable := true.                "/ do not care for ST-80 compatibility
  1683     "/ StringsAreImmutable := true.                "/ do not care for ST-80 compatibility
  2348 
  2364 
  2349     "Created: / 23-05-2011 / 17:43:45 / cg"
  2365     "Created: / 23-05-2011 / 17:43:45 / cg"
  2350 !
  2366 !
  2351 
  2367 
  2352 allowSignedByteArrayElements
  2368 allowSignedByteArrayElements
  2353     "experimental"
  2369     ^ allowSignedByteArrayElements
  2354     "/ ^ true.
  2370 !
  2355     "/    ^ allowSignedByteArrayElements
  2371 
  2356     ^ false.
  2372 allowSignedByteArrayElements:aBoolean
       
  2373     allowSignedByteArrayElements := aBoolean
  2357 !
  2374 !
  2358 
  2375 
  2359 allowSqueakExtensions
  2376 allowSqueakExtensions
  2360     "return true, if support for squeak extensions
  2377     "return true, if support for squeak extensions
  2361 	computed arrays { .., }
  2378 	computed arrays { .., }
  2812     allowCharacterEscapes := AllowCharacterEscapes.
  2829     allowCharacterEscapes := AllowCharacterEscapes.
  2813     allowStringEscapes := AllowStringEscapes.
  2830     allowStringEscapes := AllowStringEscapes.
  2814     allowAssignmentToBlockArgument := AllowAssignmentToBlockArgument.
  2831     allowAssignmentToBlockArgument := AllowAssignmentToBlockArgument.
  2815     allowAssignmentToMethodArgument := AllowAssignmentToMethodArgument.
  2832     allowAssignmentToMethodArgument := AllowAssignmentToMethodArgument.
  2816     allowAssignmentToPoolVariable := AllowAssignmentToPoolVariable.
  2833     allowAssignmentToPoolVariable := AllowAssignmentToPoolVariable.
       
  2834     allowSignedByteArrayElements := AllowSignedByteArrayElements.
  2817 
  2835 
  2818     arraysAreImmutable := ArraysAreImmutable ? true.
  2836     arraysAreImmutable := ArraysAreImmutable ? true.
  2819     stringsAreImmutable := StringsAreImmutable ? true.
  2837     stringsAreImmutable := StringsAreImmutable ? true.
  2820     implicitSelfSends := ImplicitSelfSends ? false.
  2838     implicitSelfSends := ImplicitSelfSends ? false.
  2821     lineNumberInfo := LineNumberInfo ? false.
  2839     lineNumberInfo := LineNumberInfo ? false.