Changes for version 0.9516_02 - 2022-05-18

  • CHANGE
    • Numeric literal error messages.
    • Add "is_unicode_scalar_value" method to Unicode module.
    • Add "chr" method to Fn module.
    • Add "ord" method to Fn module.
    • Add "%lx" specifier to Fn->sprintf method.
    • Add "%lX" specifier to Fn->sprintf method.
    • Support any precision of %f of Fn->sprintf.
    • Add "repeat" method to Fn module.
    • Float object can be passed to Fn->srpintf "%f" and "%g" specifier.
    • Int object can be passed to Fn->srpintf "%c" specifier.
  • BUG FIX
    • Fix the bug Github #212. Tests fail when perl is built with -DDEBUGGING set in ccflags [rt.cpan.org #142336].
    • Fix the bug that integer literal octal natation 0_123 is interpretted as 123, not 0123.
    • Fix the bug that switch statement jump the wrong position when default statement doesn't exist.
  • SPECIFICATION FIX
    • "+" just before integer literal is tokenized as an unary operator.
    • C<-> can be at the beginning of integer literal of hex, octet, binary notations.
  • NON BACKWORD COMPATIBLE CHANGES
    • Fn->sprintf("%+5u", 123) become " 123" from " +123". This becomes same as the result of Perl sprintf.
    • Fn->sprintf("%+5lu", 123) become " 123" from " +123". This becomes same as the result of Perl sprintf "%u".
    • Remove Fn->sprintf %U specifier because I relalize %U has different meaning in Perl sprintf. Use %c instead of %U.

Documentation

SPVM compiler to create exe file
The Command to Generate SPVM Native Modules

Modules

SPVM Language
Blessed object base class
Array based blessed object
Class based blessed object
String based blessed object
Bool object
Build SPVM program
SPVM Builder Public APIs
Compiler and Linker of Native Sources
Configurations of Compile and Link of Native Sources
Configurations of creating excutable files.
Create a Executable File
Object file information
Object file information
Build Utilities
Public APIs of the utility of SPVM Builder
Byte object
Dynamic Byte Array
A Interface Type to Clone a Object
Interface Type for the Callback to Clone a Object
Interface Type for Object Comparation Callback
Interface Type for byte 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 short Comparation Callback
Interface Type for String Comparation Callback
double complex type
float complex type
SPVM Performance Benchmark
SPVM Exchange API
SPVM Language Specification
SPVM Standard Modules
SPVM Native APIs
SPVM Allocator Native APIs
SPVM Compiler Native APIs
SPVM Precompile Native APIs
SPVM Runtime Native APIs
SPVM String Buffer Native APIs
How to write native methods
SPVM Performance Tutorial
Double object
Dynamic double array
Interface Type for Object Equality Checking Callback
a callback implementation of EqualityChecker to check if the memory addresses of the two objects are equal.
SPVM Exchange API
Float object
Dynamic float array
SPVM Starndard Functions
Hash Data Structure
Hash entry
Int object
Dynamic int array
Dynamic object array
Long object
Dynamic long array
Point
Regular expression
Regular expression pattern
Interface Type for Regex Replacement Callback
Short object
Dynamic short array
String buffer
Dynamic string array
A Interface Type to Stringify a Object
Interface Type for Stringing Callback
Time manipulation
Time information
SPVM Unicode Utilities.

Provides

in lib/SPVM/Builder/Generator/Lib.pm

Examples