MCDoItParser.st
author Claus Gittinger <cg@exept.de>
Wed, 22 Nov 2006 14:06:23 +0100
changeset 39 6dda1c5f35ee
child 211 dfeef408761e
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
39
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#MCDoItParser
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'source'
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Chunk Format'
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCDoItParser class methodsFor:'as yet unclassified'!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
concreteSubclasses
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	^ self allSubclasses reject: [:c | c isAbstract]
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
forDoit: aString
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	^ (self subclassForDoit: aString) ifNotNilDo: [:c | c new source: aString]
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
isAbstract
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	^ self pattern isNil
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
pattern
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	^ nil
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
subclassForDoit: aString
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	^ self concreteSubclasses detect: [:ea | ea pattern match: aString] ifNone: []
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
! !
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
!MCDoItParser methodsFor:'as yet unclassified'!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
addDefinitionsTo: aCollection
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
	self subclassResponsibility 
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
source
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
	^ source
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
source: aString
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
	source _ aString
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
! !
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
!MCDoItParser class methodsFor:'documentation'!
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
version
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCDoItParser.st,v 1.1 2006-11-22 13:06:23 cg Exp $'
6dda1c5f35ee initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
! !