This is scan.h in view mode; [Download] [Up]
/*
** Project: lj2ps
** File: scan.h
**
** Author: Christopher Lishka
** Organization: Wisconsin State Laboratory of Hygiene
** Data Processing Dept.
**
** Copyright (C) 1990 by Christopher Lishka.
**
** 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 1, 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., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/* Global constants
*/
#define MAX_BUFFER 1024 /* The maximum size of the token buffer */
/* Persistent scanner states */
#define SS_TEXT 1
#define SS_PARAM 2
/* Tokens returned */
#define TEXT_lp 201 /* Normal text tokens */
#define TEXT_rp 202
#define TEXT_bslash 203
#define TEXT_NEWLINE 204
#define TEXT_FORMFEED 205
#define TEXT_NULL 206
#define TEXT_CHAR 207
#define TEXT_TAB 208
#define TEXT_SH_IN 209
#define TEXT_SH_OUT 210
#define CMD_UNDEF 300 /* Command tokens */
#define CMD_E 301
#define CMD_Y 302
#define CMD_Z 303
#define CMD_9 304
#define CMD_eq 305
#define CMD_lp 306
#define CMD_rp 307
#define CMD_lp_s 308
#define CMD_rp_s 309
#define CMD_amp_a 310
#define CMD_amp_d 311
#define CMD_amp_f 312
#define CMD_amp_k 313
#define CMD_amp_l 314
#define CMD_amp_p 315
#define CMD_amp_s 316
#define CMD_star_b 317
#define CMD_star_c 318
#define CMD_star_p 319
#define CMD_star_r 320
#define CMD_star_t 321
#define PARAM_CONTINUE 401 /* Parameter tokens */
#define PARAM_END 402
#define PARAM_UNDEF 403
/* Position codes */
#define POS_ABSOLUTE 501
#define POS_REL_POSITIVE 502
#define POS_REL_NEGATIVE 503
/* Global structure and type definitions
*/
typedef struct { /* Input buffer */
int code; /* The token code */
int length; /* Number of characters put back */
char storage[MAX_BUFFER]; /* Storage for characters in the buffer */
} token;
/* Global variables
*/
extern int scan_state; /* Controls which scanner is being used */
extern char *text; /* Text read in for text tokens */
extern char *command; /* Command read in */
extern char variable[]; /* Command parameter */
extern char number[]; /* Command numeric argument */
extern int pos_code; /* Command numeric position code */
extern token curr_token; /* Where to hold the scanned token */
/* Global macro definitions
*/
/* Global functions
*/
extern int scan(); /* The entry into the scanners */
extern void scan_init(); /* Reset the input for the scanner */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.