Changes for version 0.989077 - 2023-02-20

  • New Features
    • Add file directive syntax.
      • #file "/Foo/Bar.spvm"
    • Add the check_bootstrap_method native API.
    • Add the check_bootstrap_method method to the Native class.
  • Incompatible Changes and breaking binary compatibility
    • The warn native API is changed. This change causes breaking binary compatibility in the warn operator.
      • Before
        • void (*warn)(SPVM_ENV* env, SPVM_VALUE* stack, void* string, const char* class_dir, const char* class_rel_file, int32_t line);
      • After
        • void (*warn)(SPVM_ENV* env, SPVM_VALUE* stack, void* string, const char* file, int32_t line);
  • Incompatible Changes
    • The __FILE__ operator returns current file path, instead of the relative file name of the class.
    • The main method return type of a given class to the spvmcc command becomes void .
    • The main method return type of a given class to the spvm command becomes void.
  • Document Changes
    • Remove the specification of "End of Source Code"
    • Improve the specification of "Character Encoding of Source Code"
      • The character encoding of SPVM source codes is UTF-8.
      • If a character is ASCII, it must be ASCII printable characters or ASCII space characters except for ASCII C<CR>.
      • Compilation Errors:
      • The charactor encoding of SPVM source codes must be UTF-8. Otherwise a compilation error occurs.
      • If a character in a SPVM source code is ASCII, it must be ASCII printable or space.
      • The new line of SPVM source codes must be LF. The source code cannot contains CR and CRLF.

Documentation

Executing SPVM programs
Generating Excutable File
Generating SPVM Distribution

Modules

SPVM Language
Address
Array Utilities
SPVM object
A Boolean value as An Object
Build Dynamic Libraries for SPVM Distribution
Defining Public Functions of SPVM::Builder
Compilation and Link of Native Class
Compiler Information
SPVM Builder Compiler
Compiler and Linker Configuration for Native Classes
Excutable File Config Generated by The spvmcc Command.
SPVM Builder Environment
Creating Executable File
Library Information for A Linker
Linker Information
Object File Information
SPVM Builder Runtime
SPVM Builder Stack
Builder Utilities
Defining Public Functions of SPVM::Builder::Util
A byte Value as An Object
Dynamic byte Arrays
Callback interface
Interface Type to Clone Object
Interface Type for the Callback to Clone a Object
Command Line Information
Interface Type for Object Comparation Callback
Interface Type for double Comparation Callback
Interface Type for float Comparation Callback
Interface Type for int Comparation Callback
Interface Type for long Comparation Callback
Interface Type for String Comparation Callback
double Complex Type
float Complex Type
SPVM Exchange API
SPVM Language Specification
SPVM Standard Modules
Allocator Native APIs
Basic Type Native APIs
Class File Native APIs
Class Variable Native APIs
Class File Native APIs
String Buffer Native APIs
Document of Native Class
How to write the resource class
A double value as An Object
Dynamic double Arrays
Renamed
Interface Type for Object Equality Checking Callback
a callback implementation of EqualityChecker to check if the memory addresses of the two objects are equal.
Error
Compilation Errors
Not Supported Error
System Error
Invalid UTF8 Errors
SPVM Exchange API
A float value as An Object
Dynamic float Arrays
SPVM Starndard Functions
For Only Resource Tests
Format Utilities
SPVM Global Instance
Hash (Associative Array)
Hash entry
Immutable byte Array
Immutable double Array
Immutable float Array
Immutable int Array
Immutable long Array
Immutable short Array
Immutable string array
An int value as An Object
Dynamic int Arrays
Dynamic Object Array
A long value as An Object
Dynamic long Arrays
Getting the current native environment, stack, runtime, compiler.
Information of Arguments
Information of Basic Types
Information of Class Files
Information of Class Variables
Native::Compiler
Execution Native::Environment
Information of Fields
Information of Methods
Native::Runtime
Call Native::Stack
Point
Point 3D
Renamed
Executing Callback at End of Scope
A short Value as An Object
Dynamic short Arrays
Sorting Functions
Renamed
String Buffers
Dynamic string array
A Interface Type to Stringify a Object
Interface Type for Stringing Callback

Provides

in lib/SPVM/Dist.pm

Examples