Удаление незначащих пробелов

This commit is contained in:
AntKrotov committed 2019-07-02 01:44:03 +03:00
1 parent 320377a805
commit 9fdceb3a86
35 files changed
+283 -145

No files matched your search

+15 -15
View File
@@ -17,7 +17,7 @@
MODULE File;
IMPORT sys := SYSTEM, KOSAPI;
IMPORT sys := SYSTEM, KOSAPI;
CONST
@@ -47,7 +47,7 @@ TYPE
time_modif*, date_modif*,
size*, hsize*: INTEGER;
name*: FNAME
END;
END;
PROCEDURE [stdcall] f_68_27 (file_name: INTEGER; VAR size: INTEGER): INTEGER;
@@ -67,7 +67,7 @@ BEGIN
0C2H, 008H, 000H (* ret 8 *)
)
RETURN 0
END f_68_27;
END f_68_27;
PROCEDURE Load* (FName: ARRAY OF CHAR; VAR size: INTEGER): INTEGER;
@@ -77,7 +77,7 @@ END Load;
PROCEDURE GetFileInfo* (FName: ARRAY OF CHAR; VAR Info: rFD): BOOLEAN;
VAR
res2: INTEGER; fs: rFS;
res2: INTEGER; fs: rFS;
BEGIN
fs.subfunc := 5;
@@ -88,7 +88,7 @@ BEGIN
COPY(FName, fs.name)
RETURN KOSAPI.sysfunc22(70, sys.ADR(fs), res2) = 0
END GetFileInfo;
END GetFileInfo;
PROCEDURE Exists* (FName: ARRAY OF CHAR): BOOLEAN;
@@ -97,7 +97,7 @@ VAR
BEGIN
RETURN GetFileInfo(FName, fd) & ~(4 IN BITS(fd.attr))
END Exists;
PROCEDURE Close* (VAR F: FS);
BEGIN
@@ -109,9 +109,9 @@ END Close;
PROCEDURE Open* (FName: ARRAY OF CHAR): FS;
VAR
F: FS;
F: FS;
BEGIN
BEGIN
IF Exists(FName) THEN
NEW(F);
@@ -128,7 +128,7 @@ BEGIN
END
RETURN F
END Open;
END Open;
PROCEDURE Delete* (FName: ARRAY OF CHAR): BOOLEAN;
@@ -158,7 +158,7 @@ BEGIN
RETURN res = 0
END Delete;
PROCEDURE Seek* (F: FS; Offset, Origin: INTEGER): INTEGER;
VAR
@@ -202,7 +202,7 @@ BEGIN
END
RETURN res2
END Read;
END Read;
PROCEDURE Write* (F: FS; Buffer, Count: INTEGER): INTEGER;
@@ -225,7 +225,7 @@ BEGIN
RETURN res2
END Write;
PROCEDURE Create* (FName: ARRAY OF CHAR): FS;
VAR
@@ -249,14 +249,14 @@ BEGIN
RETURN F
END Create;
PROCEDURE DirExists* (FName: ARRAY OF CHAR): BOOLEAN;
VAR
fd: rFD;
BEGIN
RETURN GetFileInfo(FName, fd) & (4 IN BITS(fd.attr))
END DirExists;
END DirExists;
PROCEDURE CreateDir* (DirName: ARRAY OF CHAR): BOOLEAN;
@@ -282,7 +282,7 @@ BEGIN
RETURN res = 0
END CreateDir;
PROCEDURE DeleteDir* (DirName: ARRAY OF CHAR): BOOLEAN;
VAR
+3 -3
View File
@@ -167,10 +167,10 @@ END ln;
PROCEDURE [stdcall] log* (base, x: REAL): REAL;
BEGIN
BEGIN
SYSTEM.CODE(
0D9H, 0E8H, (* fld1 *)
0DDH, 045H, 010H, (* fld qword [ebp + 10h] *)
0DDH, 045H, 010H, (* fld qword [ebp + 10h] *)
0D9H, 0F1H, (* fyl2x *)
0D9H, 0E8H, (* fld1 *)
0DDH, 045H, 008H, (* fld qword [ebp + 08h] *)
@@ -376,6 +376,6 @@ BEGIN
END
RETURN res
END sgn;
END Math.
+9 -9
View File
@@ -1,4 +1,4 @@
(*
(*
Copyright 2017 Anton Krotov
This program is free software: you can redistribute it and/or modify
@@ -24,18 +24,18 @@ CONST
//net devices types
LOOPBACK* = 0;
ETH* = 1;
SLIP* = 2;
LOOPBACK* = 0;
ETH* = 1;
SLIP* = 2;
//Link status
LINK_DOWN* = 0;
LINK_DOWN* = 0;
LINK_UNKNOWN* = 1;
LINK_FD* = 2; //full duplex flag
LINK_10M* = 4;
LINK_100M* = 8;
LINK_1G* = 12;
LINK_FD* = 2; //full duplex flag
LINK_10M* = 4;
LINK_100M* = 8;
LINK_1G* = 12;
TYPE
+1 -1
View File
@@ -10,7 +10,7 @@ MODULE RTL;
IMPORT SYSTEM, API;
CONST
CONST
bit_depth* = 32;
maxint* = 7FFFFFFFH;
+1 -1
View File
@@ -1,4 +1,4 @@
(*
(*
Copyright 2016 Anton Krotov
This program is free software: you can redistribute it and/or modify
+1 -1
View File
@@ -10,7 +10,7 @@ MODULE RTL;
IMPORT SYSTEM, API;
CONST
CONST
bit_depth* = 32;
maxint* = 7FFFFFFFH;
+1 -1
View File
@@ -10,7 +10,7 @@ MODULE RTL;
IMPORT SYSTEM, API;
CONST
CONST
bit_depth* = 64;
maxint* = 7FFFFFFFFFFFFFFFH;
+2 -2
View File
@@ -47,8 +47,8 @@ VAR
cond := 6
ELSE
cond := C
END
END
RETURN cond
END ChangeCond;
+13 -13
View File
@@ -17,7 +17,7 @@ CONST
VAR
DateTable: ARRAY 120000, 3 OF INTEGER;
DateTable: ARRAY 120000, 3 OF INTEGER;
MonthsTable: ARRAY 13, 4 OF INTEGER;
@@ -49,16 +49,16 @@ END Encode;
PROCEDURE Decode* (Date: REAL; VAR Year, Month, Day, Hour, Min, Sec, MSec: INTEGER): BOOLEAN;
VAR
res: BOOLEAN;
d, t: INTEGER;
d, t: INTEGER;
L, R, M: INTEGER;
BEGIN
BEGIN
res := (Date >= -693593.0) & (Date < 2958466.0);
IF res THEN
d := FLOOR(Date);
t := FLOOR((Date - FLT(d)) * 86400000.0);
INC(d, 693593);
L := 0;
R := LEN(DateTable) - 1;
M := (L + R) DIV 2;
@@ -75,7 +75,7 @@ BEGIN
R := M
END
END;
Year := DateTable[L][1];
Month := DateTable[L][2];
Day := d - DateTable[L][0] + 1;
@@ -84,10 +84,10 @@ BEGIN
Min := t DIV 60000; t := t MOD 60000;
Sec := t DIV 1000;
MSec := t MOD 1000
END
END
RETURN res
END Decode;
END Decode;
PROCEDURE Now* (VAR Year, Month, Day, Hour, Min, Sec, MSec: INTEGER);
@@ -103,7 +103,7 @@ BEGIN
Min := ORD(T.Min);
Sec := ORD(T.Sec);
MSec := ORD(T.MSec)
END Now;
END Now;
PROCEDURE NowEncode* (): REAL;
@@ -125,7 +125,7 @@ BEGIN
Months[1] := 31; Months[2] := 28; Months[3] := 31; Months[4] := 30;
Months[5] := 31; Months[6] := 30; Months[7] := 31; Months[8] := 31;
Months[9] := 30; Months[10] := 31; Months[11] := 30; Months[12] := 31;
day := 0;
year := 1;
month := 1;
@@ -146,12 +146,12 @@ BEGIN
END;
INC(i)
END;
MonthsTable[1][0] := 0;
FOR i := 2 TO 12 DO
MonthsTable[i][0] := MonthsTable[i - 1][0] + Months[i - 1]
END;
FOR i := 1 TO 12 DO
MonthsTable[i][2] := Months[i]
END;
@@ -160,8 +160,8 @@ BEGIN
MonthsTable[1][1] := 0;
FOR i := 2 TO 12 DO
MonthsTable[i][1] := MonthsTable[i - 1][1] + Months[i - 1]
END;
END;
FOR i := 1 TO 12 DO
MonthsTable[i][3] := Months[i]
END
+1 -1
View File
@@ -116,7 +116,7 @@ BEGIN
END
RETURN res
END Load;
END Load;
PROCEDURE RemoveDir* (DirName: ARRAY OF CHAR): BOOLEAN;
+3 -3
View File
@@ -167,10 +167,10 @@ END ln;
PROCEDURE [stdcall] log* (base, x: REAL): REAL;
BEGIN
BEGIN
SYSTEM.CODE(
0D9H, 0E8H, (* fld1 *)
0DDH, 045H, 010H, (* fld qword [ebp + 10h] *)
0DDH, 045H, 010H, (* fld qword [ebp + 10h] *)
0D9H, 0F1H, (* fyl2x *)
0D9H, 0E8H, (* fld1 *)
0DDH, 045H, 008H, (* fld qword [ebp + 08h] *)
@@ -376,6 +376,6 @@ BEGIN
END
RETURN res
END sgn;
END Math.
+1 -1
View File
@@ -10,7 +10,7 @@ MODULE RTL;
IMPORT SYSTEM, API;
CONST
CONST
bit_depth* = 32;
maxint* = 7FFFFFFFH;
+3 -13
View File
@@ -1,18 +1,8 @@
(*
Copyright 2013, 2018, 2019 Anton Krotov
BSD 2-Clause License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2019, Anton Krotov
All rights reserved.
*)
MODULE Console;
+174
View File
@@ -0,0 +1,174 @@
(*
BSD 2-Clause License
Copyright (c) 2019, Anton Krotov
All rights reserved.
*)
MODULE DateTime;
IMPORT WINAPI;
CONST
ERR* = -7.0E5;
VAR
DateTable: ARRAY 120000, 3 OF INTEGER;
MonthsTable: ARRAY 13, 4 OF INTEGER;
PROCEDURE Encode* (Year, Month, Day, Hour, Min, Sec, MSec: INTEGER): REAL;
VAR
d, bis: INTEGER;
res: REAL;
BEGIN
res := ERR;
IF (Year >= 1) & (Year <= 9999) & (Month >= 1) & (Month <= 12) &
(Day >= 1) & (Day <= 31) & (Hour >= 0) & (Hour <= 23) &
(Min >= 0) & (Min <= 59) & (Sec >= 0) & (Sec <= 59) &
(MSec >= 0) & (MSec <= 999) THEN
bis := ORD((Year MOD 4 = 0) & (Year MOD 100 # 0) OR (Year MOD 400 = 0));
IF Day <= MonthsTable[Month][2 + bis] THEN
DEC(Year);
d := Year * 365 + (Year DIV 4) - (Year DIV 100) + (Year DIV 400) +
MonthsTable[Month][bis] + Day - 693594;
res := FLT(d) + FLT(Hour * 3600000 + Min * 60000 + Sec * 1000 + MSec) / 86400000.0
END
END
RETURN res
END Encode;
PROCEDURE Decode* (Date: REAL; VAR Year, Month, Day, Hour, Min, Sec, MSec: INTEGER): BOOLEAN;
VAR
res: BOOLEAN;
d, t: INTEGER;
L, R, M: INTEGER;
BEGIN
res := (Date >= -693593.0) & (Date < 2958466.0);
IF res THEN
d := FLOOR(Date);
t := FLOOR((Date - FLT(d)) * 86400000.0);
INC(d, 693593);
L := 0;
R := LEN(DateTable) - 1;
M := (L + R) DIV 2;
WHILE R - L > 1 DO
IF d > DateTable[M][0] THEN
L := M;
M := (L + R) DIV 2
ELSIF d < DateTable[M][0] THEN
R := M;
M := (L + R) DIV 2
ELSE
L := M;
R := M
END
END;
Year := DateTable[L][1];
Month := DateTable[L][2];
Day := d - DateTable[L][0] + 1;
Hour := t DIV 3600000; t := t MOD 3600000;
Min := t DIV 60000; t := t MOD 60000;
Sec := t DIV 1000;
MSec := t MOD 1000
END
RETURN res
END Decode;
PROCEDURE Now* (VAR Year, Month, Day, Hour, Min, Sec, MSec: INTEGER);
VAR
T: WINAPI.TSystemTime;
BEGIN
WINAPI.GetLocalTime(T);
Year := ORD(T.Year);
Month := ORD(T.Month);
Day := ORD(T.Day);
Hour := ORD(T.Hour);
Min := ORD(T.Min);
Sec := ORD(T.Sec);
MSec := ORD(T.MSec)
END Now;
PROCEDURE NowEncode* (): REAL;
VAR
Year, Month, Day, Hour, Min, Sec, MSec: INTEGER;
BEGIN
Now(Year, Month, Day, Hour, Min, Sec, MSec)
RETURN Encode(Year, Month, Day, Hour, Min, Sec, MSec)
END NowEncode;
PROCEDURE init;
VAR
day, year, month, i: INTEGER;
Months: ARRAY 13 OF INTEGER;
BEGIN
Months[1] := 31; Months[2] := 28; Months[3] := 31; Months[4] := 30;
Months[5] := 31; Months[6] := 30; Months[7] := 31; Months[8] := 31;
Months[9] := 30; Months[10] := 31; Months[11] := 30; Months[12] := 31;
day := 0;
year := 1;
month := 1;
i := 0;
WHILE year <= 10000 DO
DateTable[i][0] := day;
DateTable[i][1] := year;
DateTable[i][2] := month;
INC(day, Months[month]);
IF (month = 2) & ((year MOD 4 = 0) & (year MOD 100 # 0) OR (year MOD 400 = 0)) THEN
INC(day)
END;
INC(month);
IF month > 12 THEN
month := 1;
INC(year)
END;
INC(i)
END;
MonthsTable[1][0] := 0;
FOR i := 2 TO 12 DO
MonthsTable[i][0] := MonthsTable[i - 1][0] + Months[i - 1]
END;
FOR i := 1 TO 12 DO
MonthsTable[i][2] := Months[i]
END;
Months[2] := 29;
MonthsTable[1][1] := 0;
FOR i := 2 TO 12 DO
MonthsTable[i][1] := MonthsTable[i - 1][1] + Months[i - 1]
END;
FOR i := 1 TO 12 DO
MonthsTable[i][3] := Months[i]
END
END init;
BEGIN
init
END DateTime.
+2 -2
View File
@@ -48,7 +48,7 @@ PROCEDURE [windows-, "kernel32.dll", "GetStdHandle"]
PROCEDURE [windows-, "kernel32.dll", "WriteFile"]
WriteFile (hFile, Buffer, nNumberOfBytesToRead, lpNumberOfBytesRead: INTEGER; lpOverlapped: POverlapped): INTEGER;
PROCEDURE [windows-, "kernel32.dll", "WriteConsoleW"]
WriteConsoleW (hConsoleOutput, lpBuffer, nNumberOfCharsToWrite, lpNumberOfCharsWritten, lpReserved: INTEGER): INTEGER;
@@ -57,7 +57,7 @@ PROCEDURE Char*(x: CHAR);
VAR count: INTEGER;
BEGIN
WriteFile(hConsoleOutput, sys.ADR(x), 1, sys.ADR(count), NIL)
END Char;
END Char;
PROCEDURE StringW*(s: ARRAY OF WCHAR);
VAR count: INTEGER;
+1 -1
View File
@@ -10,7 +10,7 @@ MODULE RTL;
IMPORT SYSTEM, API;
CONST
CONST
bit_depth* = 64;
maxint* = 7FFFFFFFFFFFFFFFH;
+7 -14
View File
@@ -1,23 +1,13 @@
(*
Copyright 2013, 2014, 2017, 2018, 2019 Anton Krotov
BSD 2-Clause License
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Copyright (c) 2019, Anton Krotov
All rights reserved.
*)
MODULE WINAPI;
IMPORT sys := SYSTEM;
IMPORT SYSTEM;
CONST
@@ -165,5 +155,8 @@ PROCEDURE [windows-, "kernel32.dll", "AllocConsole"]
PROCEDURE [windows-, "kernel32.dll", "FreeConsole"]
FreeConsole* (): BOOLEAN;
PROCEDURE [windows-, "kernel32.dll", "GetLocalTime"]
GetLocalTime* (T: TSystemTime);
END WINAPI.
+1 -1
View File
@@ -1,4 +1,4 @@
MODULE Dialogs;
MODULE Dialogs;
IMPORT KOSAPI, sys := SYSTEM, OpenDlg, ColorDlg;
+1 -1
View File
@@ -1,4 +1,4 @@
MODULE HW;
MODULE HW;
IMPORT sys := SYSTEM, KOSAPI;
+5 -5
View File
@@ -10,14 +10,14 @@ BEGIN
Out.Char("0")
END;
Out.Int(n, 0)
END OutInt2;
END OutInt2;
PROCEDURE OutMonth(n: INTEGER);
VAR
str: ARRAY 4 OF CHAR;
BEGIN
BEGIN
CASE n OF
| 1: str := "jan"
@@ -32,10 +32,10 @@ BEGIN
|10: str := "oct"
|11: str := "nov"
|12: str := "dec"
END;
END;
Out.String(str)
END OutMonth;
END OutMonth;
PROCEDURE main;
@@ -52,7 +52,7 @@ BEGIN
OutInt2(Hour); Out.Char(":");
OutInt2(Min); Out.Char(":");
OutInt2(Sec)
END main;
END main;
BEGIN
+1 -1
View File
@@ -20,7 +20,7 @@ BEGIN
Console.open;
main;
In.Ln;
In.Ln;
Console.exit(TRUE)
END HelloRus.
+1 -1
View File
@@ -20,7 +20,7 @@ BEGIN
Console.open;
main;
In.Ln;
In.Ln;
Console.exit(TRUE)
END HelloRus.
+2 -2
View File
@@ -176,8 +176,8 @@ BEGIN
INC(i)
END
END;
END;
value := MACHINE.long(value);
IF (s[i] = "X") & (n # -1) & (i - n > 4) THEN
+6 -6
View File
@@ -106,7 +106,7 @@ BEGIN
chunk := list.last(BYTECHUNK);
IF chunk.count = LENOFBYTECHUNK THEN
NEW(chunk);
NEW(chunk);
ERRORS.OutOfMemory(chunk = NIL);
chunk.count := 0;
LISTS.push(list, chunk)
@@ -139,12 +139,12 @@ VAR
chunk: BYTECHUNK;
BEGIN
NEW(bytelist);
NEW(bytelist);
ERRORS.OutOfMemory(bytelist = NIL);
list := LISTS.create(bytelist);
bytelist.length := 0;
NEW(chunk);
NEW(chunk);
ERRORS.OutOfMemory(chunk = NIL);
chunk.count := 0;
LISTS.push(list, chunk)
@@ -215,7 +215,7 @@ BEGIN
chunk := list.last(INTCHUNK);
IF chunk.count = LENOFINTCHUNK THEN
NEW(chunk);
NEW(chunk);
ERRORS.OutOfMemory(chunk = NIL);
chunk.count := 0;
LISTS.push(list, chunk)
@@ -235,12 +235,12 @@ VAR
chunk: INTCHUNK;
BEGIN
NEW(intlist);
NEW(intlist);
ERRORS.OutOfMemory(intlist = NIL);
list := LISTS.create(intlist);
intlist.length := 0;
NEW(chunk);
NEW(chunk);
ERRORS.OutOfMemory(chunk = NIL);
chunk.count := 0;
LISTS.push(list, chunk)
+2 -2
View File
@@ -5,7 +5,7 @@
All rights reserved.
*)
MODULE COLLECTIONS;
MODULE COLLECTIONS;
IMPORT ERRORS;
@@ -51,7 +51,7 @@ VAR
collection: COLLECTION;
BEGIN
NEW(collection);
NEW(collection);
ERRORS.OutOfMemory(collection = NIL);
collection.last := NIL
+3 -3
View File
@@ -45,7 +45,7 @@ END Int2;
PROCEDURE Ln*;
BEGIN
String(UTILS.eol)
END Ln;
END Ln;
PROCEDURE StringLn* (s: ARRAY OF CHAR);
@@ -56,14 +56,14 @@ END StringLn;
PROCEDURE IntLn* (n: INTEGER);
BEGIN
BEGIN
Int(n);
Ln
END IntLn;
PROCEDURE Int2Ln* (n: INTEGER);
BEGIN
BEGIN
Int2(n);
Ln
END Int2Ln;
+4 -4
View File
@@ -254,9 +254,9 @@ BEGIN
END;
phdr[header].p_flags := PF_R + PF_W;
phdr[header].p_align := 1000H;
offset := offset + phdr[header].p_filesz;
VA := LoadAdr + offset + 1000H;
VA := LoadAdr + offset + 1000H;
phdr[text].p_type := 1;
phdr[text].p_offset := offset;
@@ -268,7 +268,7 @@ BEGIN
phdr[text].p_align := 1000H;
ehdr.e_entry := phdr[text].p_vaddr;
offset := offset + phdr[text].p_filesz;
VA := LoadAdr + offset + 2000H;
pad := (16 - VA MOD 16) MOD 16;
@@ -281,7 +281,7 @@ BEGIN
phdr[data].p_memsz := SizeOf.data + pad;
phdr[data].p_flags := PF_R + PF_W;
phdr[data].p_align := 1000H;
offset := offset + phdr[data].p_filesz;
VA := LoadAdr + offset + 3000H;
+1 -1
View File
@@ -137,7 +137,7 @@ BEGIN
|118: str := "this flag for Windows only"
|119: str := "this flag for Linux only"
|120: str := "too many formal parameters"
|121: str := "'ccall' expected"
|121: str := "'ccall' expected"
|122: str := "out of range 0H..0FFFFH"
END;
C.StringLn(str);
+3 -3
View File
@@ -197,7 +197,7 @@ BEGIN
WR.Write32LE(File, header.sp);
WR.Write32LE(File, header.param);
WR.Write32LE(File, header.path);
CHL.WriteToFile(File, program.code);
WR.Padding(File, FileAlignment);
@@ -206,8 +206,8 @@ BEGIN
FOR i := 0 TO ILen - 1 DO
WR.Write32LE(File, CHL.GetInt(ImportTable, i))
END;
END;
CHL.WriteToFile(File, program.import);
WR.Close(File)
+4 -4
View File
@@ -566,9 +566,9 @@ BEGIN
|CODE.opGLOAD16:
reg1 := REG.GetAnyReg(R);
GenBinOp(opMOV, SR, mIDX, reg1, mREG, FALSE);
Reloc(RBSS, param2)
|CODE.opVLOAD16:
Reloc(RBSS, param2)
|CODE.opVLOAD16:
reg1 := REG.GetAnyReg(R);
GenBinOp(opMOV, BP, mIDX, reg1, mREG, FALSE);
EmitWord(param2 * 2);
@@ -740,7 +740,7 @@ BEGIN
|2: GenBinOp(opMOV, reg1, mINDIR, reg2, mIDX, FALSE)
END;
EmitWord(0)
|CODE.opINC1:
UnOp(reg1);
GenBinOp(opADD, PC, mINCR, reg1, mIDX, TRUE);
+6 -6
View File
@@ -12,11 +12,11 @@ IMPORT STRINGS, UTILS;
CONST
slash = UTILS.slash;
slash = UTILS.slash;
PATHLEN = 2048;
TYPE
PATH* = ARRAY PATHLEN OF CHAR;
@@ -92,12 +92,12 @@ BEGIN
res[i] := 0X
END
END RelPath;
END RelPath;
PROCEDURE isRelative* (path: ARRAY OF CHAR): BOOLEAN;
RETURN UTILS.isRelative(path)
END isRelative;
END isRelative;
PROCEDURE GetCurrentDirectory* (VAR path: ARRAY OF CHAR);
+2 -2
View File
@@ -152,7 +152,7 @@ BEGIN
vocabulary.idents := AVL.insert(vocabulary.idents, vocabulary.ident, nodecmp, newnode, node);
IF newnode THEN
NEW(vocabulary.ident);
NEW(vocabulary.ident);
ERRORS.OutOfMemory(vocabulary.ident = NIL);
vocabulary.ident.offset := -1;
vocabulary.ident.offsetW := -1
@@ -712,7 +712,7 @@ BEGIN
enterkw(i, "VAR");
enterkw(i, "WHILE");
NEW(vocabulary.ident);
NEW(vocabulary.ident);
ERRORS.OutOfMemory(vocabulary.ident = NIL);
vocabulary.ident.s := "";
vocabulary.ident.offset := -1;
+2 -2
View File
@@ -261,12 +261,12 @@ BEGIN
|0E1X..0EFX:
u := LSL(ORD(c) - 0E0H, 12);
IF i + 1 < srclen THEN
IF i + 1 < srclen THEN
INC(i);
INC(u, ORD(BITS(ORD(src[i])) * {0..5}) * 64)
END;
IF i + 1 < srclen THEN
INC(i);
INC(i);
INC(u, ORD(BITS(ORD(src[i])) * {0..5}))
END
(*
+1 -1
View File
@@ -17,7 +17,7 @@ CONST
bit_depth* = HOST.bit_depth;
maxint* = HOST.maxint;
minint* = HOST.minint;
OS = HOST.OS;
-19
View File
@@ -1,19 +0,0 @@
(*
BSD 2-Clause License
Copyright (c) 2019, Anton Krotov
All rights reserved.
*)
MODULE VM16;
IMPORT CODE;
PROCEDURE CodeGen* (code: CODE.CODES; outname: ARRAY OF CHAR);
BEGIN
END CodeGen;
END VM16.