3.0.4 - Busy Brontosaurus
What's new
This is LDPL 3.0.4 Busy Brontosaurus. This release fixes all bugs found in LDPL 3.0.3 and enhances compatibility with C++ extensions. Also:
- The
-n
/--non-static
compiler flag has been completely added (and documented here). - The
ERROR-CODE
andERROR-TEXT
system variables have been added to the language. When an operation that could potentially fail is executed (for example loading a file), these variables will report the result. Documented here. - The statement
EXTERNAL SUB-PROCEDURE
has been added to the language and documented in the reference so you can call LDPL SUB-PROCEDURES from C++ code. - The statement
IN - SOLVE
has been added to the language and documented in the reference. - The statement
LOAD FILE
has been expanded to use theERROR-CODE
andERROR-TEXT
system variables and has been documented in the reference. - The statement
STORE CHARACTER CODE - IN
has been expanded to use theERROR-CODE
andERROR-TEXT
system variables and has been documented in the reference. - Identifier naming schemes have been properly defined here.
- Valid number literal schemes have been properly defined here.
- The compiler codebase has also been strongly simplified.
- The
-c
compiler flag has been added to accept source from standard input (more here). - The
--version
and--help
messages have been updated to be more informative. - The commands
make install
andmake uninstall
have been added to the Makefile. - A man page for LDPL has been added to the repository and is installed along with the compiler when installing LDPL via
make install
. To check it just runman ldpl
.
This release has been tested by the LDPL Test Battery and should work stably, but should you come across a bug do not hesitate to report it. Special thanks to @dvkt and @dgarroDC, their wonderful contributions made this release possible.
Known bugs:
ERRORCODE
andERRORTEXT
are not reset after a successful STORE CHARACTER CODE OF. You should reset them manually if you use the binaries and source provided here.EXECUTE AND STORE EXIT CODE
is not returning the proper exit codes for values other than 0.
Source Code
The source code for this release can be downloaded below.
Binaries
Windows x64, macOS x64 and Linux x64 binaries are provided. LDPL 3.0.4 should also work on Windows x86, ARMv8 Linux, Android Termux, PPC Linux and PPC OS X. If you are on one of these platforms, please download the source code and compile LDPL yourself by following the instructions detailed on README.md
. In order to build and use the LDPL compiler, C++11 is required on your $PATH
.