Add an empty cstdlib.elna source file

This commit is contained in:
2025-08-10 23:43:09 +03:00
parent 87058adcb3
commit d50356cd9d
11 changed files with 157 additions and 213 deletions

View File

@@ -6,9 +6,7 @@ module;
from Args import GetArg, Narg;
from FIO import WriteString, WriteChar, WriteLine, StdErr;
from Strings import CompareStr, Length;
from MemUtils import MemZero;
from Common import ShortString;
import cstdlib, common;
type
CommandLine = record
@@ -29,26 +27,26 @@ begin
NEW(result);
result^.lex := false;
result^.parse := false;
MemZero(@result^.input, 256);
memset(@result^.input, 0, 256);
result^.output[1] := CHAR(0);
while (i < Narg()) & (result <> nil) do
parsed := GetArg(parameter, i);
parsed := false;
if CompareStr(parameter, '--lex') = 0 then
if CompareStr(parameter, "--lex") = 0 then
parsed := true;
result^.lex := true
end;
if CompareStr(parameter, '--parse') = 0 then
if CompareStr(parameter, "--parse") = 0 then
parsed := true;
result^.parse := true
end;
if CompareStr(parameter, '-o') = 0 then
if CompareStr(parameter, "-o") = 0 then
i := i + 1u;
if i = Narg() then
WriteString(StdErr, 'Fatal error: expecting a file name following -o.');
WriteString(StdErr, "Fatal error: expecting a file name following -o.");
result := nil
end;
if i < Narg() then
@@ -57,15 +55,15 @@ begin
end;
parsed := true
end;
if (parameter[1] <> '-') & (parsed = false) then
if (parameter[1] <> "-") & (parsed = false) then
parsed := true;
if Length(result^.input) > 0 then
WriteString(StdErr, 'Fatal error: only one source file can be compiled at once. First given "');
WriteString(StdErr, "Fatal error: only one source file can be compiled at once. First given \"");
WriteString(StdErr, result^.input);
WriteString(StdErr, '", then "');
WriteString(StdErr, "\", then \"");
WriteString(StdErr, parameter);
WriteString(StdErr, '".');
WriteString(StdErr, "\".");
WriteLine(StdErr);
result := nil
end;
@@ -74,7 +72,7 @@ begin
end
end;
if parsed = false then
WriteString(StdErr, 'Fatal error: unknown command line options: ');
WriteString(StdErr, "Fatal error: unknown command line options: ");
WriteString(StdErr, parameter);
WriteChar(StdErr, '.');
@@ -86,7 +84,7 @@ begin
i := i + 1
end;
if (result <> nil) & (Length(result^.input) = 0) then
WriteString(StdErr, 'Fatal error: no input files.');
WriteString(StdErr, "Fatal error: no input files.");
WriteLine(StdErr);
result := nil
end;