Skip to content

Releases: Risa123/FPL

0.5.1

27 Sep 19:46
Compare
Choose a tag to compare

fix calling method implemented from interface C error

0.5

26 Sep 16:08
Compare
Choose a tag to compare
0.5

improved error messages
gcc is now expected to be in directory with FPL.exe/FPL.jar in gcc directory
gcc property removed
added const for pointer arguments
getObjectSize added to all interfaces
for loop added
MIN_VALUE and MAX_VALUE constants added to number classes
scientific notation added
number literal can now contain _ to make it more readable
added parse methods to number classes
added static throw to exception classes
NumberFormatException added
+ String.{isEmpty,isBlank,isEmptyOrBlank,getData,contains,isAllocated,endsWith,startsWith,strip,substring}
D number type char added to signify double
NAN,POSITIVE_INFINITY and NEGATIVE_INFINITY fields added to floating point numbers
isNaN method added to floating point numbers
added else and elseif blocks to compile time if
char.isUpper renamed to isUpperCase
char.isLower renamed to isLowerCase
char.toUpper renamed to toUpperCase
char.toLower renamed to toUpperCase
upgraded to jdk 18
tertiary operator added
constructors,destructors and copy constructors can now be one line
final modifier for classes added
one-line constructor can now also invoke all constructor variants not just the once's from parent class using super and this
added super variable to methods
String.get and String.set throw IllegalArgumentException instead of Exception
std.lang.getCStringLen return type changed form int to uint
added std.lang.IllegalStateException
added std.math.ARandom
String.this(uint len) added
exception variable in catch changed to pointer
fileSetBuffer and it's modes removed
copy constructor added to std.collection.ArrayList
interface copy constructor added
default exception handler message changed from "exception happened:(exception message)" to "uncaught exception:(exception message)"
std.lang.String made final
flush method added to std.io.file.FileWriter
std.io.base.DataWriter.writeString renamed to write
function variants can be of different types
builtin functions can now be declared without C error
exceptions are now reported to stderr by default
added uninit to instance variable declaration
added sin, cos, tan, cotan, toRad, toDeg to std.math
expected number now reports the value token
array.get now has to end with ;
fix instance type variable declaration
fix arrays with size long than max value of signed long not compiled
fix array field declared as pointer in C
fix std.io.file.DirectoryStream.read
fix problems caused by class and struct fields not being compiled in order of declaration
fix child class has parent class objectData
fix rethrowing exception causes infinite loop
fix multiple catches C error
fix duplicate modifiers check added
fix interface can now be used as template argument
fix function pointer can now be used as template argument
fix access modifiers can only be used in classes and modules check added
fix modifier cannot be applied to this function check added
fix var used to declare string in module C error
fix number literals C errors
fix invalid number error reports hex numbers without 0x
fix duplicate type char check added
fix type chars added to hexadecimal literals
fix chained call C error
fix unnecessary ; causing C error now causing compilation error
fix segfault
fix floating point number cannot be signed
fix chained call C errors
fix integer number with F not considered float
fix attempting to access function in current module in (module name).(function name) module not found error
fix method variants
fix interface not found when used inside of itself
fix constant instance variables now cannot be changed through copy constructor
fix String copy constructor
fix copy constructor
fix onExitHandlers not called before return statements in main block
fix parent constructor call C error
fix flags and ccArgs with multiple whitespaces not parsed correctly
fix [ ] expression C error
fix undefined instance variable zero-reference error
fix (type)(variable name)(exp) not checking types
fix duplicate catch block check added
fix ) inside multiline comment
fix abstract method C error
fix no expression next to return in void functions
fix chained call for getInstanceSize of pointers
fix gcc error
fix _std_system_addExitHandler0 C error
fix unknown type C error
fix added keywords true,false,nil,break,final and removed null from fpl-udl.xml
fix { and } are now operators in fdl-udl.xml so keywords next to them will be highlighted
fix template constructor not called
fix function pointer not copied
fix string added to fpl-udl.xml
fix copy constructor does not copy objectData
fix floating point number parse and toString methods
fix cannot be implicitly converted reported types in wrong order
fix added number suffixes to fpl-udl.xml
fix implicitly conversion of function return type
fix invalid code point
fix typo in "sbyte numbere expected"
fix variable field access C error

0.4.0

12 Dec 12:04
Compare
Choose a tag to compare

getSize added to std.io.file
if module is imported functions with can be now accessed as (module name).(function name)
ifFlag removed
compile time if added
assignment variable method calls = method if possible
free removed from std.lang
free[] added to pointers
template functions added
Map finished in std.collection
throw method now ends the function so no return error doesn't happen
instance variables now have to be explicitly initialized
struct is now a variant of class
added methods clear,getSize and isEmpty to Map
precise error messages in build.properties
removed goniometric functions
enum value expression id renamed to ordinal
fix typedef can only use primitive types check added
fix pointer to instance not implicitly convertible to interface it implements
fix recursion made possible
fix instance free C error
fix unknown type C error
fix struct name reported as C name
fix compilation caught in infinite loop
fix pointer to template instance
fix type used as template argument in module in which is declared C error
fix unknown type C error
fix try-catch-finally segfault
fix cannot be implicitly converted error in templates
fix template unknown type C error
fix compilation freezing
fix typo in error message

0.3.0

09 Jul 19:40
Compare
Choose a tag to compare

method id added to enum types
escape sequences added to string literal
add getClass to all instances
add getObjectSize to pointers
parenthesis added as pair of [ identifiers
contextSave removed
error reporting in std.io.file improved
fix toString added to byte types
fix called on function return C error
fix lone " is now reported as specific error
fix one line function C error
fix toString unable to convert negative numbers
fix number convertible to char
fix invalid exception error
fix copy constructor C error
fix module imports function from modules imported to it
fix ascii check added for character literal
fix struct C error
fix struct type not added
fix variable not defined when usage followed by atom
fix alias doesn't allow any tokens after itself
fix try-catch-finally C error
fix call on returned instance segfault
fix Exceptions ignored on runtime
fix function pointer as return type C error
fix pointer to function pointer C error
fix function pointer as function argument C error
fix native variables not defined error and C error
fix memory leaks
fix destructor calls parent destructor
fix copy constructor calls parent copy constructor
fix this added to copy constructor
fix function attributes can be added to one line functions
fix copy constructor not assigning objectData
fix classes with same names causing C error
fix struct fields don't have to be declared now
fix binary comparing operators now ignore precise type of operands
fix toString added to short

0.2.2

19 Jun 10:05
Compare
Choose a tag to compare

exe file added to version files
fix destructor C error
fix array initialization expects only atoms
fix array initialization error on ,
fix inability to find main module is now handled as error message instead of causing compiler to crash
fix incorrect module name
fix aliased function not declared in C
fix integer:toString method fixed

0.2.1

06 Jun 14:26
Compare
Choose a tag to compare

template type as argument added
copy constructor added
variant of print with char as argument added
fix template type as argument check
fix cos function
fix cotan function
fix convert to interface function returned instance C error
fix unknown type C error in constructor
fix zeroMemoryError caused by throwing exception which is not caught
fix compiler arguments C error
fix String literal has wrong length

0.2.0

31 May 15:15
Compare
Choose a tag to compare

functions malloc,realloc and free added to std.lang
errors in template now show type named after template argument instead of object
ArrayList added to std.lang
contextSave and contextRestore support ia64
better code generation
$sp changed to $\s
alloc static method add to all classes
function memoryCopy added to std.lang
module std.collection added
added method free to pointers
added method toString to integer numbers
added enum
changes in build format
gcc officially required
cstruct renamed to struct
struct now can have normal identifiers
character numbers are replaced by token numbers
+/- can be used as unary operator
destructors added
goniometric functions added
if_flag renamed to ifFlag
added chained call to type:alloc
added type:alloc[]
string type replaced by instances of class String or char* in backend
string type removed
changed "unexpected atom" error message to "expected ;"
recursive dependency message now shows position
added function variants with different arguments
function pointers can now point only to functions with one variant
argv is rename to args and its now String*
fix variable redeclaration check added
fix argument count check added
fix templates
fix disallowed recursive module dependencies
fix NPE caused by static call on template argument
fix number type:getObjectSize renamed to getInstanceSize
fix getObjectSize to all number types
fix added getInstanceSize/getObjectSize to all primitives
fix changed error code for wrong arguments to 2 and 3 for compilation error
fix getObjetSize C error
fix variable method C errors
fix template added to typedef
fix lone getInstanceSize call on line C error
fix ref variable method chained call
fix private non-native functions not being static in C
fix C undefined reference template instancing in same file error
fix template C error
fix class instance initialization C error
fix "there is no return in this block and this function doesn't return void" corrected to "there is no return in this function and this function doesn't return void"
fix prohibited to cast to interface
fix implicit conversion to function argument type
fix check for valid ascii string added
fix check for validity of special characters added
fix main block check if module is main
fix check if main module has main block
fix disallow declaration of multiple main blocks
fix function chained call C error
fix FileHandler ready method
fix inline function C error
fix declaring fields of class instances C error
fix when program is unable to allocate memory for exception it is terminated
fix $' C error
fix override required check
fix $ cannot be followed by whitespace
fix private inline function C error
fix method call on literal C error
fix call static method on primitive type error
fix two pass compilation added to modifier blocks
fix typo in "has not field called (field)"
fix partially binary operator chain call
fix identifiers beginning with + or - parsed as +/-(following character)
fix condition blocks don´t have their own context
fix pointer to template type in argument
fix static method
fix unable to use operators on constants
fix fields can be constant and defined in constructor
fix one line function not checking return type compatibility
fix one line function with block not allowed
fix using type inside of its class declaration causing program to halt
fix unable to declare type in its class block
fix check for function duplicity
fix new and alloc methods can be used inside its class block
fix chained method call on returned non-pointer class instances C error
fix field C error
fix method called on returned value C error
fix binary operator type check ex: 1 / 1.6 is now valid
fix template generated in same file it is declared C error
fix template unknown type C errors
fix main return in sub-block C error

0.2.0 snapshot 1

07 Mar 10:06
Compare
Choose a tag to compare
0.2.0 snapshot 1 Pre-release
Pre-release

added alias and typedef to fpl-udl
added templates
class can now have template arguments
attribute beginning symbol changed to :
parent constructor call symbol changed to :
"identifier expected" error message changed to "identifier expected instead of (atom)"
fix unsupported system error message corrected to unsupported architecture
fix C compilation of floating point numbers

0.1.1

01 Mar 13:00
Compare
Choose a tag to compare

fix try-catch-finally C linker error

0.1.0

01 Mar 07:56
Compare
Choose a tag to compare

setExceptionHandler added to Thread
try-catch-finally block added depends on inline assembly
error in build file now has build.properties as file instead of null
contextSave and contextRestore added to std.backend
align feature added to cstruct
x86_64 renamed to x64
variable mainThread is available in main function
if arguments and with ; attributes noReturn and returnsTwice can be applied
typedef statement added
this type is already defined error message change to type (type) is already defined
alias statement added
inline functions added
finished try-catch-finally
fix compilation error
fix function pointer as function argument compilation error
fix this dereference compilation error
fix recursive pointer to struct field declaration C compilation error
fix validity of build file is now properly checked
fix type import C error
fix digits not valid part of C identifier
fix cstruct not defined
fix main C error
fix module initializers not called main block
fix memory type is now uses the proper C type
fix nested function call
fix pointer to struct field C error
fix non-id atoms considered fields
fix variable def methods added return type check
fix static field return type check
fix call on function return C error
All snapshot changelogs are valid unless contraditory.