home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / standards / sgml / nist / incs / diglobal.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-09-13  |  7.6 KB  |  191 lines

  1. /* National Institute of Standards and Technology (NIST)
  2. /* National Computer System Laboratory (NCSL)
  3. /* Office Systems Engineering (OSE) Group
  4. /* ********************************************************************
  5. /*                            D I S C L A I M E R
  6. /*                              (March 8, 1989)
  7. /*  
  8. /* There is no warranty for the NIST NCSL OSE SGML parser and/or the NIST
  9. /* NCSL OSE SGML parser validation suite.  If the SGML parser and/or
  10. /* validation suite is modified by someone else and passed on, NIST wants
  11. /* the parser's recipients to know that what they have is not what NIST
  12. /* distributed, so that any problems introduced by others will not
  13. /* reflect on our reputation.
  14. /* 
  15. /* Policies
  16. /* 
  17. /* 1. Anyone may copy and distribute verbatim copies of the SGML source
  18. /* code as received in any medium.
  19. /* 
  20. /* 2. Anyone may modify your copy or copies of SGML parser source code or
  21. /* any portion of it, and copy and distribute such modifications provided
  22. /* that all modifications are clearly associated with the entity that
  23. /* performs the modifications.
  24. /* 
  25. /* NO WARRANTY
  26. /* ===========
  27. /* 
  28. /* NIST PROVIDES ABSOLUTELY NO WARRANTY.  THE SGML PARSER AND VALIDATION
  29. /* SUITE ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
  30. /* EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  31. /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  32. /* THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
  33. /* WITH YOU.  SHOULD THE SGML PARSER OR VALIDATION SUITE PROVE DEFECTIVE,
  34. /* YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  35. /* 
  36. /* IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW WILL NIST BE LIABLE FOR
  37. /* DAMAGES, INCLUDING ANY LOST PROFITS, LOST MONIES, OR OTHER SPECIAL,
  38. /* INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  39. /* INABILITY TO USE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA
  40. /* BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY THIRD PARTIES OR A
  41. /* FAILURE OF THE PROGRAM TO OPERATE WITH PROGRAMS NOT DISTRIBUTED BY
  42. /* NIST) THE PROGRAM, EVEN IF YOU HAVE BEEN ADVISED OF THE POSSIBILITY OF
  43. /* SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.
  44. */
  45.  
  46. /************************************************************************/
  47. /*   TITLE:          SGML Parser                                        */
  48. /*   SYSTEM:         Document Processor                                 */
  49. /*   SUBSYSTEM:                                                         */
  50. /*   SOURCE FILE:    DIGLOBAL.H                                         */
  51. /*   AUTHOR:         Steve Lindeman, Fred Maples                        */
  52. /*                                                                      */
  53. /*   DATE CREATED:                                                      */
  54. /*   LAST MODIFIED:                                                     */
  55. /*                                                                      */
  56. /*                  REVISIONS                                           */
  57. /*   WHEN      WHO            WHY                                       */
  58. /************************************************************************/
  59. /*global*/  int main();
  60. /*global*/  enum status dooperator();
  61. /*global*/  enum status dooperand();
  62. /*global*/  enum status doterminal();
  63. /*global*/  enum status exe_new_conmod();
  64. /*global*/  enum status exe_and();
  65. /*global*/  enum status exe_or();
  66. /*global*/  enum status exe_seq();
  67. /*global*/  enum tknretval gettoken();
  68. /*global*/  enum tknretval get_starttag();
  69. /*global*/  int get_attrvalue();
  70. /*global*/  void resolve_endtag();
  71. /*global*/  struct stentry *perform_roottag_mini();
  72. /*global*/  void resolve_starttag();
  73. /*global*/  void solveand();
  74. /*global*/  enum status traverse();
  75. /*global*/  struct attrdesc *buildattr();
  76. /*global*/  struct exceptdesc *build_except();
  77. /*global*/  struct entitydesc *build_entity();
  78. /*global*/  struct groupdesc *buildgroup();
  79. /*global*/  int build_table();
  80. /*global*/  struct tnode *buildtree();
  81. /*global*/  int resolve_attr();
  82. /*global*/  void output_with_lb();
  83. /*global*/  struct tnode *expand_any();
  84. /*global*/  void fillup();
  85. /*global*/  void fillup2();
  86. /*global*/  int getdelim();
  87. /*global*/  enum status getcdata();
  88. /*global*/  enum status getpcdata();
  89. /*global*/  enum status check_for_mdo();
  90. /*global*/  enum status getrcdata();
  91. /*global*/  void get_marked_section();
  92. /*global*/  int get_name();
  93. /*global*/  int get_entname();
  94. /*global*/  int get_nutoken();
  95. /*global*/  int get_nmtoken();
  96. /*global*/  int get_number();
  97. /*global*/  void get_pi();
  98. /*global*/  int get_status_keyword();
  99. /*global*/  void init();
  100. /*global*/  void cat_exit();
  101. /*global*/  void check_entity();
  102. /*global*/  void checkopt();
  103. /*global*/  void check_fixed();
  104. /*global*/  struct tnode *createcm();
  105. /*global*/  void change_trees();
  106. /*global*/  void change_excepts();
  107. /*global*/  struct id_idref_desc *cross_id_idref();
  108. /*global*/  void delete();
  109. /*global*/  struct attrdesc *find_attr();
  110. /*global*/  struct groupdesc *find_group();
  111. /*global*/  int find_id();
  112. /*global*/  struct entitydesc *find_entity();
  113. /*global*/  int find_except();
  114. /*global*/  enum status get_cdata_ms();
  115. /*global*/  void get_close();
  116. /*global*/  int gettilnosep();
  117. /*global*/  void insert();
  118. /*global*/  struct exceptdesc *last_sublist();
  119. /*global*/  struct exceptdesc *last_global();
  120. /*global*/  struct stentry *lookstack();
  121. /*global*/  void mycat();
  122. /*global*/  int nullfnc();
  123. /*global*/  int our_fgetc();
  124. /*global*/  void our_ungetc();
  125. /*global*/  int our_toupper();
  126. /*global*/  int process_attr();
  127. /*global*/  void try_entref();
  128. /*global*/  struct attrdesc *adalloc();
  129. /*global*/  struct out_queue *oqalloc();
  130. /*global*/  void change_right();
  131. /*global*/  void check_cr();
  132. /*global*/  int compare();
  133. /*global*/  void decroi();
  134. /*global*/  void delete_files();
  135. /*global*/  struct exceptdesc *exalloc();
  136. /*global*/  void flush_buf();
  137. /*global*/  struct entitydesc *gealloc();
  138. /*global*/  char *get_char_mem();
  139. /*global*/  void get_ms_closes();
  140. /*global*/  struct groupdesc *gralloc();
  141. /*global*/  struct id_idref_desc *id_idref_alloc();
  142. /*global*/  void incroi();
  143. /*global*/  int inputps();
  144. /*global*/  void inpcomment();
  145. /*global*/  struct input_stack *isalloc();
  146. /*global*/  struct stentry *linsrch();
  147. /*global*/  void ourexit();
  148. /*global*/  void place_in_queue();
  149. /*global*/  void empty_queue();
  150. /*global*/  void clear_queue();
  151. /*global*/  void push();
  152. /*global*/  struct stentry *pop();
  153. /*global*/  struct stentry *popfree();
  154. /*global*/  struct tnode *pushcreate();
  155. /*global*/  void putchar_outbuf();
  156. /*global*/  void putstr_outbuf();
  157. /*global*/  void reduceoi();
  158. /*global*/  void restoreoi();
  159. /*global*/  int req_not_proc();
  160. /*global*/  void reslvpref();
  161. /*global*/  int save_crs();
  162. /*global*/  void software_fault();
  163. /*global*/  struct tnode *talloc();
  164. /*global*/  enum occurind testoi();
  165. /*global*/  void unget_entity();
  166. /*global*/  void unget_string();
  167. /*global*/  void ungettoken();
  168. /*global*/  void unprocess();
  169. /*global*/  void semantics();
  170.  
  171. extern STENTRY *stack[TAGLVL],*holdtp,*symtable;
  172. extern int sp,holdtoken,rootid,numsym;
  173. extern unsigned num_open_ms;
  174. extern READ_STATE state;
  175. extern int bufptr;
  176. extern int (*print_ctr)(),(*put_ctr)(),(*our_fprintf)(),(*our_fputc)();
  177. extern void (*applic)();
  178. extern int entitylevel,fpindx;
  179. extern ID_IDREF_DESC *idhead,*idrefhead;
  180. extern OUT_QUEUE *head;
  181. extern char outbuf[TAGLEN+201];
  182. extern EXCEPTDESC *currexcl,*currincl;
  183. extern INPUT_STACK *stptr;
  184. extern BOOLEAN open_cdata_ms,open_rcdata_ms,dontcare;
  185. extern FILE *indoc;  /* file ptr of input & output document */
  186. extern FILE *fpstack[ENTLVL],*ctrfp;
  187. extern STENTRY *entstack[ENTLVL];
  188. extern char *ctrfile;
  189. extern char lastread_tag[NAMELEN+3];
  190. extern char error_msg[ERRMSGLEN];
  191.