devtools/PPDebugger.st
changeset 75 11f265240739
child 127 18f560ebccaa
equal deleted inserted replaced
68:21381bc66c96 75:11f265240739
       
     1 "{ Package: 'stx:goodies/petitparser/devtools' }"
       
     2 
       
     3 Object subclass:#PPDebugger
       
     4 	instanceVariableNames:'indent'
       
     5 	classVariableNames:''
       
     6 	poolDictionaries:''
       
     7 	category:'PetitParser-Debugging'
       
     8 !
       
     9 
       
    10 
       
    11 !PPDebugger class methodsFor:'instance creation'!
       
    12 
       
    13 new
       
    14     "return an initialized instance"
       
    15 
       
    16     ^ self basicNew initialize.
       
    17 ! !
       
    18 
       
    19 !PPDebugger methodsFor:'events'!
       
    20 
       
    21 enterParser: aPPParser stream: aStream
       
    22 
       
    23     indent timesRepeat:[Transcript nextPutAll:'    '].
       
    24     Transcript nextPutAll:'{ '.
       
    25     Transcript nextPutAll: aPPParser name ? aPPParser printString.
       
    26     Transcript nextPutAll: ' pos = '; nextPutAll: aStream position.
       
    27     Transcript cr.
       
    28     indent := indent + 1.
       
    29 
       
    30     "Created: / 12-03-2012 / 16:41:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    31 !
       
    32 
       
    33 leaveParser: aPPParser stream: aStream result: result
       
    34 
       
    35     indent := indent - 1.
       
    36     indent timesRepeat:[Transcript nextPutAll:'    '].
       
    37     Transcript nextPutAll:'} '.
       
    38     Transcript nextPutAll: aPPParser name ? aPPParser printString.
       
    39     Transcript nextPutAll: ' pos = '; nextPutAll: aStream position.
       
    40     Transcript nextPutAll: ' result = '.
       
    41     result isPetitFailure ifTrue:[
       
    42         Transcript nextPutAll: 'FAILURE '.
       
    43     ].
       
    44     Transcript nextPutAll: result printString.
       
    45     Transcript cr.
       
    46 
       
    47     "Created: / 12-03-2012 / 16:41:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    48 ! !
       
    49 
       
    50 !PPDebugger methodsFor:'initialization'!
       
    51 
       
    52 initialize
       
    53     "Invoked when a new instance is created."
       
    54 
       
    55     "/ please change as required (and remove this comment)
       
    56     indent := 0.
       
    57 
       
    58     "/ super initialize.   -- commented since inherited method does nothing
       
    59 
       
    60     "Modified: / 12-03-2012 / 16:41:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    61 ! !
       
    62 
       
    63 !PPDebugger class methodsFor:'documentation'!
       
    64 
       
    65 version
       
    66     ^ '$Header: /cvs/stx/stx/goodies/petitparser/devtools/PPDebugger.st,v 1.1 2012-05-05 14:48:51 vrany Exp $'
       
    67 !
       
    68 
       
    69 version_CVS
       
    70     ^ '$Header: /cvs/stx/stx/goodies/petitparser/devtools/PPDebugger.st,v 1.1 2012-05-05 14:48:51 vrany Exp $'
       
    71 !
       
    72 
       
    73 version_SVN
       
    74     ^ '§Id: PPDebugger.st 10 2012-05-04 18:54:13Z vranyj1 §'
       
    75 ! !