ParseErrorNode.st
author Jan Vrany <jan.vrany@labware.com>
Thu, 27 Oct 2022 14:53:59 +0100
branchjv
changeset 4735 3b11fb3ede98
parent 4509 132f89212503
permissions -rw-r--r--
Allow single underscore as method / block argument and temporaries This commit is a follow up for 38b221e.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1570
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
     1
"
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
     2
 COPYRIGHT (c) 2004 by eXept Software AG
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
     3
              All Rights Reserved
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
     4
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
     5
 This software is furnished under a license and may be used
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
     6
 only in accordance with the terms of that license and with the
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
     8
 be provided or otherwise made available to, or used by, any
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
     9
 other person.  No title to or ownership of the software is
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    10
 hereby transferred.
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    11
"
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libcomp' }"
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
4144
40668dc4b737 #OTHER by mawalch
mawalch
parents: 3269
diff changeset
    14
"{ NameSpace: Smalltalk }"
40668dc4b737 #OTHER by mawalch
mawalch
parents: 3269
diff changeset
    15
2547
55ec27b3306c ParserErrorNode now inherits from ParseNode
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1570
diff changeset
    16
ParseNode subclass:#ParseErrorNode
3269
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    17
	instanceVariableNames:'errorString errorToken children'
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'System-Compiler-Support'
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
1570
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    23
!ParseErrorNode class methodsFor:'documentation'!
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    24
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    25
copyright
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    26
"
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    27
 COPYRIGHT (c) 2004 by eXept Software AG
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    28
              All Rights Reserved
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    29
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    30
 This software is furnished under a license and may be used
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    31
 only in accordance with the terms of that license and with the
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    33
 be provided or otherwise made available to, or used by, any
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    34
 other person.  No title to or ownership of the software is
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    35
 hereby transferred.
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    36
"
3269
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    37
!
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    38
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    39
documentation
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    40
"
4144
40668dc4b737 #OTHER by mawalch
mawalch
parents: 3269
diff changeset
    41
    ParseErrorNode represent an erroneous portion of the source code.
3269
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    42
    Error nodes are created by error-tolerant parser. So far the only
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    43
    user is SmallSenseParser (https://bitbucket.org/janvrany/jv-smallsense).
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    44
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    45
    Error nodes may have children which may not be error nodes. Such
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    46
    children represent a part of the code that actuallu could be parsed.
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    47
    Example:
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    48
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    49
        printValue: value
4144
40668dc4b737 #OTHER by mawalch
mawalch
parents: 3269
diff changeset
    50
            Transcript show: (value printStringRadix: 12
3269
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    51
            Transcript cr
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    52
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    53
    The tolerant parser may create tree like:
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    54
        statement (StatementNode)
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    55
            #show: (MessageNode)
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    56
                Transcript (ContantNode)
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    57
                <<error>> (ParseErrorNode)
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    58
                    #printStringRadix: (MessageNode)
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    59
                        value (VariableNode)
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    60
                        12 (ContantNode)
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    61
        statement (StatementNode)
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    62
            #cr (MessageNode)
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    63
                Transcript (ContantNode)
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    64
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    65
    [author:]
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    66
        Jan Vrany <jan.vrany@fit.cvut.cz>
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    67
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    68
    [instance variables:]
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    69
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    70
    [class variables:]
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    71
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    72
    [see also:]
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    73
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    74
"
1570
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    75
! !
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
!ParseErrorNode class methodsFor:'instance creation'!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
errorString:arg
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    ^ self new errorString:arg
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
! !
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
!ParseErrorNode methodsFor:'accessing'!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
3269
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    85
children
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    86
    ^ children
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    87
!
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    88
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    89
children:aCollection
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    90
    children := aCollection.
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    91
    children do:[:each | each parent: self ].
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    92
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    93
    "Modified: / 15-08-2013 / 11:43:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    94
!
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
    95
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
errorString
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
    ^ errorString
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
errorString:something
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
    errorString := something.
2549
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   102
!
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   103
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   104
errorToken
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   105
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   106
    ^errorToken
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   107
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   108
    "Created: / 27-11-2011 / 09:25:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   109
!
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   110
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   111
errorToken:something
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   112
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   113
    errorToken := something
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   114
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   115
    "Created: / 27-11-2011 / 09:25:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   116
!
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   117
2549
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   118
lineNumber
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   119
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   120
    ^self objectAttributeAt: #lineNumber
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   121
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   122
    "Created: / 09-07-2011 / 22:30:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   123
!
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   124
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   125
lineNumber: anInteger
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   126
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   127
    self objectAttributeAt: #lineNumber put: anInteger
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   128
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   129
    "Created: / 09-07-2011 / 22:29:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
! !
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
4509
132f89212503 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 4144
diff changeset
   132
!ParseErrorNode methodsFor:'enumeration'!
132f89212503 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 4144
diff changeset
   133
132f89212503 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 4144
diff changeset
   134
childrenDo:aBlock
132f89212503 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 4144
diff changeset
   135
    children notNil ifTrue:[
132f89212503 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 4144
diff changeset
   136
        children do:aBlock  
132f89212503 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 4144
diff changeset
   137
    ]
132f89212503 #OTHER by exept
Claus Gittinger <cg@exept.de>
parents: 4144
diff changeset
   138
! !
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   139
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   140
!ParseErrorNode methodsFor:'printing & storing'!
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   141
3269
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   142
printAllOn:aStream indent:indent
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   143
    children do: [:each | each printAllOn:aStream indent:indent ].
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   144
    self printOn:aStream indent:indent
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   145
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   146
    "Created: / 15-08-2013 / 12:29:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   147
!
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   148
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   149
printOn:aStream indent:indent
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   150
    "append a user printed representation of the receiver to aStream.
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   151
     The format is suitable for a human - not meant to be read back."
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   152
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   153
    aStream next: indent put: Character tab.
3269
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   154
    aStream nextPutAll:'"<< parse error here'.
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   155
    errorString notNil ifTrue:[
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   156
        aStream nextPutAll:': '.
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   157
        aStream nextPutAll: errorString
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   158
    ].
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   159
    errorToken notNil ifTrue:[
3269
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   160
        aStream nextPutAll:' (error token: '.
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   161
        aStream nextPutAll: errorToken.
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   162
        aStream nextPutAll: ')'.
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   163
    ].
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   164
    aStream nextPutAll:'>>"'
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   165
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   166
    "Created: / 20-04-2005 / 14:21:46 / cg"
3269
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   167
    "Modified: / 15-08-2013 / 12:32:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   168
! !
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   169
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
!ParseErrorNode methodsFor:'queries'!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
isErrorNode
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
    ^ true
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
! !
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
2594
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   176
!ParseErrorNode methodsFor:'visiting'!
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   177
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   178
acceptVisitor:aVisitor 
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   179
    "Double dispatch back to the visitor, passing my type encoded in
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   180
     the selector (visitor pattern)"
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   181
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   182
    "stub code automatically generated - please change if required"
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   183
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   184
    ^ aVisitor visitParseErrorNode:self
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   185
! !
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   186
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
!ParseErrorNode class methodsFor:'documentation'!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
version
4144
40668dc4b737 #OTHER by mawalch
mawalch
parents: 3269
diff changeset
   190
    ^ '$Header$'
2549
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   191
!
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   192
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   193
version_CVS
4144
40668dc4b737 #OTHER by mawalch
mawalch
parents: 3269
diff changeset
   194
    ^ '$Header$'
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
! !
3269
812d7cd10746 Added children nodes, better printOn: and some more documentation.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2853
diff changeset
   196