Developer Topics-Smalltalk/C interop
nWordNetLibrary>>enumSynsetWords: aBlock atSynsetIndex: anInteger
n | callback returnValue |
n callback := ExternalCallback block: aBlock descriptor: (ExternalDescriptor
fromString: 'cdecl: sdword sdword lpstr sdword').
n returnValue := self basicEnumSynsetWords: callback asParameter atSynsetIndex: anInteger.
n callback notNil ifTrue: [ callback free ].
n ^returnValue.
n
nWordNetLibrary>>basicEnumSynsetWords: aCallback atSynsetIndex: anInteger
n <cdecl: sdword enumWnCDbSynsetWords lpvoid sdword>
n ^self invalidCall.
n
nWordNetSynsetData>>read
n | stream |
n stream :=  WriteStream on: String new.
n WordNetLibrary default enumSynsetWords: [ :tmpPos :tmpWord :tmpLexId |
n pos := tmpPos.
n stream…
n ] atSynsetIndex: index.
n words := stream contents.