ParseErrorNode.st
author Claus Gittinger <cg@exept.de>
Fri, 26 Oct 2012 11:48:52 +0200
changeset 2958 4bb6acd04cfe
parent 2853 fab783ff128b
child 3269 812d7cd10746
permissions -rw-r--r--
added: #compilePackage: changed: #compileClass:
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
2547
55ec27b3306c ParserErrorNode now inherits from ParseNode
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1570
diff changeset
    14
ParseNode subclass:#ParseErrorNode
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    15
	instanceVariableNames:'errorString errorToken'
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'System-Compiler-Support'
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
1570
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    21
!ParseErrorNode class methodsFor:'documentation'!
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    22
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    23
copyright
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 (c) 2004 by eXept Software AG
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    26
              All Rights Reserved
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    27
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    28
 This software is furnished under a license and may be used
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    29
 only in accordance with the terms of that license and with the
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    31
 be provided or otherwise made available to, or used by, any
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    32
 other person.  No title to or ownership of the software is
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    33
 hereby transferred.
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    34
"
8ce7594e9b55 copyright
Claus Gittinger <cg@exept.de>
parents: 1532
diff changeset
    35
! !
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
!ParseErrorNode class methodsFor:'instance creation'!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
errorString:arg
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
    ^ self new errorString:arg
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
! !
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
!ParseErrorNode methodsFor:'accessing'!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
errorString
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    ^ errorString
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
errorString:something
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    errorString := something.
2549
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    51
!
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    52
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    53
errorToken
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    54
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    55
    ^errorToken
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    56
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    57
    "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
    58
!
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    59
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    60
errorToken:something
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    61
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    62
    errorToken := something
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    63
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    64
    "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
    65
!
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    66
2549
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    67
lineNumber
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    68
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    69
    ^self objectAttributeAt: #lineNumber
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    70
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    71
    "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
    72
!
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    73
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    74
lineNumber: anInteger
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    75
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    76
    self objectAttributeAt: #lineNumber put: anInteger
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    77
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
    78
    "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
    79
! !
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    81
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    82
!ParseErrorNode methodsFor:'printing & storing'!
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    83
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    84
printOn:aStream indent:indent
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    85
    "append a user printed representation of the receiver to aStream.
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    86
     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
    87
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    88
    aStream next: indent put: Character tab.
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    89
    errorToken notNil ifTrue:[
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    90
        aStream nextPutAll: errorToken
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    91
    ] ifFalse: [
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    92
        aStream nextPutAll:'"<< parse error here >>"'
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    93
    ]
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    94
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    95
    "Created: / 20-04-2005 / 14:21:46 / cg"
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    96
    "Modified: / 08-03-2012 / 20:52:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    97
! !
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
    98
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
!ParseErrorNode methodsFor:'queries'!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
isErrorNode
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    ^ true
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
! !
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
2594
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   105
!ParseErrorNode methodsFor:'visiting'!
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   106
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   107
acceptVisitor:aVisitor 
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   108
    "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
   109
     the selector (visitor pattern)"
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   110
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   111
    "stub code automatically generated - please change if required"
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   112
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   113
    ^ aVisitor visitParseErrorNode:self
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   114
! !
8226f4081f74 - added acceptVisior:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2549
diff changeset
   115
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
!ParseErrorNode class methodsFor:'documentation'!
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
version
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   119
    ^ '$Header: /cvs/stx/stx/libcomp/ParseErrorNode.st,v 1.6 2012-03-09 07:48:24 vrany Exp $'
2549
b4e6af2f403e line & lineNumber
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2547
diff changeset
   120
!
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
version_CVS
2853
fab783ff128b class definition
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 2594
diff changeset
   123
    ^ '$Header: /cvs/stx/stx/libcomp/ParseErrorNode.st,v 1.6 2012-03-09 07:48:24 vrany Exp $'
1532
9c2adf12f271 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
! !