eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'RBParser':

Home

everywhere
www.exept.de
for:
[back]

Class: RBParser


Inheritance:

   Object
   |
   +--RBParser

Package:
stx:goodies/refactoryBrowser/parser
Category:
Refactory-Parser
Version:
rev: 1.67 date: 2010/04/19 16:44:59
user: cg
file: RBParser.st directory: goodies/refactoryBrowser/parser
module: stx stc-classLibrary: parser

Class protocol:

accessing
o  format: textOrStream in: aClass notifying: aRequestor contentsSymbol: aSymbol
Compile a parse tree from the argument, textOrStream. Answer a string containing the original code, formatted nicely. If aBoolean is true, then decorate the resulting text with color and hypertext actions

o  format: aString in: anIgnoredClass notifying: aRequester decorated: decorated

o  parseDoItMethodBody: aString onError: aBlock

o  parseExpression: aString

o  parseExpression: aString onError: aBlock

o  parseMethod: aString

o  parseMethod: aString onError: aBlock

o  parseMethod: aString onError: aBlock proceedAfterError: proceedAfterError

o  parseMethod: aString onError: aBlock proceedAfterError: proceedAfterError rememberNodes: rememberNodes

o  parseMethod: aString onError: aBlock rememberNodes: rememberNodes

o  parseMethod: aString onError: aBlock rememberNodes: rememberNodes nodeGenerationCallback: nodeGenerationCallbackOrNil

o  parseMethod: aString setup: setupBlock onError: aBlock

o  parseMethodWithNoComments: aString

o  parseMethodWithNoComments: aString onError: aBlock

o  parseRewriteExpression: aString

o  parseRewriteExpression: aString onError: aBlock

o  parseRewriteMethod: aString

o  parseRewriteMethod: aString onError: aBlock

o  parseSearchMethod: aString onError: aBlock

class initialization
o  initialize
Try to determine which image we're running in

o  parserType

o  parserType: aSymbol

parsing
o  parseMethodPattern: aString

o  parseVariableNames: aString

testing
o  isIBM

o  isSmalltalkX

o  isSqueak

o  isVisualWorks


Instance protocol:

accessing
o  currentMethodNode
only valid while within a method-parse (nil otherwise).
Useful to see what has been parsed so far,
in case of an error
(codecompletion uses this to look for
args and locals, even if the source is not syntactically correct)

o  currentScope
only valid while within a method-parse (nil otherwise).
Useful to see what has been parsed so far, in case of an error
(codecompletion uses this to look for variables in scope,
even if the source is not syntactically correct)

o  errorBlock: aBlock

o  initializeParserWith: aString type: aSymbol

o  parseDoItMethodBody: aString

o  parseExpression

o  parseMethod: aString

o  parseMethodWithNoComments: aString

o  proceedAfterError: aBoolean

error handling
o  errorBlock

o  errorPosition

o  parserError: aString
Evaluate the errorBlock. If it returns raise an error

o  parserError: msg lastNode: aNode

o  rememberLastNode: aNode

o  scannerError: aString
Evaluate the block. If it returns raise an error

initialization & release
o  initializeForIBM

o  initializeForSmalltalkX

o  initializeForSqueak

o  initializeForVisualWorks

o  nodeGenerationCallback: nodeGenerationCallbackOrNil

o  rememberNodes: aBoolean

o  scanner: aScanner

private
o  addComments: comments afterNode: aNode

o  addComments: comments beforeNode: aNode

o  nextToken

o  patchLiteralMessage

o  patchNegativeLiteral
Handle the special negative number case for binary message sends.

o  step

private-parsing
o  parseArgs

o  parseArray
parse Squeak's {} construct

o  parseAssignment
Need one token lookahead to see if we have a ':='. This method could
make it possible to assign the literals true, false and nil.

o  parseBinaryMessage

o  parseBinaryMessageWith: aNode

o  parseBinaryPattern

o  parseBlock

o  parseBlockArgsInto: node

o  parseCascadeMessage

o  parseDoItMethodBody

o  parseKeywordMessage

o  parseKeywordMessageWith: node

o  parseKeywordPattern

o  parseMessagePattern

o  parseMethod

o  parseMethodWithNoComments

o  parseNegatedNumber

o  parseOptimizedExpression

o  parseParenthesizedExpression

o  parsePatternBlock

o  parsePrimitiveIdentifier

o  parsePrimitiveLiteral

o  parsePrimitiveObject

o  parsePrimitiveObjectIfFail: failBlock

o  parseResourceTag

o  parseSTXPrimitiveCCodeExpression

o  parseStatementList: tagBoolean into: sequenceNode

o  parseStatements: tagBoolean

o  parseUnaryMessage

o  parseUnaryMessageWith: aNode

o  parseUnaryPattern

o  parseVariableNode

testing
o  atEnd



ST/X 6.1.1; WebServer 1.620 at exept:8081; Tue, 22 May 2012 21:52:17 GMT