c1.h 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /*#define xxx printf("lin=%d file=%s\n",__LINE__,__FILE__);*/
  2. #define xxx ;
  3. int g_argc;
  4. Char ** g_argv;
  5. typedef union v {
  6. a sa; /* s -adres */
  7. longint nu;
  8. boolean bo;
  9. a at; /* a -adres */
  10. } v;
  11. boolean debugrule; /* to be used in future */
  12. Char filebuf[2048];
  13. /************ definitions in c1 ***************/
  14. extern Void er PP((long n));
  15. /* kod o{ibki */
  16. extern Void errstr PP((long n, Char *s));
  17. extern Void crlist PP((long *l));
  18. /* p2c: c1.z, line 471:
  19. * Note: Turbo Pascal conditional compilation directive was ignored [218] */
  20. /* sozdatx pustoj spisok */
  21. /*$ifdef xx*/
  22. /*extern Void d PP((long r, long s));*/
  23. extern Void d PP((long status_r ,char * rulename,long rulenum,long param,boolean success));
  24. extern Void d1 PP((long r));
  25. /*$endif*/
  26. extern Void addel PP((long sel, boolean not_atomic, long xsel, long ob, long *tr_));
  27. extern long numval PP((long ob));
  28. /* nomer wstr.prawila */
  29. extern Void bltin PP((v *rr, boolean *success, long arg, long n));
  30. /* a-adres */
  31. extern Void mkatom PP((long k, char atype, long *r));
  32. /*************** c2 *****************/
  33. extern Void concop PP((long *a1, long a2));
  34. extern Void indxop PP((long xx, boolean isobject, long xa, long l, long *rez));
  35. extern Void selop PP((long xn, boolean not_atomic, long xa, long tr_, long *rez));
  36. extern Void setind PP((long xx, boolean isobject, long xa, long l, long rez));
  37. extern Void setsel PP((long xn, boolean not_atomic, long xa, long tr_, long rez));
  38. extern Void addnum PP((long *a1, long a2));
  39. extern Void copyop PP((long ob, long *rez));
  40. /* ******************* c3 ******************* */
  41. #define max_digit 10
  42. extern Void epilog PV();
  43. extern Void prolog PV();
  44. /* a-adr.imeni fajla*/
  45. /* s-adr.wyw.obxekta*/
  46. /* s now.stroki*/
  47. /* s probelami*/
  48. extern Void outxt PP((long fname, long arg, boolean nl, boolean blanks));
  49. /* a-adr.imeni fajla*/
  50. /* wywodimyj atom*/
  51. /* s now.stroki*/
  52. /* s probelami*/
  53. extern Void outatm PP((long fname, Char *arg, boolean nl, boolean blanks));
  54. /* a-adres imeni fajla*/
  55. /* s-adr.*/
  56. extern Void opn PP((long fname, long fspec));
  57. /* 0-load,1 -save*/
  58. extern Void loasav PP((v *p, long f, long paz));
  59. extern Void explod PP((long kk, long *rez));
  60. extern Void implod PP((ptr_ *pl, long *rez));
  61. extern Void bltin1 PP((long *rez, boolean *success, ptr_ *pl, long n));
  62. /* a-adr.*/
  63. extern Void clsfil PP((long fname));
  64. /**************** c4 ******************* */
  65. /* cequ(=), cnequ(<>) */
  66. extern boolean eqop PP((long o, long a1, long a2));
  67. extern Void varpat PP((ptr_ *pl, char tip, long *rez, boolean *success));
  68. extern Void atmpat PP((long aconval, ptr_ *pl, long *rez, boolean *success));
  69. extern boolean eqnum PP((long m1, long n));
  70. extern boolean eqatom PP((long m1, long atm));
  71. /* kod operacii */
  72. extern boolean compare PP((long op, long a1, long a2));
  73. extern Void indxcon PP((xx, isobject, xa, l1, l2));
  74. extern Void indxaddtre PP((xx, isobject, xa, l1, l2));