devtools/PPDebuggingParser.st
author Jan Vrany <jan.vrany@labware.com>
Wed, 10 Jun 2020 21:33:27 +0100
changeset 650 4c6ed0a28d18
parent 642 77d5fddb6462
permissions -rw-r--r--
Replace `ifNil:[...]` with `isNil ifTrue:[...]` The latter is optimized by compilers and therefore faster.
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: 99
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: 99
diff changeset
     2
76
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ Package: 'stx:goodies/petitparser/devtools' }"
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
PPParser subclass:#PPDebuggingParser
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'parser debugger'
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'PetitParser-Debugging'
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!PPDebuggingParser class methodsFor:'instance creation'!
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
parser: parser debugger: debugger
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    ^self new parser: parser; debugger: debugger
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    "Created: / 12-03-2012 / 16:47:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
! !
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
!PPDebuggingParser methodsFor:'accessing'!
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
debugger
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    ^ debugger
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
!
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
debugger:aPPDebugger
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    debugger := aPPDebugger.
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
!
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
parser
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    ^ parser
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
parser:aPPParser
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    parser := aPPParser.
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
! !
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
!PPDebuggingParser methodsFor:'parsing'!
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
parseOn:aStream
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    | result |
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    debugger enterParser: parser stream: aStream.
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    result := parser parseOn: aStream.
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    debugger leaveParser: parser stream: aStream result: result.
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    ^result.
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    "Modified: / 12-03-2012 / 16:41:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
! !
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
99
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    53
!PPDebuggingParser methodsFor:'visiting'!
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    54
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    55
acceptVisitor:aVisitor 
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    56
    "Double dispatch back to the visitor, passing my type encoded in
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    57
     the selector (visitor pattern)"
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    58
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    59
    "stub code automatically generated - please change if required"
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    60
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    61
    ^ aVisitor visitPPDebuggingParser:self
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    62
! !
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    63
76
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
!PPDebuggingParser class methodsFor:'documentation'!
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
version
99
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    67
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/devtools/PPDebuggingParser.st,v 1.2 2013-01-10 13:22:02 vrany Exp $'
76
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
!
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
version_CVS
99
57b4439a7998 Added PPCompositeParserGenerator & PPParserVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    71
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/devtools/PPDebuggingParser.st,v 1.2 2013-01-10 13:22:02 vrany Exp $'
76
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
!
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
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: 99
diff changeset
    75
    ^ '§Id: PPDebuggingParser.st 10 2012-05-04 18:54:13Z vranyj1 §'
76
3a7ad5256cd9 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
! !