|
Class: PrimitiveSpecParser (private in Parser
This class is only visible from within
Parser.
Object
|
+--Scanner
|
+--Parser
|
+--Parser::PrimitiveSpecParser
- Package:
- stx:libcomp
- Category:
- System-Compiler
- Owner:
- Parser
initialization
-
initialize
-
(comment from inherited method)
<modifier: #super> "must be called if redefined"
parsing
-
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>'
-
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 >'
-
parseTypeSpec
-
first token
-
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
-
pointerTypeMappingFor: aTypeSymbol
-
given a type, make it a 'pointer to that-type'
-
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
-
typeMappingFor: aTypeSymbol
-
map some common types; this is needed because there are so many synonyms
used in the various Smalltalk dialects..
reading next token
-
isCommentCharacter: ch
-
no comments
|