home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / crosscom / l2c-23 / l2c.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-03-04  |  20.7 KB  |  537 lines

  1. //╔══════════════════════════════════════════════════════════════════════════╗
  2. //║                                                                          ║
  3. //║     █      █                    ▄▀▄      ▄▀▀▄                            ║
  4. //║     █         ▄▀▀▀▄  █ ▄▀▄     ▀   █    █    ▀                           ║
  5. //║     █      █  █      █▀   █        █    █                                ║
  6. //║     █      █   ▀▀▄   █    █      ▄▀     █                                ║
  7. //║     █      █      █  █▄   █    ▄▀       █    ▄                           ║
  8. //║     █▄▄▄█  █  ▀▄▄▄▀  █ ▀▄▀     █▄▄▄█     ▀▄▄▀       2.3                  ║
  9. //║                      █                                                   ║
  10. //║     ──────────────── █ ────────────────────────                          ║
  11. //║                      █                                                   ║
  12. //║                                                                          ║
  13. //║                                                                          ║
  14. //║                                                     Copyright (C) 1993:  ║
  15. //║                                                     BASIC d.o.o.         ║
  16. //║                                                     Jesenkova 5          ║
  17. //║                                                     SLO-61000 Ljubljana  ║
  18. //║                                                     ───────────────────  ║
  19. //║                                                                          ║
  20. //║                                                                          ║
  21. //║                                                                          ║
  22. //╚══════════════════════════════════════════════════════════════════════════╝
  23. #include <stdio.h>
  24. #include <stdlib.h>
  25. #include <string.h>
  26. #include <math.h>
  27. #include <malloc.h>
  28. #include <stdarg.h>
  29. #include "adslib.h"
  30. #include "adsdlg.h"
  31. //
  32. //
  33. #undef X
  34. #undef Y
  35. #undef Z
  36. #undef T
  37. #define SymExp MemoryCell *
  38. #define StrExp char *
  39.  
  40. //
  41. typedef enum {
  42.     l2cFalse,
  43.     l2cTrue
  44. } _Boolean;
  45.  
  46. //┌──────────────────────────────────────────────────────────────────────────┐
  47. //│  Here are supported types:                                               │
  48. //└──────────────────────────────────────────────────────────────────────────┘
  49. typedef enum {
  50.     cCons,
  51.     cNumber,
  52.     cReal,
  53.     cString,
  54.     cSymbol,
  55.     cFunction,
  56.     cOpen,
  57.     cClose,
  58.     cDot,
  59.     cFile,
  60.     cSubr,
  61.     cExSubr,
  62.     cPickSet,
  63.     cEName,
  64.     cUnknown,
  65.     cReserved
  66. } CellTypes;
  67. //┌──────────────────────────────────────────────────────────────────────────┐
  68. //│ Basic data structure: MemoryCell (SymExp ≡≡ MemoryCell *)                │
  69. //└──────────────────────────────────────────────────────────────────────────┘
  70. typedef struct MemoryCell {
  71.     struct {
  72.         unsigned ID     :  4;
  73.         unsigned Mark   :  1;
  74.         unsigned Point2 :  9;
  75.         unsigned Usable :  1;
  76.     } Flag;
  77.     struct SymExp Next;
  78.     struct SymExp Prev;
  79.     CellTypes CellType;
  80.     union {
  81.         struct {
  82.             StrExp Name;
  83.         } Symbol;
  84.         long   IntValue;
  85.         ads_real RealValue;
  86.         StrExp StrValue;
  87.         struct {
  88.             struct SymExp Car;
  89.             struct SymExp Cdr;
  90.         } Cons;
  91.         struct {
  92.             int    ArgC;
  93.             struct SymExp (*Func)();
  94.         } Func;
  95.         FILE *File;
  96.         ads_name EName;
  97.         ads_name PickSet;
  98.     } Cell;
  99. } MemoryCell;
  100. //┌──────────────────────────────────────────────────────────────────────────┐
  101. //│ Garbage collector support data:                                          │
  102. //└──────────────────────────────────────────────────────────────────────────┘
  103. typedef struct SelectionSetList {
  104.     ads_name    SelectionSet;
  105.     int         Flag;
  106.     struct SelectionSetList *Next;
  107. } SelectionSetList;
  108. //
  109. typedef struct FileList {
  110.     FILE    *File;
  111.     int     Flag;
  112.     struct FileList *Next;
  113. } FileList;
  114. //┌──────────────────────────────────────────────────────────────────────────┐
  115. //│ Symbol table definition:                                                 │
  116. //└──────────────────────────────────────────────────────────────────────────┘
  117. extern long MaxSymbol;
  118. #define HStep 13
  119.  
  120. typedef struct HashList {
  121.     SymExp  Value;
  122.     _Boolean Repr;
  123.     struct  HashList *Next;
  124. } HashList_;
  125.  
  126. typedef struct {
  127.     StrExp  Name;
  128.     struct  HashList *Top;
  129.     _Boolean Local;
  130. } HashTable;
  131.  
  132. #define ClearError ERROR = FALSE
  133. #define ErrorTest if (ERROR) return (NULL)
  134. //┌──────────────────────────────────────────────────────────────────────────┐
  135. //│ Predefined symbols:                                                      │
  136. //│  Only used in applications.                                              │
  137. //└──────────────────────────────────────────────────────────────────────────┘
  138. #ifndef Lisp2C_Library
  139. extern SymExp TrueExprPtr;
  140.  
  141. extern SymExp L2CSubr;
  142. extern SymExp L2CExSubr;
  143. extern SymExp setExprPtr;
  144. extern SymExp setqExprPtr;
  145. extern SymExp mapcarExprPtr;
  146. extern SymExp andExprPtr;
  147. extern SymExp orExprPtr;
  148. extern SymExp whileExprPtr;
  149. extern SymExp foreachExprPtr;
  150. extern SymExp repeatExprPtr;
  151. extern SymExp condExprPtr;
  152. extern SymExp ifExprPtr;
  153. extern SymExp prognExprPtr;
  154. extern SymExp applyExprPtr;
  155. extern SymExp defunExprPtr;
  156. #endif
  157. //┌──────────────────────────────────────────────────────────────────────────┐
  158. //│ ADS_ and LSP_: AutoLISP functions                                        │
  159. //└──────────────────────────────────────────────────────────────────────────┘
  160. SymExp ADS_Acad_colordlg (SymExp, SymExp, ...);
  161. SymExp ADS_Acad_helpdlg (SymExp, SymExp, ...);
  162. SymExp ADS_Acad_strlsort (SymExp, ...);
  163. SymExp ADS_Action_tile (SymExp, SymExp,...);
  164. SymExp ADS_Add_list (SymExp,...);
  165. SymExp ADS_Ads (SymExp);
  166. SymExp ADS_Alert (SymExp, ...);
  167. SymExp ADS_Angle (SymExp, SymExp, ...);
  168. SymExp ADS_Angtof (SymExp, SymExp,...);
  169. SymExp ADS_Angtos (SymExp, SymExp,...);
  170. SymExp ADS_Client_data_tile (SymExp, SymExp, ...);
  171. SymExp ADS_Command (SymExp,...);
  172. SymExp ADS_Cvunit (SymExp, SymExp, SymExp, ...);
  173. SymExp ADS_Dimx_tile (SymExp, ...);
  174. SymExp ADS_Dimy_tile (SymExp, ...);
  175. SymExp ADS_Distance (SymExp, SymExp, ...);
  176. SymExp ADS_Distof (SymExp,...);
  177. SymExp ADS_Done_dialog (SymExp,...);
  178. SymExp ADS_End_image (SymExp);
  179. SymExp ADS_End_list (SymExp);
  180. SymExp ADS_Entdel  (SymExp,...);
  181. SymExp ADS_Entget  (SymExp, SymExp, ...);
  182. SymExp ADS_Entlast (SymExp);
  183. SymExp ADS_Entmake (SymExp,...);
  184. SymExp ADS_Entmod  (SymExp,...);
  185. SymExp ADS_Entnext (SymExp,...);
  186. SymExp ADS_Entsel  (SymExp,...);
  187. SymExp ADS_Entupd  (SymExp,...);
  188. SymExp ADS_Fill_image (SymExp, SymExp, SymExp, SymExp, SymExp, ...);
  189. SymExp ADS_Findfile (SymExp, ...);
  190. SymExp ADS_Get_attr (SymExp, SymExp,...);
  191. SymExp ADS_Get_tile (SymExp,...);
  192. SymExp ADS_Getangle (SymExp,...);
  193. SymExp ADS_Getcorner (SymExp, SymExp,...);
  194. SymExp ADS_Getdist (SymExp,...);
  195. SymExp ADS_Getfiled (SymExp, SymExp, SymExp, SymExp, ...);
  196. SymExp ADS_Getint (SymExp,...);
  197. SymExp ADS_Getkword (SymExp,...);
  198. SymExp ADS_Getorient (SymExp,...);
  199. SymExp ADS_Getpoint (SymExp,...);
  200. SymExp ADS_Getreal (SymExp,...);
  201. SymExp ADS_Getstring (SymExp,...);
  202. SymExp ADS_Getvar (SymExp,...);
  203. SymExp ADS_Graphscr (SymExp);
  204. SymExp ADS_Grclear (SymExp);
  205. SymExp ADS_Grdraw (SymExp, SymExp, SymExp, SymExp, ...);
  206. SymExp ADS_Grread (SymExp, ...);
  207. SymExp ADS_Grtext (SymExp, ...);
  208. SymExp ADS_Grvecs (SymExp, SymExp, ...);
  209. SymExp ADS_Handent (SymExp, SymExp);
  210. SymExp ADS_Initget (SymExp,...);
  211. SymExp ADS_Inters (SymExp, SymExp, SymExp, SymExp, SymExp, ...);
  212. SymExp ADS_Load_dialog (SymExp,...);
  213. SymExp ADS_Menucmd (SymExp, ...);
  214. SymExp ADS_Mode_tile (SymExp, SymExp,...);
  215. SymExp ADS_Nentsel (SymExp, ...);
  216. SymExp ADS_Nentselp (SymExp, ...);
  217. SymExp ADS_New_dialog (SymExp, SymExp, SymExp,...);
  218. SymExp ADS_Osnap (SymExp, SymExp, ...);
  219. SymExp ADS_Polar (SymExp, SymExp, SymExp, ...);
  220. SymExp ADS_Prompt (SymExp, ...);
  221. SymExp ADS_Redraw (SymExp, ...);
  222. SymExp ADS_Regapp (SymExp, ...);
  223. SymExp ADS_Rtos (SymExp, SymExp,...);
  224. SymExp ADS_Set_tile (SymExp, SymExp,...);
  225. SymExp ADS_Setvar (SymExp, SymExp, ...);
  226. SymExp ADS_Slide_image (SymExp, SymExp, SymExp, SymExp, SymExp, ...);
  227. SymExp ADS_Ssadd (SymExp,...);
  228. SymExp ADS_Ssdel (SymExp, SymExp, ...);
  229. SymExp ADS_Ssget (SymExp,...);
  230. SymExp ADS_Sslength (SymExp, ...);
  231. SymExp ADS_Ssmemb (SymExp, SymExp, ...);
  232. SymExp ADS_Ssname (SymExp, SymExp, ...);
  233. SymExp ADS_Start_dialog (SymExp);
  234. SymExp ADS_Start_image (SymExp, ...);
  235. SymExp ADS_Start_list (SymExp, SymExp,...);
  236. SymExp ADS_Tablet (SymExp, SymExp, ...);
  237. SymExp ADS_Tblnext (SymExp, SymExp, ...);
  238. SymExp ADS_Tblsearch (SymExp, SymExp, SymExp, ...);
  239. SymExp ADS_Term_dialog (SymExp);
  240. SymExp ADS_Textbox (SymExp, ...);
  241. SymExp ADS_Textscr (SymExp);
  242. SymExp ADS_Trans (SymExp, SymExp, SymExp, SymExp, ...);
  243. SymExp ADS_Unload_dialog (SymExp,...);
  244. SymExp ADS_Vector_image (SymExp, SymExp, SymExp, SymExp, SymExp, ...);
  245. SymExp ADS_Vports (SymExp);
  246. SymExp ADS_Wcmatch (SymExp, SymExp,...);
  247. SymExp ADS_Xdroom (SymExp, ...);
  248. SymExp ADS_Xdsize (SymExp, ...);
  249. SymExp ADS_Xload (SymExp, SymExp,...);
  250. SymExp ADS_Xunload (SymExp, SymExp,...);
  251. SymExp LSP_Abs (SymExp, ...);
  252. SymExp LSP_Addn (SymExp, SymExp, ...);
  253. SymExp LSP_Alloc (SymExp, ...);
  254. SymExp LSP_And (SymExp, ...);
  255. SymExp LSP_Append (SymExp, ...);
  256. SymExp LSP_Ascii (SymExp, ...);
  257. SymExp LSP_Assoc (SymExp, SymExp, ...);
  258. SymExp LSP_Atan (SymExp,...);
  259. SymExp LSP_Atof (SymExp, ...);
  260. SymExp LSP_Atoi (SymExp, ...);
  261. SymExp LSP_Atom (SymExp, ...);
  262. SymExp LSP_AtomsFamily (SymExp, SymExp, ...);
  263. SymExp LSP_BitNot (SymExp, ...);
  264. SymExp LSP_Boole (SymExp, SymExp, SymExp,...);
  265. SymExp LSP_Boundp (SymExp, ...);
  266. SymExp LSP_Car (SymExp, ...);
  267. SymExp LSP_Cdr (SymExp, ...);
  268. SymExp LSP_Caar (SymExp, ...);
  269. SymExp LSP_Cadr (SymExp, ...);
  270. SymExp LSP_Cdar (SymExp, ...);
  271. SymExp LSP_Cddr (SymExp, ...);
  272. SymExp LSP_Caaar (SymExp, ...);
  273. SymExp LSP_Caadr (SymExp, ...);
  274. SymExp LSP_Cadar (SymExp, ...);
  275. SymExp LSP_Caddr (SymExp, ...);
  276. SymExp LSP_Cdaar (SymExp, ...);
  277. SymExp LSP_Cdadr (SymExp, ...);
  278. SymExp LSP_Cddar (SymExp, ...);
  279. SymExp LSP_Cdddr (SymExp, ...);
  280. SymExp LSP_Caaaar (SymExp, ...);
  281. SymExp LSP_Caaadr (SymExp, ...);
  282. SymExp LSP_Caadar (SymExp, ...);
  283. SymExp LSP_Caaddr (SymExp, ...);
  284. SymExp LSP_Cadaar (SymExp, ...);
  285. SymExp LSP_Cadadr (SymExp, ...);
  286. SymExp LSP_Caddar (SymExp, ...);
  287. SymExp LSP_Cadddr (SymExp, ...);
  288. SymExp LSP_Cdaaar (SymExp, ...);
  289. SymExp LSP_Cdaadr (SymExp, ...);
  290. SymExp LSP_Cdadar (SymExp, ...);
  291. SymExp LSP_Cdaddr (SymExp, ...);
  292. SymExp LSP_Cddaar (SymExp, ...);
  293. SymExp LSP_Cddadr (SymExp, ...);
  294. SymExp LSP_Cdddar (SymExp, ...);
  295. SymExp LSP_Cddddr (SymExp, ...);
  296. SymExp LSP_Chr (SymExp, ...);
  297. SymExp LSP_Close (SymExp, ...);
  298. SymExp LSP_Cons (SymExp, SymExp, ...);
  299. SymExp LSP_Cos (SymExp, ...);
  300. SymExp LSP_Divide (SymExp,...);
  301. SymExp LSP_Eq (SymExp, SymExp, ...);
  302. SymExp LSP_Equal (SymExp, SymExp, SymExp,...);
  303. SymExp LSP_Eval (SymExp, ...);
  304. SymExp LSP_Exit (SymExp);
  305. SymExp LSP_Exp (SymExp, ...);
  306. SymExp LSP_Expand (SymExp, ...);
  307. SymExp LSP_Expt (SymExp, SymExp, ...);
  308. SymExp LSP_Fix (SymExp, ...);
  309. SymExp LSP_Float (SymExp, ...);
  310. SymExp LSP_Gc (SymExp);
  311. SymExp LSP_Gcd (SymExp, SymExp, ...);
  312. SymExp LSP_Getenv (SymExp,...);
  313. SymExp LSP_Invoke (StrExp, SymExp, ...);
  314. SymExp LSP_Itoa (SymExp, ...);
  315. SymExp LSP_Last (SymExp, ...);
  316. SymExp LSP_Length (SymExp, ...);
  317. SymExp LSP_LessEqual (SymExp, SymExp, ...);
  318. SymExp LSP_LessThan (SymExp, SymExp, ...);
  319. SymExp LSP_List (SymExp,...);
  320. SymExp LSP_Listp (SymExp, ...);
  321. SymExp LSP_Load (SymExp, SymExp, ...);
  322. SymExp LSP_Log (SymExp, ...);
  323. SymExp LSP_Logand (SymExp, SymExp, ...);
  324. SymExp LSP_Logior (SymExp, SymExp, ...);
  325. SymExp LSP_Lsh (SymExp, SymExp, ...);
  326. SymExp LSP_Max (SymExp,...);
  327. SymExp LSP_Mem (SymExp,...);
  328. SymExp LSP_Member (SymExp, SymExp, ...);
  329. SymExp LSP_Min (SymExp,...);
  330. SymExp LSP_Minus (SymExp,...);
  331. SymExp LSP_Minusp (SymExp, ...);
  332. SymExp LSP_MoreEqual (SymExp, SymExp, ...);
  333. SymExp LSP_MoreThan (SymExp, SymExp, ...);
  334. SymExp LSP_Not (SymExp, ...);
  335. SymExp LSP_Nth (SymExp, SymExp, ...);
  336. SymExp LSP_Null (SymExp, ...);
  337. SymExp LSP_NumEq (SymExp, SymExp, ...);
  338. SymExp LSP_NumNotEq (SymExp, SymExp, ...);
  339. SymExp LSP_Numberp (SymExp, ...);
  340. SymExp LSP_OneMinus (SymExp, ...);
  341. SymExp LSP_OnePlus (SymExp, ...);
  342. SymExp LSP_Open  (SymExp, SymExp, ...);
  343. SymExp LSP_Or (SymExp, ...);
  344. SymExp LSP_Plus (SymExp,...);
  345. SymExp LSP_Prin1 (SymExp, ...);
  346. SymExp LSP_Princ (SymExp, ...);
  347. SymExp LSP_Print (SymExp, ...);
  348. SymExp LSP_Quit (SymExp);
  349. SymExp LSP_Read (SymExp, ...);
  350. SymExp LSP_ReadChar (SymExp, ...);
  351. SymExp LSP_ReadLine (SymExp, ...);
  352. SymExp LSP_Rem (SymExp, SymExp, ...);
  353. SymExp LSP_Reverse (SymExp, ...);
  354. SymExp LSP_Sin (SymExp, ...);
  355. SymExp LSP_Sqrt (SymExp, ...);
  356. SymExp LSP_StrCase (SymExp ,...);
  357. SymExp LSP_StrCat (SymExp, ...);
  358. SymExp LSP_StrLen (SymExp, ...);
  359. SymExp LSP_SubStr (SymExp, SymExp, ...);
  360. SymExp LSP_Subst (SymExp, SymExp, SymExp, ...);
  361. SymExp LSP_Terpri (SymExp);
  362. SymExp LSP_Times (SymExp,...);
  363. SymExp LSP_Trace (SymExp, ...);
  364. SymExp LSP_Type (SymExp, ...);
  365. SymExp LSP_Untrace (SymExp, ...);
  366. SymExp LSP_Ver (SymExp);
  367. SymExp LSP__ver (SymExp);
  368. SymExp LSP_Vmon (SymExp);
  369. SymExp LSP_WriteChar (SymExp, ...);
  370. SymExp LSP_WriteLine (SymExp, ...);
  371. SymExp LSP_Zerop (SymExp, ...);
  372. //┌──────────────────────────────────────────────────────────────────────────┐
  373. //│ Procedures to allocate memory                                            │
  374. //└──────────────────────────────────────────────────────────────────────────┘
  375. SymExp MakeEName (ads_name);
  376. SymExp MakeFile (FILE *);
  377. SymExp MakeFunction (SymExp (*F)(), int);
  378. SymExp MakeMatrix (ads_matrix);
  379. SymExp MakeMem (CellTypes, int);
  380. SymExp MakeNumber (long);
  381. SymExp MakePickSet (ads_name);
  382. SymExp MakePoint (ads_point);
  383. SymExp MakeReal (ads_real);
  384. SymExp MakeString (StrExp);
  385. SymExp MakeSymbol (StrExp);
  386. //┌──────────────────────────────────────────────────────────────────────────┐
  387. //│ Procedures to access memory                                              │
  388. //└──────────────────────────────────────────────────────────────────────────┘
  389. _Boolean    GetBoolean (SymExp);
  390. long        GetNumber (SymExp);
  391. ads_real    GetReal (SymExp);
  392. FILE *      GetFile (SymExp);
  393. StrExp      GetName (SymExp);
  394. StrExp      GetString (SymExp);
  395. void        GetEName (SymExp, ads_name);
  396. void        GetMatrix (SymExp, ads_matrix);
  397. void        GetPickSet (SymExp, ads_name);
  398. void        GetPoint (SymExp, ads_point);
  399. SymExp    (*GetFunction ())();
  400.  
  401. _Boolean IsFunction (SymExp);
  402. _Boolean IsPoint (SymExp);
  403.  
  404. //┌──────────────────────────────────────────────────────────────────────────┐
  405. //│ Copy copies one SymExp (as strdup copies string).                        │
  406. //└──────────────────────────────────────────────────────────────────────────┘
  407. SymExp SymCopy (SymExp);
  408.  
  409. //┌──────────────────────────────────────────────────────────────────────────┐
  410. //│ Procedures to make, delete etc. symbols (Symbol table access)            │
  411. //└──────────────────────────────────────────────────────────────────────────┘
  412. SymExp  GetLocal (HashTable *, int);
  413. SymExp  GetSymbol (HashTable *, StrExp);
  414. int     InsGlobal (HashTable *, StrExp, SymExp);
  415. void    PutLocal (HashTable *, int, SymExp);
  416. void    PutSymbol (HashTable *, StrExp, SymExp);
  417. int     InsLocal (HashTable *, StrExp, SymExp);
  418. void    DelLocal (HashTable *, int);
  419. int     HIndex (HashTable *, StrExp);
  420. void    InsTmpLocal (HashTable *, int);
  421.  
  422. //┌──────────────────────────────────────────────────────────────────────────┐
  423. //│ Procedure to convert result buffer to SymExp                             │
  424. //└──────────────────────────────────────────────────────────────────────────┘
  425. SymExp rb2Sym (struct resbuf **);
  426.  
  427. //┌──────────────────────────────────────────────────────────────────────────┐
  428. //│ Procedure to return SymExp to AutoLISP                                   │
  429. //└──────────────────────────────────────────────────────────────────────────┘
  430. int returnADS (SymExp);
  431.  
  432. //┌──────────────────────────────────────────────────────────────────────────┐
  433. //│ Process control                                                          │
  434. //└──────────────────────────────────────────────────────────────────────────┘
  435. void KillMem (HashTable *, long);
  436. void Lisp2C_Exit ();
  437. void Lisp2C_Init (int, char *[], long, int);
  438.  
  439. //┌──────────────────────────────────────────────────────────────────────────┐
  440. //│ Memory allocation control                                                │
  441. //└──────────────────────────────────────────────────────────────────────────┘
  442. void InsertStack (SymExp S[], int);
  443. void RemoveStack ();
  444. void PopObjList (void);
  445. void PushObjList (void);
  446.  
  447. //┌──────────────────────────────────────────────────────────────────────────┐
  448. //│ Other procedures                                                         │
  449. //└──────────────────────────────────────────────────────────────────────────┘
  450. void PrintTable (HashTable *);
  451. void check_resbuf (struct resbuf **);
  452. SymExp EvalLambda (SymExp, SymExp, _Boolean);
  453.  
  454. //┌──────────────────────────────────────────────────────────────────────────┐
  455. //│ Error message handler                                                    │
  456. //└──────────────────────────────────────────────────────────────────────────┘
  457. void WriteError (int, StrExp);
  458.  
  459. //┌──────────────────────────────────────────────────────────────────────────┐
  460. //│ Debugger support                                                         │
  461. //└──────────────────────────────────────────────────────────────────────────┘
  462. void BREAKPT (int, int, int, long);
  463. void debugENTER (StrExp);
  464. void debugEXIT ();
  465. void debugRESULT (SymExp);
  466. //┌──────────────────────────────────────────────────────────────────────────┐
  467. //│ Error messages                                                           │
  468. //└──────────────────────────────────────────────────────────────────────────┘
  469. #define errRejected                    0
  470. #define errBadArgType                  1
  471. #define errBadAssocList                2
  472. #define errBadConversion               3
  473. #define errBadComment                  4
  474. #define errBadDotPair                  5
  475. #define errBadENTMODlist               6
  476. #define errBadENTMODval                7
  477. #define errBadFormalList               8
  478. #define errBadFunction                 9
  479. #define errBadFunctionCode            10
  480. #define errBadGrvecsList              11
  481. #define errBadGrvecsMatrix            12
  482. #define errBadList                    13
  483. #define errBadListOfPoints            14
  484. #define errBadMemory                  15
  485. #define errBadNode                    16
  486. #define errBadNodeType                17
  487. #define errBadPointArgument           18
  488. #define errBadPointValue              19
  489. #define errBadReal                    20
  490. #define errBadSsgetList               21
  491. #define errBadSsgetValue              22
  492. #define errBadSsgetMode               23
  493. #define errBadXdata                   24
  494. #define errBasePoint                  25
  495. #define errBoole                      26
  496. #define errCantEvaluate               27
  497. #define errCantOpen                   28
  498. #define errConsole                    29
  499. #define errDivideZero                 30
  500. #define errDivideOverflow             31
  501. #define errExceedStr                  32
  502. #define errExtraRight                 33
  503. #define errFileNotOPen                34
  504. #define errFileRead                   35
  505. #define errFileSize                   36
  506. #define errFloatingPt                 37
  507. #define errFunctionCancel             38
  508. #define errFunctionUndef4Arg          39
  509. #define errFunctionUndefReal          40
  510. #define errGrvecsEndpt                41
  511. #define errHashFull                   42
  512. #define errImproperArg                43
  513. #define errIncorrArgs                 44
  514. #define errIncorrComand               45
  515. #define errInputAbort                 46
  516. #define errInvalidArg                 47
  517. #define errInvalidArgList             48
  518. #define errInvalidChar                49
  519. #define errInvalidDotted              50
  520. #define errInvalidInteger             51
  521. #define errNilFunction                52
  522. #define errNoMemory                   53
  523. #define errQuitExit                   54
  524. #define errTooManyArgs                55
  525. #define errUserBreak                  56
  526. #define errXload                      57
  527. #define errXunload                    58
  528.  
  529. #define warnBadValue       "Cannot access symbol."
  530. //╒══════════════════════════════════════════════════════════════════════════╕
  531. //│░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  532. //│░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░│
  533. //│░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒░░│
  534. //│░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░│
  535. //│░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░│
  536. //╘══════════════════════════════════════════════════════════════════════════╛
  537.