Added 'file ?' and shell escape, and some re-organization

This commit is contained in:
ceriel
1990-10-29 11:38:35 +00:00
parent 32f21c2bfa
commit 9da96274ae
22 changed files with 1911 additions and 648 deletions

View File

@@ -1,26 +1,11 @@
/*
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
* See the copyright notice in the ACK home directory, in the file "Copyright".
*
* Author: Ceriel J.H. Jacobs
*/
/* U S E O F C H A R A C T E R C L A S S E S */
/* $Header$ */
/* As a starter, chars are divided into classes, according to which
token they can be the start of.
At present such a class number is supposed to fit in 4 bits.
*/
#define class(ch) (tkclass[ch])
/* Being the start of a token is, fortunately, a mutual exclusive
property, so, as there are less than 16 classes they can be
packed in 4 bits.
*/
#define STSKIP 0 /* spaces and so on: skipped characters */
#define STNL 1 /* newline character(s): update linenumber etc. */
#define STGARB 2 /* garbage ascii character: not allowed */
@@ -33,8 +18,9 @@
#define STEOI 9 /* End-Of-Information mark */
#define STSIMP 10 /* this character can occur as token */
/* But occurring inside a token is not, so we need 1 bit for each
class. This is implemented as a collection of tables to speed up
/* But occurring inside a token is not an exclusive property,
so we need 1 bit for each class.
This is implemented as a collection of tables to speed up
the decision whether a character has a special meaning.
*/
#define in_idf(ch) ((unsigned)ch < 0177 && inidf[ch])