Name
SPVM::Native::Compiler - Native::Compiler
Description
SPVM::Native::Compiler
is the Native::Compiler
class in the SPVM language. It compiles SPVM source codes and builds the runtime.
The instance of the Native::Runtime class is build by the "get_runtime" method in this class.
Usage
use
Native::Compiler;
my
$compiler
= Native::Compiler->new;
$compiler
->add_include_dir(
"lib"
);
$compiler
->set_start_file(__FILE__);
{
my
$basic_type_name
=
"Foo"
;
$compiler
->set_start_line(__LINE__ + 1);
my
$success
=
$compiler
->compile(
$basic_type_name
);
unless
(
$success
) {
my
$error_messages
=
$compiler
->get_error_messages;
for
my
$error_message
(
@$error_messages
) {
warn
"$error_message"
;
}
die
"Can't compile the \"$basic_type_name\" basic type"
;
}
}
{
my
$basic_type_name
=
"Bar"
;
$compiler
->set_start_line(__LINE__ + 1);
my
$success
=
$compiler
->compile(
$basic_type_name
);
unless
(
$success
) {
my
$error_messages
=
$compiler
->get_error_messages;
for
my
$error_message
(
@$error_messages
) {
warn
"$error_message"
;
}
die
"Can't compile the \"$basic_type_name\" basic type"
;
}
}
my
$runtime
=
$compiler
->get_runtime;
Pointer
The Native::Compiler
class is a pointer class.
Its insntace has a pointer to a compiler object.
Class Methods
new
static method new : Native::Compiler ();
Creates a new Native::Compiler
object and returns it.
Instance Methods
add_include_dir
method add_include_dir : void (
$include_dir
: string);
Adds a class directory to search for classes.
set_start_file
method set_start_file : void (
$start_file
: string);
Sets the name of the file to start the compiling by the "compile" method.
set_start_line
method set_start_line : void (
$start_line
:
int
);
Sets the line to start compiling by the "compile" method.
compile
method compile :
int
(
$basic_type_name
: string);
Compiles the specified class and the classes that are load in the specified class.
Returns 1 on success, 0 on failure.
This method can be called multiple times.
get_error_messages
method get_error_messages : string[] ();
Returns compilation error messages in this compiling by the "compile" method.
get_runtime
method get_runtime : Native::Runtime ();
Returns the runtime.
The return value is a Native::Runtime object.
get_module_file
method get_module_file : Native::ModuleFile (
$module_name
: string);
Gets a Native::ModuleFile object by a module name, and returns it.
See Also
Native::Runtime
The instance of the Native::Runtime class is build by the "get_runtime" method in this class.
Copyright & License
Copyright 2023-2023 Yuki Kimoto, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Copyright & License
Copyright (c) 2023 Yuki Kimoto
MIT License