![]() |
![]() |
![]() |
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_allocate_codemem (OrcCompiler *compiler
); 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_allocate_codemem (OrcCompiler *compiler
);
|
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 |