| Extracted from Pike v7.8 release 866 at 2018-02-09.

[Top]
CompilerEnvironment
CompilerEnvironment()->PikeCompiler

# Method CompilerEnvironment()->PikeCompiler()->create()

Method create

  `void CompilerEnvironment.PikeCompiler(string|void source, CompilationHandler|void handler, int|void major, int|void minor, program|void target, object|void placeholder)`

Description

  Create a PikeCompiler object for a source string.

  This function takes a piece of Pike code as a string and initializes a compiler object accordingly.

Parameter `source`

  Source code to compile.

Parameter `handler`

  The optional argument handler is used to specify an alternative error handler. If it is not specified the current master object at compile time will be used.

Parameter `major`
Parameter `minor`

  The optional arguments major and minor are used to tell the compiler to attempt to be compatible with Pike major .minor .

Parameter `target`

  __empty_program() program to fill in. The virgin program returned by __empty_program() will be modified and returned by compile() on success.

Parameter `placeholder`

  __null_program() placeholder object to fill in. The object will be modified into an instance of the resulting program on successfull compile. Note that lfun::create() in the program will be called without any arguments.

Note

  Note that source must contain the complete source for a program. It is not possible to compile a single expression or statement.

  Also note that no preprocessing is performed. To preprocess the program you can use compile_string() or call the preprocessor manually by calling cpp() .

Note

  Note that all references to target and placeholder should removed if compile() failes. On failure the placeholder object will be destructed.

See also

  compile_string() , compile_file() , cpp() , master() , CompilationHandler