2
0
Эх сурвалжийг харах

.txt files converted to .odc

Alexander Shiryaev 12 жил өмнө
parent
commit
ebaceb25e6

BIN
BlackBox/Cons/Mod/Interp.odc


+ 0 - 128
BlackBox/Cons/Mod/Interp.txt

@@ -1,128 +0,0 @@
-MODULE ConsInterp;
-
-	(*
-		A. V. Shiryaev, 2012.09
-	*)
-
-	IMPORT
-		Console,
-		Strings, Dialog,
-		DevCommanders, TextModels,
-		StdLog;
-
-	VAR
-		textR: TextModels.Reader;
-
-	PROCEDURE ShowStdLog;
-		VAR c: CHAR;
-	BEGIN
-		StdLog.text.Append(StdLog.buf);
-
-		textR.SetPos(0);
-		textR.ReadChar(c);
-		WHILE ~textR.eot DO
-			IF c = 0DX THEN
-				Console.WriteLn
-			ELSE
-				Console.WriteChar(c)
-			END;
-			textR.ReadChar(c)
-		END;
-		StdLog.text.Delete(0, StdLog.text.Length())
-	END ShowStdLog;
-
-	PROCEDURE Call1 (IN s: ARRAY OF CHAR; i: INTEGER): BOOLEAN;
-		VAR j: INTEGER;
-			res: INTEGER;
-			par: DevCommanders.Par;
-			m: TextModels.Model; w: TextModels.Writer;
-	BEGIN
-		(* ASSERT 0X in s[ i:LEN(s) ) *)
-		j := i;
-		WHILE s[j] # 0X DO INC(j) END;
-		IF j > i THEN
-			m := TextModels.dir.New();
-			w := m.NewWriter(NIL);
-			WHILE i < j DO
-				w.WriteChar(s[i]);
-				INC(i)
-			END;
-			NEW(par); par.text := m; par.beg := 0; par.end := m.Length() - 1;
-			DevCommanders.par := par
-		END;
-		Dialog.Call(s, " ", res);
-		DevCommanders.par := NIL;
-		ShowStdLog;
-	RETURN res = 0
-	END Call1;
-
-	PROCEDURE Call0 (VAR s: ARRAY OF CHAR): BOOLEAN;
-		VAR i: INTEGER;
-			res: BOOLEAN;
-			inStr: BOOLEAN;
-	BEGIN
-		(* ASSERT s is 0X terminated and not empty *)
-		i := 0;
-		WHILE (s[i] # 0X) & (s[i] # ' ') & (s[i] # '(') DO
-			INC(i)
-		END;
-		IF s[i] = 0X THEN
-			res := Call1(s, i)
-		ELSIF s[i] = ' ' THEN
-			s[i] := 0X;
-			res := Call1(s, i + 1)
-		ELSE (* s[i] = '(' *)
-			INC(i);
-			inStr := FALSE;
-			WHILE (s[i] # 0X) & ~(~inStr & (s[i] = ')')) DO
-				IF s[i] = "'" THEN inStr := ~inStr END;
-				INC(i)
-			END;
-			IF s[i] # 0X THEN
-				INC(i);
-				IF s[i] = 0X THEN
-					res := Call1(s, i)
-				ELSE
-					s[i] := 0X;
-					res := Call1(s, i + 1)
-				END
-			ELSE
-				res := FALSE
-			END
-		END;
-	RETURN res
-	END Call0;
-
-	PROCEDURE Call (VAR s: ARRAY OF CHAR): BOOLEAN;
-		VAR i: INTEGER;
-			res: BOOLEAN;
-	BEGIN
-		i := 0;
-		WHILE (i < LEN(s)) & (s[i] # 0AX) & (s[i] # 0DX) & (s[i] # 0X) DO
-			INC(i)
-		END;
-		IF (i < LEN(s)) & (s[i] # 0X) THEN
-			IF (i > 0) & (s[0] # '#') THEN
-				s[i] := 0X;
-				res := Call0(s)
-			ELSE (* skip empty strings and comments *)
-				res := TRUE
-			END
-		ELSE (* end of input *)
-			res := FALSE
-		END;
-	RETURN res
-	END Call;
-
-	PROCEDURE Run*;
-		VAR s: ARRAY 2048 OF CHAR;
-	BEGIN
-		Console.ReadLn(s);
-		WHILE Call(s) DO
-			Console.ReadLn(s)
-		END
-	END Run;
-
-BEGIN
-	textR := StdLog.text.NewReader(NIL)
-END ConsInterp.

BIN
BlackBox/Cons/Mod/Log.odc


+ 0 - 193
BlackBox/Cons/Mod/Log.txt

@@ -1,193 +0,0 @@
-MODULE ConsLog;
-
-	(*
-		A. V. Shiryaev, 2012.10
-
-		Log.Hook implementation
-		based on StdLog
-	*)
-
-	IMPORT
-		Log, Views, Dialog,
-		TextModels, TextMappers,
-		Console;
-
-	TYPE
-		LogHook = POINTER TO RECORD (Log.Hook) END;
-
-	VAR
-		logAlerts: BOOLEAN;
-		subOut: TextMappers.Formatter;
-
-		buf: TextModels.Model;
-		textR: TextModels.Reader;
-
-	(* Sub support *)
-
-	PROCEDURE* Guard (o: ANYPTR): BOOLEAN;
-	BEGIN
-		RETURN o # NIL
-	END Guard;
-
-	PROCEDURE* ClearBuf;
-		VAR subBuf: TextModels.Model;
-	BEGIN
-		subBuf := subOut.rider.Base(); subBuf.Delete(0, subBuf.Length())
-	END ClearBuf;
-
-	PROCEDURE* FlushBuf;
-		VAR c: CHAR;
-	BEGIN
-		IF buf.Length() > 0 THEN
-			textR.SetPos(0);
-			textR.ReadChar(c);
-			WHILE ~textR.eot DO
-				IF c = 0DX THEN
-					Console.WriteLn
-				ELSE
-					Console.WriteChar(c)
-				END;
-				textR.ReadChar(c)
-			END;
-			buf.Delete(0, buf.Length())
-		END
-	END FlushBuf;
-
-	PROCEDURE* SubFlush;
-	BEGIN
-		IF Log.synch THEN
-			FlushBuf;
-			(* IF Log.force THEN Views.RestoreDomain(text.Domain()) END *)
-		END;
-	END SubFlush;
-
-	PROCEDURE (log: LogHook) Guard* (o: ANYPTR): BOOLEAN;
-	BEGIN RETURN Guard(o)
-	END Guard;
-
-	PROCEDURE (log: LogHook) ClearBuf*;
-	BEGIN ClearBuf
-	END ClearBuf;
-
-	PROCEDURE (log: LogHook) FlushBuf*;
-	BEGIN FlushBuf
-	END FlushBuf;
-
-	PROCEDURE (log: LogHook) Beep*;
-	BEGIN Dialog.Beep
-	END Beep;
-
-	PROCEDURE (log: LogHook) Char* (ch: CHAR);
-	BEGIN
-		subOut.WriteChar(ch); SubFlush
-	END Char;
-
-	PROCEDURE (log: LogHook) Int* (n: INTEGER);
-	BEGIN
-		subOut.WriteChar(" "); subOut.WriteInt(n); SubFlush
-	END Int;
-
-	PROCEDURE (log: LogHook) Real* (x: REAL);
-	BEGIN
-		subOut.WriteChar(" "); subOut.WriteReal(x); SubFlush
-	END Real;
-
-	PROCEDURE (log: LogHook) String* (IN str: ARRAY OF CHAR);
-	BEGIN
-		subOut.WriteString(str); SubFlush
-	END String;
-
-	PROCEDURE (log: LogHook) Bool* (x: BOOLEAN);
-	BEGIN
-		subOut.WriteChar(" "); subOut.WriteBool(x); SubFlush
-	END Bool;
-
-	PROCEDURE (log: LogHook) Set* (x: SET);
-	BEGIN
-		subOut.WriteChar(" "); subOut.WriteSet(x); SubFlush
-	END Set;
-
-	PROCEDURE (log: LogHook) IntForm* (x: INTEGER; base, minWidth: INTEGER; fillCh: CHAR; showBase: BOOLEAN);
-	BEGIN
-		subOut.WriteIntForm(x, base, minWidth, fillCh, showBase); SubFlush
-	END IntForm;
-
-	PROCEDURE (log: LogHook) RealForm* (x: REAL; precision, minW, expW: INTEGER; fillCh: CHAR);
-	BEGIN
-		subOut.WriteRealForm(x, precision, minW, expW, fillCh); SubFlush
-	END RealForm;
-
-	PROCEDURE (log: LogHook) Tab*;
-	BEGIN
-		subOut.WriteTab; SubFlush
-	END Tab;
-
-	PROCEDURE (log: LogHook) Ln*;
-	BEGIN
-		subOut.WriteLn; SubFlush;
-		(* IF Log.synch THEN Views.RestoreDomain(text.Domain()) END *)
-	END Ln;
-
-	PROCEDURE (log: LogHook) Para*;
-	BEGIN
-		subOut.WritePara; SubFlush;
-		(* IF Log.synch THEN Views.RestoreDomain(text.Domain()) END *)
-	END Para;
-
-	PROCEDURE (log: LogHook) View* (v: ANYPTR);
-	BEGIN
-		IF (v # NIL) & (v IS Views.View) THEN
-			subOut.WriteView(v(Views.View)); SubFlush
-		END
-	END View;
-
-	PROCEDURE (log: LogHook) ViewForm* (v: ANYPTR; w, h: INTEGER);
-	BEGIN
-		ASSERT(v # NIL, 20);
-		IF (v # NIL) & (v IS Views.View) THEN
-			subOut.WriteViewForm(v(Views.View), w, h); SubFlush
-		END
-	END ViewForm;
-
-	PROCEDURE (log: LogHook) ParamMsg* (IN s, p0, p1, p2: ARRAY OF CHAR);
-		VAR msg: ARRAY 256 OF CHAR; i: INTEGER; ch: CHAR;
-	BEGIN
-		IF logAlerts THEN
-			(* IF Log.synch THEN Open END; *)
-			Dialog.MapParamString(s, p0, p1, p2, msg);
-			i := 0; ch := msg[0];
-			WHILE ch # 0X DO
-				IF ch = TextModels.line THEN subOut.WriteLn
-				ELSIF ch = TextModels.para THEN subOut.WritePara
-				ELSIF ch = TextModels.tab THEN subOut.WriteTab
-				ELSIF ch >= " " THEN subOut.WriteChar(ch)
-				END;
-				INC(i); ch := msg[i];
-			END;
-			subOut.WriteLn; SubFlush
-		(* ELSE
-			HostDialog.ShowParamMsg(s, p0, p1, p2) *)
-		END
-	END ParamMsg;
-
-
-	PROCEDURE AttachSubLog;
-		VAR h: LogHook;
-	BEGIN
-		subOut.ConnectTo(TextModels.dir.New());
-		buf := subOut.rider.Base();
-		textR := buf.NewReader(NIL);
-		NEW(h);
-		Log.SetHook(h);
-	END AttachSubLog;
-
-	PROCEDURE DetachSubLog;
-	BEGIN
-		Log.SetHook(NIL)
-	END DetachSubLog;
-
-BEGIN
-	AttachSubLog
-CLOSE
-	DetachSubLog;
-END ConsLog.

BIN
BlackBox/_Linux_/libBB.so


BIN
BlackBox/_Linux_/libBB0.so


BIN
BlackBox/_OpenBSD_/libBB.so


BIN
BlackBox/_OpenBSD_/libBB0.so


BIN
BlackBox/__Interp/Host/Mod/Dialog.odc


+ 0 - 52
BlackBox/__Interp/Host/Mod/Dialog.txt

@@ -1,52 +0,0 @@
-MODULE HostDialog;
-
-	(* for StdLog and Dialog.SetShowHook *)
-
-	IMPORT Dialog, Console;
-
-	TYPE
-		ShowHook = POINTER TO RECORD (Dialog.ShowHook) END;
-
-	PROCEDURE ShowParamMsg* (IN str, p0, p1, p2: ARRAY OF CHAR);
-		VAR st: ARRAY 512 OF CHAR;
-	BEGIN
-		ASSERT(str # "", 20);
-(*
-		IF Dialog.showsStatus THEN
-			ShowParamStatus(str, p0, p1, p2)
-		ELSE
-*)
-			Dialog.MapParamString(str, p0, p1, p2, st);
-			Console.WriteStr(st); Console.WriteLn
-(*
-		END
-*)
-	END ShowParamMsg;
-
-	PROCEDURE ShowParamStatus* (IN str, p0, p1, p2: ARRAY OF CHAR);
-		VAR st: ARRAY 513 OF CHAR;
-	BEGIN
-		Dialog.MapParamString(str, p0, p1, p2, st);
-		Console.WriteStr(st); Console.WriteLn
-	END ShowParamStatus;
-
-	PROCEDURE (h: ShowHook) ShowParamMsg (IN str, p0, p1, p2: ARRAY OF CHAR);
-	BEGIN
-		ShowParamMsg(str, p0, p1, p2)
-	END ShowParamMsg;
-
-	PROCEDURE (h: ShowHook) ShowParamStatus (IN str, p0, p1, p2: ARRAY OF CHAR);
-	BEGIN
-		ShowParamStatus(str, p0, p1, p2)
-	END ShowParamStatus;
-
-	PROCEDURE Init;
-		VAR
-			showHook: ShowHook;
-	BEGIN
-		NEW(showHook); Dialog.SetShowHook(showHook)
-	END Init;
-
-BEGIN
-	Init
-END HostDialog.

BIN
BlackBox/__Interp/Host/Mod/Fonts.odc


+ 0 - 75
BlackBox/__Interp/Host/Mod/Fonts.txt

@@ -1,75 +0,0 @@
-MODULE HostFonts;
-
-	(* for Texts, HostTextConv *)
-
-	IMPORT Fonts;
-
-	CONST
-		defTypeface = "*";
-		defSize = 12 * Fonts.point;
-		defW = 161925;
-		defAsc = 142875;
-		defDsc = 28575;
-
-	TYPE
-		Font = POINTER TO RECORD (Fonts.Font)
-			alias-: Fonts.Typeface;	(* alias # typeface & typeface # "*" == alien font *)
-		END;
-
-		Directory = POINTER TO RECORD (Fonts.Directory) END;
-
-	VAR
-		defFont-: Font; (* for HostTextConv *)
-		ti: Fonts.TypefaceInfo;
-		dir: Directory;
-
-	PROCEDURE (f: Font) GetBounds (OUT asc, dsc, w: INTEGER);
-	BEGIN
-		asc := defAsc;
-		dsc := defDsc;
-		w := defW
-	END GetBounds;
-
-	PROCEDURE (f: Font) StringWidth (IN s: ARRAY OF CHAR): INTEGER;
-	BEGIN
-		RETURN LEN(s$) * defW
-	END StringWidth;
-
-	PROCEDURE (f: Font) SStringWidth (IN s: ARRAY OF SHORTCHAR): INTEGER;
-	BEGIN
-		RETURN LEN(s$) * defW
-	END SStringWidth;
-
-	PROCEDURE (f: Font) IsAlien (): BOOLEAN;
-	BEGIN
-		RETURN TRUE
-	END IsAlien;
-
-	PROCEDURE (d: Directory) This (typeface: Fonts.Typeface; size: INTEGER; style: SET; weight: INTEGER): Font;
-	BEGIN
-		RETURN defFont
-	END This;
-
-	PROCEDURE (d: Directory) Default (): Font;
-	BEGIN
-		RETURN defFont
-	END Default;
-
-	PROCEDURE (d: Directory) TypefaceList (): Fonts.TypefaceInfo;
-	BEGIN
-		RETURN ti
-	END TypefaceList;
-
-	PROCEDURE Init;
-	BEGIN
-		NEW(defFont);
-		defFont.Init(defTypeface, defSize, {}, Fonts.normal);
-		defFont.alias := "Arial";
-		NEW(ti);
-		ti.typeface := defTypeface;
-		NEW(dir); Fonts.SetDir(dir)
-	END Init;
-
-BEGIN
-	Init
-END HostFonts.

BIN
BlackBox/__Interp/Host/Mod/Windows.odc


+ 0 - 143
BlackBox/__Interp/Host/Mod/Windows.txt

@@ -1,143 +0,0 @@
-MODULE HostWindows;
-
-	(* for Views *)
-
-	IMPORT Windows, Controllers, Views, Files, Converters, Documents, Ports;
-
-	TYPE
-		Window = POINTER TO EXTENSIBLE RECORD (Windows.Window)
-			next: Window;	(* window ring, to prevent garbage collection of windows *)
-		END;
-
-		Directory = POINTER TO EXTENSIBLE RECORD (Windows.Directory)
-		END;
-
-	VAR
-		dir: Directory;
-		winAnchor: Window;	(* list of all windows, from top to bottom, first is dumy header *)
-
-	(** Window **)
-
-	PROCEDURE (w: Window) ForwardCtrlMsg (VAR msg: Controllers.Message), EXTENSIBLE;
-	BEGIN
-		HALT(126)
-	END ForwardCtrlMsg;
-
-	PROCEDURE (w: Window) SetSize (width, height: INTEGER);
-	BEGIN
-		HALT(126)
-	END SetSize;
-
-	PROCEDURE (w: Window) SetTitle (title: Views.Title);
-	BEGIN
-		HALT(126)
-	END SetTitle;
-
-	PROCEDURE (w: Window) RefreshTitle;
-	BEGIN
-		HALT(126)
-	END RefreshTitle;
-
-	PROCEDURE (w: Window) GetTitle (OUT title: Views.Title);
-	BEGIN
-		HALT(126)
-	END GetTitle;
-
-	PROCEDURE (w: Window) SetSpec (loc: Files.Locator; name: Files.Name; conv: Converters.Converter);
-	BEGIN
-		HALT(126)
-	END SetSpec;
-
-	PROCEDURE (w: Window) MouseDown (x, y, time: INTEGER; modifiers: SET);
-	BEGIN
-		HALT(126)
-	END MouseDown;
-
-	PROCEDURE (w: Window) KeyDown (ch: CHAR; buttons: SET);
-	BEGIN
-		HALT(126)
-	END KeyDown;
-
-	PROCEDURE (w: Window) Close;
-	BEGIN
-		ASSERT(w.frame # NIL, 20);
-		HALT(126);
-		w.Close^;
-		ASSERT(w.frame = NIL, 60)
-	END Close;
-
-	(* Directory *)
-
-	PROCEDURE (d: Directory) Open (
-		w: Windows.Window; doc: Documents.Document; flags: SET; name: Views.Title;
-		loc: Files.Locator; fname: Files.Name; conv: Converters.Converter
-	);
-		VAR p: Ports.Port;
-	BEGIN
-		WITH w: Window DO
-		END
-	END Open;
-
-	PROCEDURE (d: Directory) First (): Window;
-	BEGIN
-		RETURN winAnchor.next
-	END First;
-
-	PROCEDURE (d: Directory) Next (w: Windows.Window): Window;
-	BEGIN
-		IF w # NIL THEN RETURN w(Window).next ELSE RETURN NIL END
-	END Next;
-
-	PROCEDURE (d: Directory) New (): Window, EXTENSIBLE;
-		VAR w: Window;
-	BEGIN
-		NEW(w); RETURN w
-	END New;
-
-	PROCEDURE (d: Directory) Focus (target: BOOLEAN): Window;
-	BEGIN
-		HALT(126);
-		RETURN NIL
-	END Focus;
-
-	PROCEDURE (d: Directory) Select (w: Windows.Window; lazy: BOOLEAN);
-	BEGIN
-		WITH w: Window DO
-			HALT(126)
-		END
-	END Select;
-
-	PROCEDURE (d: Directory) GetThisWindow (p: Ports.Port; px, py: INTEGER;
-																		OUT x, y: INTEGER; OUT w: Windows.Window);
-	BEGIN
-		w := NIL
-	END GetThisWindow;
-
-	PROCEDURE (d: Directory) Close (w: Windows.Window);
-		VAR v, u: Windows.Window; h: Window;
-	BEGIN
-		h := winAnchor; WHILE (h.next # NIL) & (h.next # w) DO h := h.next END;
-		IF h.next = w THEN
-			IF ~w.sub THEN
-				v := w.link;
-				WHILE v # w DO u := v.link; v.Close; v := u END
-			END;
-			w.Close
-		END
-	END Close;
-
-	PROCEDURE (d: Directory) GetBounds (OUT w, h: INTEGER);
-	BEGIN
-		HALT(126)
-	END GetBounds;
-
-	PROCEDURE Init;
-		VAR d: Directory;
-	BEGIN
-		NEW(d); d.l := -1; d.t := -1; d.r := -1; d.b := -1; dir := d; Windows.SetDir(d);
-		NEW(winAnchor); winAnchor.next := NIL;	(* dummy header *)
-	END Init;
-
-BEGIN
-	Init
-END HostWindows.

BIN
BlackBox/__Interp/System/Mod/Init.odc


+ 0 - 28
BlackBox/__Interp/System/Mod/Init.txt

@@ -1,28 +0,0 @@
-MODULE Init;
-
-	IMPORT
-		HostConsole, (* Console.SetHook *)
-
-		HostFonts (* Fonts.SetHook; required for Texts *),
-		HostWindows (* Windows.SetHook *),
-		HostDates (* Dates.SetHook *),
-		HostDialog (* Dialog.SetShowHook *),
-		StdInterpreter, (* Dialog.SetCallHook *)
-		StdDialog (* Views.SetViewHook *),
-
-		StdLog, ConsLog, (* Log.Hook *)
-
-		Converters (* .odc *),
-		Dialog;
-
-	PROCEDURE Init;
-		VAR res: INTEGER;
-	BEGIN
-		Converters.Register("Documents.ImportDocument", "Documents.ExportDocument", "", "odc", {});
-		Dialog.Call("Config.Setup", " ", res);
-		Dialog.Call("ConsInterp.Run", " ", res)
-	END Init;
-
-BEGIN
-	Init
-END Init.

+ 5 - 7
BlackBox/build

@@ -26,11 +26,11 @@ DevCompiler.CompileThis StdLoader
 DevCompiler.CompileThis Kernel_so_init
 
 # before StdLog
-ConsCompiler.Compile('Host/Mod', 'Dialog.txt')
+DevCompiler.CompileThis HostDialog
 
 DevCompiler.CompileThis StdLog
 DevCompiler.CompileThis Out
-ConsCompiler.Compile('Cons/Mod', 'Log.txt')
+DevCompiler.CompileThis ConsLog
 
 DevCompiler.CompileThis DevMarkers DevCommanders DevSelectors DevCPM DevCPT DevCPH DevCPB DevCPE DevCPS DevCPP DevCPL486 DevCPC486 DevCPV486 DevCompiler DevElfLinker16 DevLinker
 DevCompiler.CompileThis ConsCompiler
@@ -39,15 +39,13 @@ DevCompiler.CompileThis StdInterpreter
 
 ### BlackBox
 
-ConsCompiler.Compile('Host/Mod', 'Fonts.txt')
-ConsCompiler.Compile('Host/Mod', 'Windows.txt')
+DevCompiler.CompileThis HostFonts HostWindows
 DevCompiler.CompileThis HostDates
 DevCompiler.CompileThis HostTextConv
 
-ConsCompiler.Compile('Cons/Mod', 'Interp.txt')
+DevCompiler.CompileThis ConsInterp
 
-ConsCompiler.Compile('System/Mod', 'Init.txt')
-DevCompiler.CompileThis Config
+DevCompiler.CompileThis Init Config
 
 DevElfLinker.LinkDll libBB.so := Kernel+ Files HostFiles StdLoader
 

+ 1 - 1
README

@@ -83,7 +83,7 @@ Files:
 				OpenBSD-specific:
 					size_t
 					__xstat -> stat
-		_OpenBSD_/Lin/Mod/Libc.txt:
+		_OpenBSD_/Lin/Mod/Libc.odc:
 			OpenBUGS Lin/Mod/Libc.odc:
 				OpenBSD-specific
 		_Linux_/Lin/Mod/Libc.odc: