⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makeinfo.h

📁 gcc-2.95.3 Linux下最常用的C编译器
💻 H
字号:
/* makeinfo.h -- Declarations for Makeinfo.   $Id: makeinfo.h,v 1.1.1.2 1998/03/22 20:43:08 law Exp $   Copyright (C) 1996, 97 Free Software Foundation, Inc.   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2, or (at your option)   any later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.   Written by Brian Fox (bfox@ai.mit.edu). *//* Why, oh why, did I ever listen to rms when he said:   "Don't make lots of small files, just make one big one!"  I've   regretted it ever since with this program, and with readline.   bfox@ai.mit.edu Thu Jul 11 07:54:32 1996 */#if !defined (MAKEINFO_H)#define MAKEINFO_H#if defined (COMPILING_MAKEINFO)#  define DECLARE(type, var, init) type var = init#else#  define DECLARE(type, var, init)  extern type var#endifenum insertion_type{  cartouche, defcv, deffn, defivar, defmac, defmethod,  defop, defopt, defspec, deftp, deftypefn, deftypefun,  deftypemethod, deftypevar, deftypevr, defun, defvar,  defvr, detailmenu, direntry, display, enumerate, example,  flushleft, flushright, format, ftable, group, ifclear,  ifinfo, ifnothtml, ifnottex, ifset, itemize, lisp, menu,  multitable, quotation, smallexample, smalllisp, table, vtable,  bad_type};DECLARE (int, insertion_level, 0);#if defined (COMPILING_MAKEINFO)char *insertion_type_names[] ={  "cartouche", "defcv", "deffn", "defivar", "defmac", "defmethod",  "defop", "defopt", "defspec", "deftp", "deftypefn", "deftypefun",  "deftypemethod", "deftypevar", "deftypevr", "defun", "defvar",  "defvr", "detailmenu", "direntry", "display", "enumerate", "example",  "flushleft", "flushright", "format", "ftable", "group", "ifclear",  "ifinfo", "ifnothtml", "ifnottex", "ifset", "itemize", "lisp", "menu",  "multitable", "quotation", "smallexample", "smalllisp", "table", "vtable",  "bad_type"};#endiftypedef struct istack_elt{  struct istack_elt *next;  char *item_function;  char *filename;  int line_number;  int filling_enabled;  int indented_fill;  enum insertion_type insertion;  int inhibited;  int in_fixed_width_font;} INSERTION_ELT;DECLARE (INSERTION_ELT *, insertion_stack, (INSERTION_ELT *)NULL);/* Current output stream. */DECLARE (FILE *, output_stream, (FILE *)NULL);/* Output paragraph buffer. */DECLARE (unsigned char *, output_paragraph, (unsigned char *)NULL);/* Offset into OUTPUT_PARAGRAPH. */DECLARE (int, output_paragraph_offset, 0);/* The output paragraph "cursor" horizontal position. */DECLARE (int, output_column, 0);/* Non-zero means output_paragraph contains text. */DECLARE (int, paragraph_is_open, 0);/* The amount of indentation to apply at the start of each line. */DECLARE (int, current_indent, 0);/* nonzero if we are currently processing a multitable command */DECLARE (int, multitable_active, 0);/* The column at which long lines are broken. */DECLARE (int, fill_column, 72);/* The current input file state. */DECLARE (char *, input_filename, (char *)NULL);DECLARE (char *, input_text, (char *)NULL);DECLARE (int, size_of_input_text, 0);DECLARE (int, input_text_offset, 0);DECLARE (int, line_number, 0);#define curchar() input_text[input_text_offset]/* **************************************************************** *//*                                                                  *//*                            Global Defines                        *//*                                                                  *//* **************************************************************** *//* Error levels */#define NO_ERROR 0#define SYNTAX   2#define FATAL    4/* C's standard macros don't check to make sure that the characters being   changed are within range.  So I have to check explicitly. *//* GNU Library doesn't have toupper().  Until GNU gets this fixed, I will   have to do it. */#ifndef toupper#define toupper(c) ((c) - 32)#endif#define coerce_to_upper(c) ((islower(c) ? toupper(c) : (c)))#define coerce_to_lower(c) ((isupper(c) ? tolower(c) : (c)))#define control_character_bit 0x40 /* %01000000, must be off. */#define meta_character_bit 0x080/* %10000000, must be on.  */#define CTL(c) ((c) & (~control_character_bit))#define UNCTL(c) coerce_to_upper(((c)|control_character_bit))#define META(c) ((c) | (meta_character_bit))#define UNMETA(c) ((c) & (~meta_character_bit))#define whitespace(c) (((c) == '\t') || ((c) == ' '))#define sentence_ender(c) ((c) == '.' || (c) == '?' || (c) == '!')#define cr_or_whitespace(c) (((c) == '\t') || ((c) == ' ') || ((c) == '\n'))#ifndef isletter#define isletter(c) (((c) >= 'A' && (c) <= 'Z') || ((c) >= 'a' && (c) <= 'z'))#endif#ifndef isupper#define isupper(c) ((c) >= 'A' && (c) <= 'Z')#endif#ifndef isdigit#define isdigit(c)  ((c) >= '0' && (c) <= '9')#endif#ifndef digit_value#define digit_value(c) ((c) - '0')#endif#define member(c, s) (strchr (s, c) != NULL)#define COMMAND_PREFIX '@'/* Stuff for splitting large files. */#define SPLIT_SIZE_THRESHOLD 70000  /* What's good enough for Stallman... */#define DEFAULT_SPLIT_SIZE 50000    /* Is probably good enough for me. */DECLARE (int, splitting, 1);    /* Defaults to true for now. */typedef void COMMAND_FUNCTION (); /* So I can say COMMAND_FUNCTION *foo; */#define command_char(c) ((!whitespace(c)) && \                         ((c) != '\n') && \                         ((c) != '{') && \                         ((c) != '}') && \                         ((c) != '='))#define skip_whitespace() \     while ((input_text_offset != size_of_input_text) && \             whitespace (curchar())) \       input_text_offset++#define skip_whitespace_and_newlines() \  do { \   while ((input_text_offset != size_of_input_text) && \          (whitespace (curchar ()) || (curchar () == '\n'))) \      { \         if (curchar () == '\n') \           line_number++; \         input_text_offset++; \      } \   } while (0)#endif /* !MAKEINFO_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -