home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / l / l210 / 3.ddi / PROLOG.HLP < prev    next >
Encoding:
Text File  |  1988-06-21  |  24.4 KB  |  1,108 lines

  1.  
  2. █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  3. █                    HELP IN EDITOR                                █
  4. █                                                             █
  5. █  F1:   Popup editor menus                                      █
  6. █  S-F1: Popup help text                                          █
  7. █                                                             █
  8. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  9.  
  10.  
  11.  
  12. █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  13. █                                  █
  14. █            C O L O R S                  █
  15. █                                  █
  16. █                HOW TO CALCULATE SCREEN ATTRIBUTES.        █
  17. █                                  █
  18. █ 1. Choose ONE foreground color and ONE background color.    █
  19. █ 2. Add the corresponding integer values below.        █
  20. █ 3. Add 128 if you want whatever is displayed with that     █
  21. █    attribute to blink.                      █
  22. █                                                             █
  23. ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  24.  
  25. BACKGROUND-COLORS (Screen)       FOREGROUND-COLORS (Characters)
  26. -----------------------+---------+----------------+------------
  27. Black             0      Black               0
  28. Blue            16      Blue               1
  29. Green            32      Green               2
  30. Cyan            48      Cyan               3
  31. Red            64      Red               4
  32. Magenta            80      Magenta           5
  33. Brown            96      Brown               6
  34. White                112      White             7
  35.                   Grey               8
  36.                   Light Blue           9
  37.                   Light Green          10
  38.                   Light Cyan             11
  39.                   Light Red          12
  40.                   Light Magenta          13
  41.                   Yellow                  14
  42.                   White (High Intensity)  15
  43.  
  44.  
  45.  
  46.  
  47. █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  48. █                                 █
  49. █        STANDARD PREDICATES                         █
  50. █                                 █
  51. █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  52.  
  53.  
  54. INPUT
  55. =====
  56.  
  57. readln(StringVariable)
  58.     (string) - (o)
  59.  
  60. readint(IntgVariable)
  61.     (integer) - (o)
  62.  
  63. readreal(RealVariable)
  64.     (real) - (o)
  65.  
  66. readchar(CharVariable)
  67.     (char) - (o)
  68.  
  69. file_str(DosFileName,StringVariable)    File <--> String
  70.     (string,string) - (i,o) (i,i)
  71.  
  72. inkey(CharVariable)
  73.     (Char) - (o)
  74.  
  75. keypressed
  76.  
  77. unreadchar(CharToBePushedBack)
  78.     (Char) - (i)
  79.  
  80. readterm( Domain, Variable )
  81.     (DomainName,Domain) - (i,_)
  82.  
  83.  
  84. OUTPUT
  85. ======
  86.  
  87. write( Variable|Constant * )
  88.  
  89. nl
  90.  
  91. writef( FormatString, Variable|Constant* )
  92.  
  93. In the format string the following options are known after a percentage sign:
  94.  %d  Normal decimal number. (chars and integers)
  95.  %u  As an unsigned integer. (chars and integers)
  96.  %R  As a database reference number. (database reference numbers)
  97.  %X  As a long hexadecimal number.  (strings, database reference numb).
  98.  %x  As a hexadecimal number. (chars and integers).
  99.  %s  Strings.  (symbols and strings).
  100.  %c  As a char. (chars and integers).
  101.  %g  Reals in shortest posible format (default for reals)
  102.  %e  Reals in exponetial notation
  103.  %f  Reals in fixed notation
  104.  %lf Only for C compatibility (fixed reals)
  105.  
  106. \n - newline
  107. \t - tabulator
  108. \nnn - character with code nnn
  109.  
  110.  
  111.  
  112. FILESYSTEM
  113. ==========
  114.  
  115. openread(SymbolicFileName,DosFileName)
  116.     (file,string) - (i,i)
  117.  
  118. openwrite(SymbolicFileName,DosFileName)
  119.     (file,string) - (i,i)
  120.  
  121. openappend(SymbolicFileName,DosFileName)
  122.     (file,string) - (i,i)
  123.  
  124. openmodify(SymbolicFileName,DosFileName)
  125.     (file,string) - (i,i)
  126.  
  127. readdevice(SymbolicFileName)
  128.     (file) - (i) (o)
  129.  
  130. writedevice(SymbolicFileName)
  131.     (file) - (i) (o)
  132.  
  133. filemode(SymbolicFileName,FileMode)
  134.     (file,Integer) - (i,i) (i,o)
  135.     FileMode specifies: 0:Text mode,  1:Binary mode.
  136.  
  137. closefile(SymbolicFileName)
  138.     (file) - (i)
  139.  
  140. filepos(SymbolicFileName,FilePosition,Mode)
  141.     (file,real,integer) - (i,i,i) (i,o,i)
  142.         Mode specifies:  0:Start 1:Relative 2:End
  143.  
  144. eof(SymbolicFileName)
  145.     (file) - (i)
  146.  
  147. flush(SymbolicFileName)
  148.     (file) - (i)
  149.  
  150. existfile(DosFileName)
  151.     (string) - (i)
  152.  
  153. deletefile(DosFileName)
  154.     (string) - (i)
  155.  
  156. renamefile(OldDosFileName,NewDosFileName)
  157.     (string,string) - (i,i)
  158.  
  159. disk(DosPath)
  160.     (string) - (i) (o)
  161.  
  162.  
  163. SCREEN HANDLING
  164. ===============
  165.  
  166. scr_char(Row,Column,Char)
  167.     (integer,integer,char) - (i,i,i) (i,i,o)
  168.  
  169. scr_attr(Row,Column,Attr)
  170.     (integer,integer,integer) - (i,i,i) (i,i,o)
  171.  
  172. field_str(Row,Column,Length,String)
  173.     (integer,integer,integer,string) - (i,i,i,i) (i,i,i,o)
  174.  
  175. field_attr(Row,Column,Length,Attr)
  176.     (integer,integer,integer,integer) - (i,i,i,i) (i,i,i,o)
  177.  
  178. cursor(Row,Column)
  179.     (integer,integer) - (i,i) (o,o)
  180.  
  181. cursorform(Startline,Endline)    0<Startline<14, 0<Endline<14
  182.     (integer,integer) - (i,i) (o,o)
  183.  
  184. attribute(Attr)
  185.     (integer) - (i) (o)
  186.  
  187. textmode(Rows,Cols)
  188.     (integer,integer) - (i,i) (o,o)
  189.  
  190. snowcheck(on/off)
  191.     (string) -- (i) (o)
  192.  
  193.  
  194. WINDOW SYSTEM
  195. =============
  196.  
  197. makewindow(WindowNo,ScrAtt,FrameAtt,Framestr,Row,Column,Height,Width)
  198.     (integer,integer,integer,string,integer,integer,integer,integer)
  199.     - (i,i,i,i,i,i,i,i)
  200.       (o,o,o,o,o,o,o,o)
  201.  
  202. makewindow(WindowNo,ScrAtt,FrameAtt,Framestr,Row,Column,Height,Width,
  203.                     ClearWindow,FrameStrPos,BorderChars)
  204.     (integer,integer,integer,string,integer,integer,integer,integer,
  205.                     integer,integer,string)
  206.     - (i,i,i,i,i,i,i,i,i,i,i)
  207.     - (o,o,o,o,o,o,o,o,o,o,o)
  208.  
  209.     ClearWindow    = 0    Don't clear window after creation.
  210.             = 1    Clear window after creation.
  211.  
  212.     FrameStrPos    = 255    Center the framestring (window title)
  213.             <> 255    Place the framestring at the given pos'n.
  214.  
  215.     BorderChars        A string with exactly six characters,
  216.                 specifying how to draw the window frame:
  217.         
  218.                 1st char: Upper left corner
  219.                 2nd char: Upper right corner
  220.                 3rd char: Lower left corner
  221.                 4th char: Lower right corner
  222.                 5th char: Horizontal line
  223.                 6th char: Vertical line
  224.     Ex.
  225.         "┌┐└┘─│"      for a single border
  226.     or    "╔╗╚╝═║"     for a double border
  227.  
  228.  
  229. shiftwindow(WindowNo)
  230.     (integer) - (i) (o)
  231.  
  232. gotowindow(WindowNo)
  233.     (integer) - (i)
  234.  
  235. resizewindow
  236.  
  237. resizewindow(StartRow,NoOfRows,StartCol,NoOfCols)
  238.     (integer,integer,integer,integer) - (i,i,i,i)
  239.  
  240. colorsetup(Main_Frame)
  241.     (integer) - (i)
  242.  
  243.     Main_frame    = 0    Change the color for the window.
  244.             = 1    Change the color for the frame.
  245.  
  246. existwindow(WindowNo)
  247.     (integer) - (i)
  248.  
  249. removewindow
  250.  
  251. removewindow(WindowNo,Refresh)
  252.     (Integer,Integer) - (i,i)
  253.     Refresh        = 0    Don't refresh background.
  254.             = 1    Do refresh background
  255.  
  256. clearwindow
  257.  
  258. window_str(ScreenString)
  259.     (string) - (i) (o)
  260.  
  261. window_attr(Attribute)
  262.     (integer) - (i)
  263.  
  264. scroll(NoOfRows,NoOfCols)
  265.     (integer,integer) - (i,i)
  266.  
  267. framewindow(FrameAttr)
  268.     (integer) - (i)
  269.  
  270. framewindow(FrameAttr,FrameStr,FrameStrPos,FrameTypeStr)
  271.     (Integer,String,Integer,String)
  272.     - (i,i,i,i)
  273.  
  274.     FrameAttr    =    Attribute for the window frame.
  275.  
  276.     FrameStr    =    Window title.
  277.  
  278.     FrameStrPos    =    0 .. width of window. Specifies where in
  279.                 the window frame to place the window title.
  280.                 A value of 255 will centre the title.
  281.  
  282.     FrameTypeStr    =    A string consisting of 6 characters
  283.                 specifying how to build the window frame,
  284.                 Please refer to makewindow.
  285.  
  286.  
  287. STRING HANDLING
  288. ===============
  289.  
  290. frontchar(String,FrontChar,RestString)
  291.     (string,char,string) - (i,o,o) (i,i,o)
  292.     (i,o,i) (i,i,i) (o,i,i)
  293.  
  294. fronttoken(String,Token,RestString)
  295.     (string,string,string) - (i,o,o) (i,i,o)
  296.     (i,o,i) (i,i,i) (o,i,i)
  297.  
  298. frontstr(Lenght,Inpstring,StartString,RestString)
  299.     (integer,string,string,string) - (i,i,o,o)
  300.  
  301. concat(String1,String2,String3)  String3 = String1 + String2
  302.     (string,string,string) - (i,i,o) (i,o,i)
  303.     (o,i,i) (i,i,i)
  304.  
  305. str_len(String,Length)
  306.     (string,integer) - (i,i) (i,o) (o,i)
  307.  
  308. isname(StringParam)
  309.     (string) - (i)
  310.  
  311. format( OutputVariable, FormatString, Variable|Constant* )
  312.     See writef for the Format string
  313.  
  314.  
  315. CONVERSIONS
  316. ===========
  317.  
  318. char_int(CharParam,IntgParam)
  319.     (char,integer) - (i,o) (o,i) (i,i)
  320.  
  321. str_int(StringParam,IntgParam)
  322.     (string,integer) - (i,o) (o,i) (i,i)
  323.  
  324. str_char(StringParam,CharParam)
  325.     (string,char) - (i,o) (o,i) (i,i)
  326.  
  327. str_real(StringParam,RealParam)
  328.     (string,real) - (i,o) (o,i) (i,i)
  329.  
  330. upper_lower(StringInUpperCase,StringInLowerCase)
  331.     (string,string) - (i,i) (i,o) (o,i)
  332.  
  333. upper_lower(CharInUpperCase,CharInLowerCase)
  334.     (char,char) - (i,i) (i,o) (o,i)
  335.  
  336.  
  337.  
  338. HANDLING THE INTERNAL DATABASE
  339. ==============================
  340.  
  341. consult(DosFileName)
  342.     (string) - (i)
  343.  
  344. consult(DosFileName,InternalDatabaseName)
  345.     (string,InternalDatabaseName) - (i,i)
  346.  
  347. save(DosFileName)
  348.     (string) - (i)
  349.  
  350. save(DosFileName,InternalDatabaseName)
  351.     (string,DatabaseName) - (i,i)
  352.  
  353. assert( Term )
  354.     (InternalDatabaseDomain) - (i)
  355.  
  356. asserta( Term )
  357.     (InternalDatabaseDomain) - (i)
  358.  
  359. assertz( Term )
  360.     (InternalDatabaseDomain) - (i)
  361.  
  362. nondeterm retract( Term )
  363.     (InternalDatabaseDomain) - (_)
  364.  
  365. nondeterm retract( Term, InternalDbaseName )
  366.     (InternalDatabaseDomain) - (_,i)
  367.  
  368. retractall(Term)
  369.     (InternalDatabaseDomain) - (_)
  370.     Performs as a retract-fail combination; no output arguments.
  371.     Never fails
  372.  
  373. retractall(_, InternalDbaseName )
  374.     (_,InternalDatabaseDomain) - (_,i)
  375.     As above, but on a named database.
  376.  
  377.  
  378. EXTERNAL DATABASE SYSTEM
  379. ========================
  380.  
  381. db_create(Dbase,Name,Place)
  382.     (db_selector,string,place) - (i,i,i)
  383.  
  384. db_open(Dbase,Name,Place)
  385.     (db_selector,string,place) - (i,i,i)
  386.  
  387. db_openinvalid(Dbase,Name,Place)
  388.     (db_selector,string,place) - (i,i,i)
  389.  
  390. db_close(Dbase)
  391.     (db_selector) - (i)
  392.  
  393. db_delete(Name,Place)
  394.     (string,place) - (i,i)
  395.  
  396. db_flush(Dbase)
  397.     (db_selector) - (i)
  398.  
  399. db_garbagecollect(Dbase)
  400.     (db_selector) - (i)
  401.  
  402. db_copy(Dbase,Name,Place)
  403.     (db_selector,string,place) - (i,i,i)
  404.  
  405. nondeterm db_chains(Dbase,Chain)
  406.     (db_selector,string) - (i,o)
  407.  
  408. nondeterm db_btrees(Dbase,Btree)
  409.     (db_selector,string) - (i,o)
  410.  
  411. db_statistics(Dbase,NoOfTerms,MemSize,DbaSize,FreeSize)
  412.     (db_selector,real,real,real,real) - (i,o,o,o,o)
  413.  
  414. chain_inserta(Dbase,Chain,Domain,Term,Ref)
  415.     (db_selector,string,symbol,<Domain>,ref) - (i,i,i,i,o)
  416.  
  417. chain_insertz(Dbase,Chain,Domain,Term,Ref)
  418.     (db_selector,string,symbol,<Domain>,ref) - (i,i,i,i,o)
  419.  
  420. chain_insertafter(Dbase,Domain,Ref,Term,NewRef)
  421.     (db_selector,symbol,ref,<Domain>,ref) - (i,i,i,i,o)
  422.  
  423. chain_delete(Dbase,Chain)
  424.     (db_selector,string) - (i,i)
  425.  
  426. nondeterm chain_terms(Dbase,Chain,Domain,Term,Ref)
  427.     (db_selector,string,symbol,<Domain>,ref)-(i,i,i,_,o)
  428.  
  429. chain_first(Dbase,Chain,FirstRef)
  430.     (db_selector,string,ref) - (i,i,o)
  431.  
  432. chain_last(Dbase,Chain,LastRef)
  433.     (db_selector,string,ref) - (i,i,o)
  434.  
  435. chain_next(Dbase,Ref,NextRef)
  436.     (db_selector,ref,ref) - (i,i,o)
  437.  
  438. chain_prev(Dbase,Ref,PrevRef)
  439.     (db_selector,ref,ref) - (i,i,o)
  440.  
  441. term_delete(Dbase,Chain,Ref)
  442.     (db_selector,string,ref) - (i,i,i)
  443.  
  444. term_replace(Dbase,Domain,Ref,NewTerm)
  445.     (db_selector,symbol,ref,<Domain>) - (i,i,i,i)
  446.  
  447. ref_term(Dbase,Domain,Ref,Term)
  448.     (db_selector,symbol,ref,<Domain>)-(i,i,i,_)
  449.  
  450. bt_create(Dbase,BtreeName,Btree_selector,KeyLen,Order)
  451.     (db_selector,string,bt_selector,integer,integer) - (i,i,o,i,i)
  452.  
  453. bt_open(Dbase,BtreeName,Btree_selector)
  454.     (db_selector,string,bt_selector) - (i,i,o)
  455.  
  456. bt_close(Dbase,Btree_selector)
  457.     (db_selector,bt_selector) - (i,i)
  458.  
  459. bt_delete(Dbase,BtreeName)
  460.     (db_selector,string) - (i,i)
  461.  
  462. bt_statistics(Dbase,Btree_selector,NoOfKeys,NoOfPages,Dept,KeyLen,Order,PageSize)
  463.     (db_selector,bt_selector,real,real,integer,integer,integer,integer)
  464.      - (i,i,o,o,o,o,o,o)
  465.  
  466. key_insert(Dbase,Btree,Key,Ref)
  467.     (db_selector,bt_selector,string,ref) - (i,i,i,i)
  468.  
  469. key_delete(Dbase,Btree,Key,Ref)
  470.     (db_selector,bt_selector,string,ref) - (i,i,i,i)
  471.  
  472. key_first(Dbase,Btree,FirstRef)
  473.     (db_selector,bt_selector,ref) - (i,i,o)
  474.  
  475. key_last(Dbase,Btree,LastRef)
  476.     (db_selector,bt_selector,ref) - (i,i,o)
  477.  
  478. key_search(Dbase,Btree,Key,Ref)
  479.     (db_selector,bt_selector,string,ref) - (i,i,i,o)
  480.  
  481. key_next(Dbase,Btree,NextRef)
  482.     (db_selector,bt_selector,ref) - (i,i,o)
  483.  
  484. key_prev(Dbase,Btree,PrevRef)
  485.     (db_selector,bt_selector,ref) - (i,i,o)
  486.  
  487. key_current(Dbase,Btree,Key,Ref)
  488.     (db_selector,bt_selector,string,ref) - (i,i,o,o)
  489.  
  490.  
  491.  
  492. BGI GRAPHIC
  493. ===========
  494.  
  495. arc(X,Y,StAngle,EndAngle,Radius)
  496.     (integer,integer,integer,integer,integer) - (i,i,i,i,i)
  497.  
  498. bar(Left,Top,Right,Bottom)
  499.     (integer,integer,integer,integer) - (i,i,i,i)
  500.  
  501. bar3d(Left,Top,Right,Bottom,Depth,Topflag)
  502.     (integer,integer,integer,integer,integer,integer) -
  503.     (i,i,i,i,i,i)
  504.  
  505. circle(X,Y,Radius)
  506.     (integer,integer,integer) - (i,i,i)
  507.  
  508. cleardevice
  509.  
  510. clearviewport
  511.  
  512. closegraph
  513.  
  514. detectgraph(Graphdriver,Graphmode)
  515.     (integer,integer) - (o,o)
  516.  
  517. drawpoly(PolyPointsList)
  518.     (bgi_ilist) - (i)
  519.  
  520. ellipse(X,Y,StAngle,EndAngle,Xradius,YRadius)
  521.     (integer,integer,integer,integer,integer,integer) -
  522.     (i,i,i,i,i,i)
  523.  
  524. fillellipse(X,Y,Xradius,YRadius)
  525.     (integer,integer,integer,integer) - (i,i,i,i)
  526.  
  527. fillpoly(PolyPointsList)
  528.     (bgi_ilist) - (i)
  529.  
  530. floodfill(X,Y,Border)
  531.     (integer,integer,integer) - (i,i,i)
  532.  
  533. getarccoords(X,Y,Xstart,Ystart,Xend,Yend)
  534.     (integer,integer,integer,integer,integer,integer) -
  535.     (o,o,o,o,o,o)
  536.  
  537. getaspectratio(Xasp,Yasp)
  538.     (integer,integer) - (o,o)
  539.  
  540. getbkcolor(BkColor)
  541.     (integer) - (o)
  542.  
  543. getcolor(Color)
  544.     (integer) - (o)
  545.  
  546. getdrivername(DriverName)
  547.     (string) - (o)
  548.  
  549. getdefaultpalette(DefaultPalette)
  550.     (bgi_ilist) - (o)
  551.  
  552. getfillpattern(PatternList)
  553.     (bgi_ilist) - (o)
  554.  
  555. getfillsettings(FillPattern,FillColor)
  556.     (integer,integer) - (o,o)
  557.  
  558. getgraphmode(GraphMode)
  559.     (integer) - (o)
  560.  
  561. getimage(Left,Top,Right,Bottom,BitMap)
  562.     (integer,integer,integer,integer,string) - (i,i,i,i,o)
  563.  
  564. getlinesettings(LineStyle,Upattern,Thickness)
  565.     (integer,integer,integer) - (o,o,o)
  566.  
  567. getmaxcolor(MaxColor)
  568.     (integer) - (o)
  569.  
  570. getmaxx(X)
  571.     (integer) - (o)
  572.  
  573. getmaxy(Y)
  574.     (integer) - (o)
  575.  
  576. getmaxmode(MaxMode)
  577.     (integer) - (o)
  578.  
  579. getmodename(DriverMode,ModeName)
  580.     (integer,string) - (i,o)
  581.  
  582. getmoderange(Graphdriver,Lomode,Himode)
  583.     (integer,integer,integer) - (i,o,o)
  584.  
  585. getpalette(PaletteList)
  586.     (bgi_ilist) - (o)
  587.  
  588. getpalettesize(PaletteSize)
  589.     (integer) - (o)
  590.  
  591. getpixel(X,Y,Color)
  592.     (integer,integer,integer) - (i,i,o)
  593.  
  594. gettextsettings(Font,Direction,CharSize,Horiz,Vert)
  595.     (integer,integer,integer,integer,integer) - (o,o,o,o,o)
  596.  
  597. getviewsettings(Left,Top,Right,Bottom,Clip)
  598.     (integer,integer,integer,integer,integer) - (o,o,o,o,o)
  599.  
  600. getx(X)
  601.     (integer) - (o)
  602.  
  603. gety(Y)
  604.     (integer) - (o)
  605.  
  606. graphdefaults
  607.  
  608. imagesize(Left,Top,Right,Bottom,Size)
  609.     (integer,integer,integer,integer,integer) - (i,i,i,i,o)
  610.  
  611. initgraph(Graphdriver,Graphmode,NewDriver,NewMode,Pathtodriver)
  612.     (integer,integer,integer,integer,string) - (i,i,o,o,i)
  613.  
  614. line(X0,Y0,X1,Y1)
  615.     (integer,integer,integer,integer) - (i,i,i,i)
  616.  
  617. linerel(Dx,Dy)
  618.     (integer,integer) - (i,i)
  619.  
  620. lineto(X,Y)
  621.     (integer,integer) - (i,i)
  622.  
  623. moverel(Dx,Dy)
  624.     (integer,integer) - (i,i)
  625.  
  626. moveto(X,Y)
  627.     (integer,integer) - (i,i)
  628.  
  629. outtext(Textstring)
  630.     (string) - (i)
  631.  
  632. outtextxy(X,Y,Textstring)
  633.     (integer,integer,string) - (i,i,i)
  634.  
  635. pieslice(X,Y,Stangle,Endangle,Radius)
  636.     (integer,integer,integer,integer,integer) - (i,i,i,i,i)
  637.  
  638. putimage(X,Y,Bitmap,Op)
  639.     (integer,integer,string,integer) - (i,i,i,i)
  640.  
  641. putpixel(X,Y,Pixelcolor)
  642.     (integer,integer,integer) - (i,i,i)
  643.  
  644. rectangle(Left,Top,Right,Bottom)
  645.     (integer,integer,integer,integer) - (i,i,i,i)
  646.  
  647. restorecrtmode
  648.  
  649.  
  650. setactivepage(Page)
  651.     (integer) - (i)
  652.  
  653. setallpalette(PaletteList)
  654.     (bgi_ilist) - (i)
  655.  
  656. setaspectratio(Xasp,Yasp)
  657.     (integer,integer) - (i,i)
  658.  
  659. setbkcolor(Color)
  660.     (integer) - (i)
  661.  
  662. setcolor(Color)
  663.     (integer) - (i)
  664.  
  665. setfillpattern(UpatternList,Color)
  666.     (bgi_ilist,integer) - (i,i)
  667.  
  668. setfillstyle(Pattern,Color)
  669.     (integer,integer) - (i,i)
  670.  
  671. setgraphmode(Mode)
  672.     (integer) - (i)
  673.  
  674. setgraphbufsize(BufSize)
  675.     (integer) - (i)
  676.  
  677. setlinestyle(Linestyle,Upattern,Thickness)
  678.     (integer,integer,integer) - (i,i,i)
  679.  
  680. setpalette(Index,Actual_color)
  681.     (integer,integer) - (i,i)
  682.  
  683. settextjustify(Horiz,Vert)
  684.     (integer,integer) - (i,i)
  685.  
  686. settextstyle(Font,Direction,Charsize)
  687.     (integer,integer,integer) - (i,i,i)
  688.  
  689. setusercharsize(Multx,Divx,Multy,Divy)
  690.     (integer,integer,integer,integer) - (i,i,i,i)
  691.  
  692. setviewport(Left,Top,Right,Bottom,Clip)
  693.     (integer,integer,integer,integer,integer) - (i,i,i,i,i)
  694.  
  695. setvisualpage(Pagenum)
  696.     (integer) - (i)
  697.  
  698. setwritemode(WriteMode)
  699.     (integer) - (i)
  700.  
  701. textheight(Textstring,Height)
  702.     (string,integer) - (i,o)
  703.  
  704. textwidth(Textstring,Width)
  705.     (string,integer) - (i,o)
  706.  
  707.  
  708. OLD GRAPHICS
  709. ============
  710.  
  711. graphics(ModeParam,Palette,Background)
  712.     (integer,integer,integer) - (i,i,i)
  713.  
  714. dot(Row,Column,Color)
  715.     (integer,integer,integer) - (i,i,i) (i,i,o)
  716.  
  717. line(Row1,Col1,Row2,Col2,Color)
  718.     (integer,integer,integer,integer,integer)
  719.     - (i,i,i,i,i)
  720.  
  721. text
  722.  
  723.  
  724.  
  725. TURTLE GRAPHICS   (Works together with old graphic)
  726. ===============
  727.  
  728. pendown
  729.  
  730. penup
  731.  
  732. pencolor(Color)
  733.     (integer) - (i) (o)
  734.  
  735. forward(Step)
  736.     (integer) - (i)
  737.  
  738. back(Step)
  739.     (integer) - (i)
  740.  
  741. right(Angle)
  742.     (integer) - (i)
  743.  
  744. left(Angle)
  745.     (integer) - (i)
  746.  
  747. penpos(RowCoordinate,ColumnCoordinate,Angle)
  748.     (Integer,Integer,Integer) - (i,i,i) (o,o,o)
  749.  
  750.  
  751.  
  752. EDITOR
  753. ======
  754. display(String)
  755.     (string) - (i)
  756.  
  757. edit(InputString,OutputString)
  758.     (string,string) - (i,o)
  759.  
  760. edit(InputString,OutputString,Headstr,Headstr2,Msg,Pos,Helpfilename,
  761.     EditMode,Indent,Insert,TextMode,RetPos,RetStatus)
  762.     (string,string,string,string,string,integer,string,
  763.     integer,integer,integer,integer,integer,integer)
  764.     - (i,o,i,i,i,i,i,i,i,i,i,o,o)
  765.  
  766.     If the user saves the text from the editor, HeadStr2 will be used as
  767.     the file name.
  768.  
  769.     EditMode    = 0    means display mode
  770.             = 1    means read/overwrite mode
  771.  
  772.     Indent        = 0    no indentation
  773.             = 1    auto indentation on
  774.  
  775.     Insert        = 0    overwrite mode
  776.             = 1    insert mode
  777.  
  778.     TextMode    = 0    Textmode off
  779.             = 1    Textmode on (automatic linefeed)
  780.  
  781.     RetPos        =     Cursor position related to OutPutString at
  782.                 return.
  783.  
  784.     RetStatus    = 0    F10 editor ended by F10
  785.               1    F10 editor ended by Esc
  786.  
  787.  
  788. editmsg(InputString,OutputString,Headstr,Headstr2,Msg,Pos,Helpfilename,RetStatus)
  789.     (string,string,string,string,string,integer,string,integer)
  790.     - (i,o,i,i,i,i,i,o)
  791.  
  792.  
  793.  
  794. DOS RELATED
  795. ===========
  796.  
  797. system(DosCommandString)
  798.     (string) - (i)
  799.  
  800. system(DosCommandString,ResetVideo,RetCode)
  801.     (string,integer,integer) - (i,i,o)
  802.  
  803.     DosCommandString=    Name of external program.
  804.  
  805.     ResetVideo    = 0    Do not reset video to stage
  806.                 before executing the external program.
  807.  
  808.     ResetVideo    = 1    Reset video.
  809.  
  810.     RetCode        =    Return code for external program (ErrorLevel).
  811.  
  812. dir(Path,Filespec,Filename)
  813.     (string,string,string) - (i,i,o)
  814.  
  815. dir(Path,Filespec,Filename,ShowDir,ChgFileMask,ShowPath)
  816.     (string,string,string) - (i,i,o,i,i,i)
  817.  
  818.     ShowDir        = 0    Do not include directories
  819.             = 1    Include directories in listning
  820.  
  821.     ChgFileMask    = 0    Do Not let user change file mask
  822.             = 1    Allow the user to change mask by F4
  823.  
  824.     ShowPath    = 0    Do not show current file mask
  825.             = 1    Show filemask in window label
  826.  
  827. comline(LineBuffer)
  828.     (String) - (o)
  829.  
  830. envsymbol(EnvId,SymbolStr)
  831.     (string,string) - (i,o)
  832.  
  833.  
  834. MISCELLANEOUS MACHINE LOWLEVEL
  835. ==============================
  836.  
  837. port_byte(PortNo,Value)
  838.     (integer,integer) - (i,i) (i,o)
  839.  
  840. ptr_dword(8086Ptr,Segment,Offset)
  841.     (string,integer,integer) - (i,o,o) (o,i,i)
  842.  
  843. memword(Segment,Offset,Word)
  844.     (integer,integer,integer) - (i,i,i) (i,i,o)
  845.  
  846. membyte(Segment,Offset,Byte)
  847.     (integer,integer,integer) - (i,i,i) (i,i,o)
  848.  
  849. bitand(X,Y,Z) : Z=X and Y
  850.     (integer,integer,integer) - (i,i,o)
  851.  
  852. bitor(X,Y,Z) : Z=X or Y
  853.     (integer,integer,integer) - (i,i,o)
  854.  
  855. bitxor(X,Y,Z) : Z=X xor Y
  856.     (integer,integer,integer) - (i,i,o)
  857.  
  858. bitnot(X,Y) : Y= not X
  859.     (integer,integer) - (i,o)
  860.  
  861. bitleft(X,Y,Z) : Z=X shifted Y places to the left
  862.     (integer,integer,integer) - (i,i,o)
  863.  
  864. bitright(X,Y,Z) : Z=X shifted Y places to the left
  865.     (integer,integer,integer) - (i,i,o)
  866.  
  867. bios(Interruptno,reg(AXi,BXi,CXi,DXi,SIi,DIi,DSi,ESi),
  868.          reg(AXo,BXo,CXo,DXo,SIo,DIo,DSo,ESo))
  869.     (integer,REG,REG) - (i,i,o) (i,i,reg(o,o ... ))
  870.  
  871. bios(Interruptno,reg(AXi,BXi,CXi,DXi,SIi,DIi,DSi,ESi),
  872.          reg(AXo,BXo,CXo,DXo,SIo,DIo,DSo,ESo), OutFlags)
  873.     (integer,REG,REG,integer) - (i,i,o,o) (i,i,reg(o,o ... ),o)
  874.  
  875. debug
  876.     Performs an INT 1 to call the DOS debugger
  877.  
  878.  
  879.  
  880. ERROR & BREAK CONTROL
  881. =====================
  882.  
  883. trap(PredicateCall,ExitCode,PredicateToCallOnError)
  884.  
  885. exit
  886.  
  887. exit(ExitCode)
  888.     (integer) - (i)
  889.     if exit to DOS then the DOS errorlevel task processing variable will
  890.     contain the value given to the exit predicate.
  891.  
  892. break(on/off)
  893.     (string) - (i) (o)
  894.  
  895. breakpressed
  896.     Test for Ctrl-Break pressed.
  897.  
  898. errormsg(FileName,ErrorNo,ErrorMsg,ExtraHelpMsg)
  899.     (String,Integer,String,String) - (i,i,o,o)
  900.     Read an error message from a text file structured as PROLOG.ERR.
  901.  
  902. readtermerror(LineWithError,ErrorPosInLine)
  903.     (string,integer)-(o,o)
  904.  
  905. consulterror(LineWithError,ErrorPosInLine,LineNoInFile)
  906.     (string,integer,real)-(o,o,o)
  907.  
  908.  
  909. * User defined error handling predicates. When compiling to modules Prolog
  910. * clauses can be defined for these procedures to override the default error
  911. * handling in the library.
  912.  
  913. FileError(ErrNo,FileName)
  914.      (Integer,String) - (i,i) language C
  915.  
  916. CriticalError(ErrNo,ErrType,DiskNo,Action)
  917.          (integer,integer,integer,integer) - (i,i,i,o) language C
  918.  
  919.  
  920. MISCELLANEOUS
  921. =============
  922.  
  923. random(RealVariable)
  924.     (real) - (o)
  925.  
  926. random(MaxValue,RandomInt)
  927.     (integer,integer) - (i,o)
  928.  
  929. storage(StackSize,HeapSize,TrailSize)
  930.     (real,real,real) - (o,o,o)
  931.  
  932. sound(Duration,Frequency)
  933.     (integer,integer) - (i,i)
  934.  
  935. beep
  936.  
  937. date(Year,Month,Day)
  938.     (integer,integer,integer) - (o,o,o) (i,i,i)
  939.  
  940. time(Hours,Minutes,Seconds,Hundredths)
  941.     (integer,integer,integer,integer) - (o,o,o,o) (i,i,i,i)
  942.  
  943. trace(on/off)
  944.     (string) - (i) (o)
  945.  
  946.  
  947. CONTROL PREDICATES
  948. ==================
  949.  
  950. findall( Variable, Atom, ListVariable )
  951.  
  952. not( Atom )
  953.  
  954. free( Variable )
  955.  
  956. bound( Variable )
  957.  
  958. fail
  959.  
  960. true
  961.  
  962. getbacktrack(BTOP)
  963.     (integer)-(o)
  964.  
  965. cutbacktrack(BTOP)
  966.     (integer)-(i)
  967.  
  968.  
  969. ARITHMETIC
  970. ==========
  971.  
  972. Arithmetic operators: +, -, *, /, mod, div
  973.  
  974. Relational operators: >, <, =, >=, <=, <>, ><
  975.  
  976. Functions: sin, cos, tan, arctan, ln, log, exp, sqrt, round, trunc, abs
  977.  
  978.  
  979.  
  980. SUMMARY OF PROGRAM SECTIONS
  981. ==========================
  982.  
  983. Options must precede the other sections
  984.  
  985. CONSTANTS
  986.   const1 = definition
  987.   const2 = definition
  988.  
  989. [GLOBAL] DOMAINS
  990.    dom [,dom] = [reference] declaration1; declaration2
  991.    listdom = dom*
  992.    dom = <basisdom>
  993.  
  994. [GLOBAL] DATABASE [ - <databasename> ]
  995.    [determ] pred1(....)
  996.             pred2(.....)
  997.  
  998. GLOBAL PREDICATES
  999.   [determ|nondeterm] pred1(.........)
  1000.     -(i,i,o,..)(i,o,i,..) [ language c|pascal|fortran ] [ as "name" ]
  1001.   pred2(........)
  1002.  
  1003. PREDICATES
  1004.   [determ|nondeterm] pred1(.........)
  1005.   pred2(........)
  1006.  
  1007. CLAUSES
  1008.   p(....):-p1(...), p2(.....), ... .
  1009.   p(....):-p1(...), p2(.....), ... .
  1010.  
  1011.  
  1012. include "filename"  Include a file during compilation.
  1013.  
  1014.  
  1015.  
  1016. CONDITIONAL COMPILATION
  1017. =======================
  1018.  
  1019.  
  1020. ifdef/ifndef <constant>
  1021.  
  1022.  <text section>
  1023.  
  1024. elsedef        % Optional
  1025.  
  1026.  <text section>
  1027.  
  1028. enddef
  1029.  
  1030.  
  1031.  
  1032. PREDEFINED DOMAINS
  1033. ==================
  1034.  
  1035. char        1 byte characters
  1036. integer        2 byte integer numbers
  1037. real        8 byte floating point numbers
  1038. ref        database reference numbers
  1039. symbol        strings inserted in the internal symboltable
  1040. string        sequences of chars "hello world\n"
  1041.  
  1042. dbasedom        generated domain for terms in the global database
  1043. bt_selector    returned binary tree selector
  1044. db_selector    user-defined external database selectors
  1045. place        in_memory; in_ems; in_file
  1046. file        keyboard; screen; printer; com1; stdin; stdout .... userdefined
  1047. reg        reg(AX,BX,CX,DX,SI,DI,DS,ES)
  1048. bgi_ilist    list of integers used in the BGI predicates.
  1049.  
  1050.  
  1051.  
  1052. █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
  1053. █                                 █
  1054. █            OPTIONS                     █
  1055. █                                 █
  1056. █▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
  1057.  
  1058.  
  1059. trace        traces all predicates.
  1060.  
  1061. trace p1,p2,..    trace predicates p1,p2,... only.
  1062.  
  1063. shorttrace    tracing without disturbing system optimization.
  1064.  
  1065. shorttrace p1,p2,..
  1066.         shorttrace predicates p1,p2,... only.
  1067.  
  1068. nowarnings    Suppress warnings from variable used only once
  1069.  
  1070. nobreak        Predicates should not scan the keyboard to see
  1071.                 if CTRL-BREAK has been pressed.
  1072.  
  1073. check_determ    Warns about the presence of nondeterministic clauses.
  1074.  
  1075. diagnostics    Print compiler diagnostics
  1076.  
  1077. config "ConfigFileName"
  1078.         Configuration file loaded by EXE-module.
  1079.  
  1080. project "ProjectName"
  1081.         Name of project.
  1082.  
  1083. errorlevel = n
  1084.   n=0: Generate no cursorinformation to .exe file.
  1085.   n=1: Generate cursorinf on every call to standard predicates.
  1086.   n=2: Generate cursorinf on every predicate call.
  1087.  
  1088.  
  1089. Linking in BGI drivers
  1090.     bgidriver "_EGAVGA_driver_far"
  1091.     bgidriver "_CGA_driver_far"
  1092.     bgidriver "_HERC_driver_far"
  1093.     bgidriver "_ATT_driver_far"
  1094.     bgidriver "_PC3270_driver_far"
  1095.     bgidriver "_IBM8514_driver_far"
  1096.  
  1097. Linking in BGI fonts
  1098.     bgifont   "_gothic_font_far"
  1099.     bgifont   "_small_font_far"
  1100.     bgifont   "_sansserif_font_far"
  1101.     bgifont   "_triplex_font_far"
  1102.  
  1103.  
  1104. Adjustment of compiler tables:
  1105. ******************************
  1106. code=nnn    Size of the code array in paragraphs (default 1000).
  1107. trail=nnn    Size of the trail in paragraphs (default 10).
  1108.