devtools/PPDebugger.st
author Patrik Svestka <patrik.svestka@gmail.com>
Wed, 14 Nov 2018 13:01:14 +0100
changeset 642 77d5fddb6462
parent 127 18f560ebccaa
permissions -rw-r--r--
Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present - All source *.st files are now Unicode UTF8 without BOM Files are in two groups (fileOut works this way in Smalltalk/X): - containing a unicode character have "{ Encoding: utf8 }" at the header - ASCII only are without the header
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
642
77d5fddb6462 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 127
diff changeset
     1
"{ Encoding: utf8 }"
77d5fddb6462 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 127
diff changeset
     2
75
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ Package: 'stx:goodies/petitparser/devtools' }"
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
Object subclass:#PPDebugger
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'indent'
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'PetitParser-Debugging'
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!PPDebugger class methodsFor:'instance creation'!
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
new
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    "return an initialized instance"
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    ^ self basicNew initialize.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
! !
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
!PPDebugger methodsFor:'events'!
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
enterParser: aPPParser stream: aStream
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    indent timesRepeat:[Transcript nextPutAll:'    '].
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    Transcript nextPutAll:'{ '.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
    Transcript nextPutAll: aPPParser name ? aPPParser printString.
127
18f560ebccaa class: PPDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
    28
    [
18f560ebccaa class: PPDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
    29
        Transcript nextPutAll: ' pos = '; nextPutAll: aStream position printString.
18f560ebccaa class: PPDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
    30
    ] on: Error do:[:ex|
18f560ebccaa class: PPDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
    31
        Debugger enter.
18f560ebccaa class: PPDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
    32
    ].
75
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    Transcript cr.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
    indent := indent + 1.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    "Created: / 12-03-2012 / 16:41:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
127
18f560ebccaa class: PPDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
    37
    "Modified: / 11-01-2013 / 15:16:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
75
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
!
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
leaveParser: aPPParser stream: aStream result: result
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
    indent := indent - 1.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    indent timesRepeat:[Transcript nextPutAll:'    '].
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    Transcript nextPutAll:'} '.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    Transcript nextPutAll: aPPParser name ? aPPParser printString.
127
18f560ebccaa class: PPDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
    46
    Transcript nextPutAll: ' pos = '; nextPutAll: aStream position printString.
75
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    Transcript nextPutAll: ' result = '.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    result isPetitFailure ifTrue:[
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
        Transcript nextPutAll: 'FAILURE '.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    ].
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
    Transcript nextPutAll: result printString.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
    Transcript cr.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    "Created: / 12-03-2012 / 16:41:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
127
18f560ebccaa class: PPDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
    55
    "Modified: / 11-01-2013 / 15:17:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
75
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
! !
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
!PPDebugger methodsFor:'initialization'!
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
initialize
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    "Invoked when a new instance is created."
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    "/ please change as required (and remove this comment)
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    indent := 0.
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
    "/ super initialize.   -- commented since inherited method does nothing
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    "Modified: / 12-03-2012 / 16:41:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
! !
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
!PPDebugger class methodsFor:'documentation'!
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
version
127
18f560ebccaa class: PPDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
    74
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/devtools/PPDebugger.st,v 1.2 2013-01-11 15:17:28 vrany Exp $'
75
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
!
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
version_CVS
127
18f560ebccaa class: PPDebugger
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 75
diff changeset
    78
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/devtools/PPDebugger.st,v 1.2 2013-01-11 15:17:28 vrany Exp $'
75
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
!
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
version_SVN
642
77d5fddb6462 Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present
Patrik Svestka <patrik.svestka@gmail.com>
parents: 127
diff changeset
    82
    ^ '§Id: PPDebugger.st 10 2012-05-04 18:54:13Z vranyj1 §'
75
11f265240739 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
! !