Scanner.st
changeset 947 5d1d5931e9ee
parent 923 3f80595d2370
child 982 f0cc45f113b3
equal deleted inserted replaced
946:f768a4b86f8d 947:5d1d5931e9ee
   609 
   609 
   610     source next.
   610     source next.
   611     source skipSeparatorsExceptCR.
   611     source skipSeparatorsExceptCR.
   612     hereChar := source peekOrNil.
   612     hereChar := source peekOrNil.
   613     hereChar isLetter ifTrue:[
   613     hereChar isLetter ifTrue:[
   614         directive := source nextWord.
   614         directive := source nextWord asLowercase.
   615         source peekOrNil == $: ifTrue:[
   615         source peekOrNil == $: ifTrue:[
   616             source next.
   616             source next.
   617             source skipSeparatorsExceptCR.
   617             source skipSeparatorsExceptCR.
   618             hereChar := source peekOrNil.
   618             hereChar := source peekOrNil.
   619 
   619 
   620             "
   620             "
   621              Package: 'name-of-package'
   621              package: 'name-of-package'
   622              Package: packageId
   622              package: packageId
   623             "
   623             "
   624             directive = 'Package' ifTrue:[
   624             directive = 'package' ifTrue:[
   625                 packageName := self parseDirectiveStringArg.
   625                 packageName := self parseDirectiveStringArg.
   626                 packageName notNil ifTrue:[
   626                 packageName notNil ifTrue:[
   627                     (requestor respondsTo:#setPackage:) ifTrue:[
   627                     (requestor respondsTo:#setPackage:) ifTrue:[
   628                         requestor setPackage:packageName
   628                         requestor setPackage:packageName
   629                     ].
   629                     ].
   630                 ] ifFalse:[
   630                 ] ifFalse:[
   631                     Transcript showCR:'unrecognized ''Package'' directive'.
   631                     Transcript showCR:'unrecognized ''package'' directive'.
   632                     ^ false
   632                     ^ false
   633                 ]
   633                 ]
   634             ].
   634             ].
   635 
   635 
   636             "
   636             "
   637              Namespace: 'nameSpaceIdentifier'
   637              Namespace: 'nameSpaceIdentifier'
   638              Namespace: nameSpaceIdentifier
   638              Namespace: nameSpaceIdentifier
   639             "
   639             "
   640             (directive = 'Namespace' 
   640             (directive = 'namespace') ifTrue:[
   641             or:[directive = 'NameSpace']) ifTrue:[
       
   642                 namespace := self parseDirectiveStringArg.
   641                 namespace := self parseDirectiveStringArg.
   643                 namespace notNil ifTrue:[
   642                 namespace notNil ifTrue:[
   644                     (requestor respondsTo:#setNameSpace:) ifTrue:[
   643                     (requestor respondsTo:#setNameSpace:) ifTrue:[
   645                         requestor setNameSpace:namespace 
   644                         requestor setNameSpace:namespace 
   646                     ] ifFalse:[
   645                     ] ifFalse:[
   647                         self setNameSpace:namespace
   646                         self setNameSpace:namespace
   648                     ].
   647                     ].
   649                 ] ifFalse:[
   648                 ] ifFalse:[
   650                     Transcript showCR:'unrecognized ''NameSpace'' directive'.
   649                     Transcript showCR:'unrecognized ''namespace'' directive'.
   651                     ^ false
   650                     ^ false
   652                 ].
   651                 ].
   653             ].
   652             ].
   654 
   653 
   655             "
   654             "
   656              Uses: 'nameSpace1', ... , 'nameSpaceN'
   655              Uses: 'nameSpace1', ... , 'nameSpaceN'
   657              Uses: nameSpaceId1, ... , nameSpaceIdN
   656              Uses: nameSpaceId1, ... , nameSpaceIdN
   658             "
   657             "
   659             directive = 'Uses' ifTrue:[
   658             directive = 'uses' ifTrue:[
   660                 list := self parseDirectiveStringListArg.
   659                 list := self parseDirectiveStringListArg.
   661                 list notNil ifTrue:[
   660                 list notNil ifTrue:[
   662                     (requestor respondsTo:#addNameSpaces:) ifTrue:[
   661                     (requestor respondsTo:#addNameSpaces:) ifTrue:[
   663                         requestor addNameSpaces:list 
   662                         requestor addNameSpaces:list 
   664                     ]
   663                     ]
   665                 ] ifFalse:[
   664                 ] ifFalse:[
   666                     Transcript showCR:'unrecognized ''Uses'' directive'.
   665                     Transcript showCR:'unrecognized ''uses'' directive'.
   667                     ^ false
   666                     ^ false
   668                 ]
   667                 ]
   669             ].
   668             ].
   670 
   669 
   671             "
   670             "
   672              Prerequisites: 'name-of-package', ... , 'name-of-package'
   671              Prerequisites: 'name-of-package', ... , 'name-of-package'
   673             "
   672             "
   674             directive = 'Prerequisites' ifTrue:[
   673             directive = 'prerequisites' ifTrue:[
   675                 list := self parseDirectiveStringListArg.
   674                 list := self parseDirectiveStringListArg.
   676                 list notNil ifTrue:[
   675                 list notNil ifTrue:[
   677                     (requestor respondsTo:#requirePackages:) ifTrue:[
   676                     (requestor respondsTo:#requirePackages:) ifTrue:[
   678                         requestor requirePackages:list 
   677                         requestor requirePackages:list 
   679                     ].
   678                     ].
   680                 ] ifFalse:[
   679                 ] ifFalse:[
   681                     Transcript showCR:'unrecognized ''Prerequisites'' directive'.
   680                     Transcript showCR:'unrecognized ''prerequisites'' directive'.
   682                     ^ false
   681                     ^ false
   683                 ]
   682                 ]
   684             ].
   683             ].
   685         ]
   684         ]
   686     ].
   685     ].
  2015 ! !
  2014 ! !
  2016 
  2015 
  2017 !Scanner class methodsFor:'documentation'!
  2016 !Scanner class methodsFor:'documentation'!
  2018 
  2017 
  2019 version
  2018 version
  2020     ^ '$Header: /cvs/stx/stx/libcomp/Scanner.st,v 1.106 1999-07-20 15:58:00 cg Exp $'
  2019     ^ '$Header: /cvs/stx/stx/libcomp/Scanner.st,v 1.107 1999-08-26 11:55:02 cg Exp $'
  2021 ! !
  2020 ! !
  2022 Scanner initialize!
  2021 Scanner initialize!