/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1984. */
/* $Header: /var/lib/cvsd/repos/CSRG/43BSDTahoe/new/B/src/bed/gram.h,v 1.1.1.1 2018/04/24 16:12:58 root Exp $ */

/*
 * B editor -- Grammar symbols.
 */

/*
 * Values used in "tabl.c" but also publicly.
 */

#define Rootsymbol	00
#define Suggestion	97
#define Optional	98
#define Hole    	99


/*
 * Ditto for "lexi.c".
 */

#define LEXICAL 100

/*
 * Routines defined in "gram.c".
 */

string *noderepr();
node gram();
node suggestion();
node variable();
string symname();

/*
 * Macros for oft-used funtion.
 */

#define Fwidth(str) ((str) ? fwidth(str) : 0)

#define Fw_zero(str) (!(str) || index("\b\t", (str)[0]))
#define Fw_positive(str) ((str) && (str)[0] >= ' ')
#define Fw_negative(str) ((str) && (str)[0] == '\n')
