Bourne shell, template engine, scripting language reliable, scalable projects. Based a ISO standard proven effective for large, mission-critical projects, SparForte is designed for fast development while, at the same time, providing easier designing, maintenance and bug removal. About 130.000 lines of code.
This also crashes the shell when used directly which wouldn't be ideal if spar was being used as the user's main shell.
Range Check Failure
#!/bin/spar
ragma annotate(summary, "range check error");
procedure range_check_error is
procedure usage is
begin
put("usage: ") @ (source_info.file);
command_line.set_exit_status(0);
end usage;
begin
if $# /= 0 then
usage;
return;
end if;
end range_check_error;
% spar range_check_error.spar
raised CONSTRAINT_ERROR : scanner.adb:1992 range check failed
This issue was discovered when trying to elaborate on how spar -gc handles various errors and warnings. It turned out that simply running the script with spar resulted in the same error.
Inconsistent Error Format
#!/bin/spar
procedure wrong_error_style is
error: string;
begin
loop
error := get_line
exit when error = ";
end wrong_error_style;
Hi,
Sorry if this is a bit of a laundry list but these are a small collection of issues I've encountered early on when using sparforte.
Picture layout exception
This also crashes the shell when used directly which wouldn't be ideal if
spar
was being used as the user's main shell.Range Check Failure
This issue was discovered when trying to elaborate on how
spar -gc
handles various errors and warnings. It turned out that simply running the script withspar
resulted in the same error.Inconsistent Error Format
I would have expected:
If I wanted to add timestamps I could use
ts
from moreutils orsvlogd -tt
from runit.Error Reported for the Wrong Line
The missing ';' should be reported on line 2, column 16, but it is being reported on the line containing
begin
.Documentation Misleading
For any example which delcare commands as such:
I get the following error:
Thanks