StataScriptLogImporter.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 17 Mar 2015 09:07:34 +0000
changeset 3 4fa654e15e0d
parent 0 da028ec9cc07
permissions -rw-r--r--
Implemented "New Window" menu function
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:statascripteditor' }"
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: Smalltalk }"
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
Object subclass:#StataScriptLogImporter
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'script inCom'
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'Stata Script Editor'
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!StataScriptLogImporter methodsFor:'handling'!
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
characterData:aString
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    (inCom and:[aString notEmptyOrNil]) ifTrue:[ 
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
        (aString startsWith: '. ') ifTrue:[ 
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
            script nextPutLine:(aString copyFrom: 3)  
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
        ] ifFalse:[ 
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
            script nextPutLine: aString  
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
        ].
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    ].
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    "Created: / 11-02-2015 / 00:32:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
!
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
tag: tag
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    inCom := tag = 'com'
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
    "Created: / 10-02-2015 / 22:22:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
! !
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
!StataScriptLogImporter methodsFor:'importing'!
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
import: aStringOrStreamOrFilename
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    | parser |
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    script := String new writeStream.
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    inCom := false.
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
    parser := StataScriptLogParser new.
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    parser handler: self.  
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    parser parse: aStringOrStreamOrFilename readStream.
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    ^ script contents.
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    "Created: / 10-02-2015 / 22:20:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    "Modified: / 11-02-2015 / 00:32:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
! !
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
!StataScriptLogImporter class methodsFor:'documentation'!
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
version_HG
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
    ^ '$Changeset: <not expanded> $'
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
! !
da028ec9cc07 Initial commit
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55