mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 06:22:25 +00:00
separated Kernel, Files. Texts modules for bootstrapping and general use
Former-commit-id: e1f76da278
This commit is contained in:
parent
5d683e6727
commit
66c583b70e
41 changed files with 3229 additions and 327 deletions
|
|
@ -4,13 +4,12 @@ MODULE Kernel;
|
|||
communication with C-runtime and storage management
|
||||
*)
|
||||
|
||||
IMPORT SYSTEM, Unix, Args, Strings := oocOakStrings, version;
|
||||
IMPORT SYSTEM, Unix, Args;
|
||||
|
||||
TYPE
|
||||
RealTime = POINTER TO TimeDesc;
|
||||
TimeDesc = RECORD
|
||||
sec, min, hour, mday, mon, year, wday, isdst, zone, gmtoff: LONGINT
|
||||
(* sec, min, hour, mday, mon, year, wday, isdst, zone, gmtoff: INTEGER*)
|
||||
END ;
|
||||
|
||||
KeyCmd* = PROCEDURE;
|
||||
|
|
@ -36,12 +35,10 @@ MODULE Kernel;
|
|||
|
||||
LIB*, CWD*: ARRAY 256 OF CHAR;
|
||||
OBERON*: ARRAY 1024 OF CHAR;
|
||||
MODULES-: ARRAY 1024 OF CHAR;
|
||||
|
||||
prefix*, fullprefix* : ARRAY 256 OF CHAR;
|
||||
|
||||
timeStart: LONGINT; (* milliseconds *)
|
||||
|
||||
|
||||
PROCEDURE -includesetjmp()
|
||||
'#include "setjmp.h"';
|
||||
(* for localtime *)
|
||||
|
|
@ -58,13 +55,13 @@ MODULE Kernel;
|
|||
"exit(n)";
|
||||
|
||||
PROCEDURE -sigsetjmp*(VAR env: Unix.JmpBuf; savemask: LONGINT): LONGINT
|
||||
"__sigsetjmp(env, savemask)";
|
||||
"__sigsetjmp(env, savemask)";
|
||||
|
||||
PROCEDURE -siglongjmp*(VAR env:Unix.JmpBuf; val: LONGINT)
|
||||
"siglongjmp(env, val)";
|
||||
PROCEDURE -siglongjmp*(VAR env:Unix. JmpBuf; val: LONGINT)
|
||||
"siglongjmp(env, val)";
|
||||
|
||||
PROCEDURE -heapsize*(): LONGINT
|
||||
"SYSTEM_heapsize";
|
||||
"SYSTEM_heapsize";
|
||||
|
||||
PROCEDURE -allocated*(): LONGINT
|
||||
"SYSTEM_allocated";
|
||||
|
|
@ -163,16 +160,8 @@ BEGIN
|
|||
EndianTest();
|
||||
SetHalt(Halt);
|
||||
CWD := ""; OBERON := "."; LIB := "";
|
||||
MODULES := ""; (* additional modules path which can be specified on commandline and will be added to the OBERON variable; noch *)
|
||||
getcwd(CWD);
|
||||
Args.GetEnv ("MODULES", MODULES);
|
||||
Args.GetEnv("OBERON", OBERON);
|
||||
(* always have current directory in module search path, noch *)
|
||||
Strings.Append(":.:", OBERON);
|
||||
Strings.Append(MODULES, OBERON);
|
||||
Strings.Append(":", OBERON);
|
||||
Strings.Append(version.prefix, OBERON);
|
||||
Strings.Append("/lib/voc/sym:", OBERON);
|
||||
Args.GetEnv("OBERON_LIB", LIB);
|
||||
TimeUnit := 1000; timeStart := 0; timeStart := Time()
|
||||
END Kernel.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue