runtime/stdlib: add MaxAvail function

This commit is contained in:
slederer 2026-04-18 03:30:54 +02:00
parent 72b6ab6a30
commit 3fd6011e36
5 changed files with 75 additions and 24 deletions

View file

@ -111,7 +111,7 @@ If heap allocation fails, *new* does not return and instead causes a runtime err
variable to *niL* if heap allocation fails.
The function *MemAvail* returns the number of free bytes on the heap. It does not guarantee that this amount of memory can be allocated with *new*, because heap space can be fragmented.
The function *MaxAvail*, which exists in some versions of Turbo Pascal and returns the size of the largest contiguous block of available heap memory, is not (yet) implemented.
The function *MaxAvail* returns the size of the largest contiguous block of available heap memory in bytes.
## I/O
I/O handling in Tridora Pascal is mostly compatible with other Pascal dialects when reading/writing simple variables from/to the console. There are big differences when opening/reading/writing files explicitly.
@ -236,7 +236,7 @@ In Wirth Pascal, labels must be numbers. Other Pascal dialects also allow normal
Tridora-Pascal only allows identifiers as labels.
## Units
Units are the method to create libraries in Tridora-Pascal, that is, codes module that can
Units are the method to create libraries in Tridora-Pascal, that is, code modules that can
be reused in other programs.
Tridora-Pascal follows the unit syntax that has been established in UCSD-Pascal and is also
@ -275,7 +275,7 @@ in the *SYSTEM* volume.
A unit implementation file should start with a *UNIT* statement instead of a *PROGRAM*
statement.
It should be compiled, not assembled.
It should only be compiled, not assembled.
When building a program that uses units, the assembler will include an assembly language
file for each unit.