Squeak Class Documentation category index | class index  
 
InterpreterPlugin
  category: VMConstruction-Plugins
  superclass: Object
  subclasses: SoundCodecPlugin FFTPlugin FloatArrayPlugin Matrix2x3Plugin TestInterpreterPlugin DSAPlugin KlattSynthesizerPlugin InflatePlugin FFIPlugin FilePlugin B3DEnginePlugin BalloonEngineBase FXBltSimulation SurfacePlugin B3DAcceleratorPlugin IntegerPokerPlugin DropPlugin ADPCMCodecPlugin MiscPrimitivePlugin SoundGenerationPlugin SecurityPlugin JPEGReaderPlugin StarSqueakPlugin BitBltSimulation

No comment. Sorry.

instance methods
  debugging
  halt
msg:

  initialize
  getModuleName
setInterpreter:

class methods
  accessing
  isCPP
moduleExtension
moduleName
moduleNameAndVersion
simulatorClass

  class initialization
  initialize

  instance creation
  doPrimitive:

  private
  codeGeneratorClass

  translation
  baseDirectoryName
declareCVarsIn:
declareHeaderFilesIn:
headerFile
storeString:onFileNamed:
translate
translate:all:doInlining:
translate:doInlining:
translate:doInlining:locally:
translateDoInlining:
translateLocally
translateOn:inlining:to:local:

instance methods
  debugging top  
 

halt

This is the typical message to use for inserting breakpoints during
debugging. It behaves like halt:, but does not call on halt: in order to
avoid putting this message on the stack. Halt is especially useful when
the breakpoint message is an arbitrary one.


 

msg:


  initialize top  
 

getModuleName

Note: This is hardcoded so it can be run from Squeak.
The module name is used for validating a module *after*
it is loaded to check if it does really contain the module
we're thinking it contains. This is important!


 

setInterpreter:

Note: This is coded so that is can be run from Squeak.


class methods
  accessing top  
 

isCPP


 

moduleExtension


 

moduleName

Answer the receiver's module name that is used for the plugin's C code.


 

moduleNameAndVersion

Answer the receiver's module name and version info that is used for the plugin's C code. The default is to append the code generation date, but any useful text is ok (keep it short)


 

simulatorClass

For running from Smalltalk - answer a class that can be used to
simulate the receiver. By default every plugin can simulate itself.


  class initialization top  
 

initialize

Nothing to do ...


  instance creation top  
 

doPrimitive:


  private top  
 

codeGeneratorClass

return the appropriate class of code generator for this kind ofplugin


  translation top  
 

baseDirectoryName

Return the directory into which plugins should be generated by default.


 

declareCVarsIn:

Note: This method must be implemented by all subclasses to declare variables.


 

declareHeaderFilesIn:


 

headerFile

If there is a single intrinsic header file to be associated with the plugin, here is where you want to put it. It will be generated and included automatically.


 

storeString:onFileNamed:

Store the given string in a file of the given name.


 

translate

Translate the receiver as plugin with inlining using its default name.


 

translate:all:doInlining:

Time millisecondsToRun: [
InterpreterPlugin translate:'all.c' all:{FloatArrayPlugin. FFTPlugin} doInlining: true.
Smalltalk beep]


 

translate:doInlining:

Time millisecondsToRun: [
FloatArrayPlugin translate: 'SqFloatArray.c' doInlining: true.
Smalltalk beep]


 

translate:doInlining:locally:

Time millisecondsToRun: [
FloatArrayPlugin translate: 'SqFloatArray.c' doInlining: true.
Smalltalk beep]


 

translateDoInlining:

Time millisecondsToRun: [
FloatArrayPlugin translateDoInlining: true.
Smalltalk beep]


 

translateLocally


 

translateOn:inlining:to:local:

do the actual translation