StdLog.txt 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. MODULE StdLog;
  2. (* for Dev *)
  3. IMPORT Console, Strings, TextModels, TextMappers;
  4. VAR
  5. text-, buf-: TextModels.Model;
  6. out: TextMappers.Formatter;
  7. textR: TextModels.Reader;
  8. PROCEDURE Flush;
  9. VAR c: CHAR;
  10. BEGIN
  11. text.Append(buf);
  12. textR.SetPos(0);
  13. textR.ReadChar(c);
  14. WHILE ~textR.eot DO
  15. IF c = 0DX THEN c := 0AX END;
  16. Console.WriteChar(c);
  17. textR.ReadChar(c)
  18. END;
  19. text.Delete(0, text.Length())
  20. END Flush;
  21. PROCEDURE Char* (c: CHAR);
  22. BEGIN
  23. out.WriteChar(c); Flush
  24. END Char;
  25. PROCEDURE Int* (i: LONGINT);
  26. BEGIN
  27. out.WriteChar(" "); out.WriteInt(i); Flush
  28. END Int;
  29. PROCEDURE Real* (x: REAL);
  30. BEGIN
  31. out.WriteChar(" "); out.WriteReal(x); Flush
  32. END Real;
  33. PROCEDURE String* (IN str: ARRAY OF CHAR);
  34. BEGIN
  35. out.WriteString(str); Flush
  36. END String;
  37. PROCEDURE Bool* (x: BOOLEAN);
  38. BEGIN
  39. out.WriteChar(" "); out.WriteBool(x); Flush
  40. END Bool;
  41. PROCEDURE Set* (x: SET);
  42. BEGIN
  43. out.WriteChar(" "); out.WriteSet(x); Flush
  44. END Set;
  45. PROCEDURE IntForm* (x: LONGINT; base, minWidth: INTEGER; fillCh: CHAR; showBase: BOOLEAN);
  46. BEGIN
  47. out.WriteIntForm(x, base, minWidth, fillCh, showBase); Flush
  48. END IntForm;
  49. PROCEDURE RealForm* (x: REAL; precision, minW, expW: INTEGER; fillCh: CHAR);
  50. BEGIN
  51. out.WriteRealForm(x, precision, minW, expW, fillCh); Flush
  52. END RealForm;
  53. PROCEDURE Tab*;
  54. BEGIN
  55. out.WriteTab; Flush
  56. END Tab;
  57. PROCEDURE Ln*;
  58. BEGIN
  59. out.WriteLn; Flush;
  60. (* TextViews.ShowRange(text, text.Length(), text.Length(), TextViews.any) *)
  61. END Ln;
  62. PROCEDURE Para*;
  63. BEGIN
  64. out.WritePara; Flush;
  65. (* TextViews.ShowRange(text, text.Length(), text.Length(), TextViews.any) *)
  66. END Para;
  67. (*
  68. PROCEDURE View* (v: Views.View);
  69. BEGIN
  70. out.WriteView(v); Flush
  71. END View;
  72. PROCEDURE ViewForm* (v: Views.View; w, h: INTEGER);
  73. BEGIN
  74. out.WriteViewForm(v, w, h); Flush
  75. END ViewForm;
  76. *)
  77. PROCEDURE ParamMsg* (IN msg, p0, p1, p2: ARRAY OF CHAR);
  78. BEGIN
  79. out.WriteParamMsg(msg, p0, p1, p2); Flush
  80. END ParamMsg;
  81. PROCEDURE Msg* (IN msg: ARRAY OF CHAR);
  82. BEGIN
  83. out.WriteMsg(msg); Flush
  84. END Msg;
  85. PROCEDURE Open*;
  86. BEGIN
  87. END Open;
  88. PROCEDURE Clear*;
  89. BEGIN
  90. text.Delete(0, text.Length());
  91. buf.Delete(0, buf.Length());
  92. END Clear;
  93. PROCEDURE Init;
  94. BEGIN
  95. text := TextModels.dir.New();
  96. textR := text.NewReader(NIL);
  97. buf := TextModels.CloneOf(text);
  98. out.ConnectTo(buf)
  99. END Init;
  100. BEGIN
  101. Init
  102. END StdLog.