| Orc Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
enum OrcCompileResult; OrcCompiler; OrcConstant; #define ORC_COMPILER_ERROR (compiler, ...) #define ORC_COMPILE_RESULT_IS_FATAL (x) #define ORC_COMPILE_RESULT_IS_SUCCESSFUL (x) #define ORC_ASM_CODE (compiler, ...) #define ORC_ENABLE_ASM_CODE void orc_compiler_append_code (OrcCompiler *p,const char *fmt); int orc_compiler_label_new (OrcCompiler *compiler);
OrcCompiler is the object used to convert Orc programs contained in an OrcProgram object into assembly code and object code.
The OrcCompileResult enum is used to indicate whether or not
a compilation attempt was successful or not. The macros
ORC_COMPILE_RESULT_IS_SUCCESSFUL() and ORC_COMPILE_RESULT_IS_FATAL()
should be used instead of checking values directly.
When a program is compiled, the compiler calls the functions
contained in various OrcRule structures. These functions generate
assembly and object instructions by calling ORC_ASM_CODE()
or functions that use ORC_ASM_CODE() internally.
typedef enum {
ORC_COMPILE_RESULT_OK = 0,
ORC_COMPILE_RESULT_UNKNOWN_COMPILE = 0x100,
ORC_COMPILE_RESULT_MISSING_RULE = 0x101,
ORC_COMPILE_RESULT_UNKNOWN_PARSE = 0x200,
ORC_COMPILE_RESULT_PARSE = 0x201,
ORC_COMPILE_RESULT_VARIABLE = 0x202
} OrcCompileResult;
void orc_compiler_append_code (OrcCompiler *p,const char *fmt);
Generates a string using sprintf() on the given format and
arguments, and appends that string to the generated assembly
code for the compiler.
This function is used by the ORC_ASM_CODE() macro.
This function is useful in a function implementing an OrcRule or implementing a target.
|
an OrcCompiler object |
|
a printf-style format string |