eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'Parser::PrimitiveSpecParser':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: PrimitiveSpecParser (private in Parser

This class is only visible from within Parser.

Inheritance:

   Object
   |
   +--Scanner
      |
      +--Parser
         |
         +--Parser::PrimitiveSpecParser

Package:
stx:libcomp
Category:
System-Compiler
Owner:
Parser

Instance protocol:

initialization
o  initialize
(comment from inherited method)
<modifier: #super> "must be called if redefined"

parsing
o  parseSTVExternalFunctionDeclarationFrom: aStream definitionType: definitionType lineNr: lineNr for: aParserOrNil
parses ST/V function declarations of the forms
'<api: functionName argType1 .. argTypeN returnType>'
'<ccall: functionName argType1 .. argTypeN returnType>'
'<ole: [async] vFunctionIndex argType1 .. argTypeN returnType>'

o  parseSTXOrSqueakOrDolphinExternalFunctionDeclarationFrom: aStream definitionType: definitionType lineNr: lineNrArg for: aParserOrNil
parses squeak/dolphin function declarations of the forms
'<stdcall: [virtual|nonVirtual][const][mustFree] returnType functionNameStringOrIndex argType1..argTypeN>'
'<cdecl: [virtual|nonVirtual][const][mustFree] returnType functionNameStringOrIndex argType1..argTypeN>'

'<cdecl: [async] [virtual|nonVirtual][const][mustFree] returnType functionNameStringOrIndex ( argType1..argTypeN ) module: moduleName >'
'<apicall: [async] [virtual|nonVirtual][const][mustFree] returnType functionNameStringOrIndex ( argType1..argTypeN ) module: moduleName >'

o  parseTypeSpec
first token

o  parseVWTypeOrExternalFunctionDeclarationFrom: aStream definitionType: definitionType knownDefinitions: dictionaryOfTypesOrNil lineNr: lineNr for: aParserOrNil
parses visualWorks type/function declarations of the form:
'<c: ...>'
'<c: #define NAME value>'

parsing-primitives & pragmas
o  pointerTypeMappingFor: aTypeSymbol
given a type, make it a 'pointer to that-type'

o  pointerTypeMappingFor: aTypeSymbol inEnvironment: nameSpaceOrNil
given a type, make it a 'pointer to that-type'.
aTypeSymbol must be one of the well-known builtin types (i.e. int, float,...)
or the name of a class, which must be an ExternalStructure subclass.
TypeSymbol might get mapped via the classes typeMap

o  typeMappingFor: aTypeSymbol
map some common types; this is needed because there are so many synonyms
used in the various Smalltalk dialects..

reading next token
o  isCommentCharacter: ch
no comments



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Sun, 24 Nov 2024 12:19:59 GMT