2 * Copyright 1993, 1995 Christopher Seiwald.
4 * This file is part of Jam - see jam.c for Copyright information.
8 * scan.h - the jam yacc scanner
12 * yyerror( char *s ) - print a parsing error message.
13 * yyfparse( char *s ) - scan include file s.
14 * yylex() - parse the next token, returning its type.
15 * yymode() - adjust lexicon of scanner.
16 * yyparse() - declaration for yacc parser.
17 * yyanyerrors() - indicate if any parsing errors occured.
19 * The yymode() function is for the parser to adjust the lexicon of the scanner.
20 * Aside from normal keyword scanning, there is a mode to handle action strings
21 * (look only for the closing }) and a mode to ignore most keywords when looking
22 * for a punctuation keyword. This allows non-punctuation keywords to be used in
23 * lists without quoting.
27 * YYSTYPE - value of a lexical token
30 #define YYSTYPE YYSYMBOL
32 typedef struct _YYSTYPE
43 extern YYSTYPE yylval;
46 void yyerror( char * s );
48 void yyfparse( char * s );
52 void yyinput_stream( char * * name, int * line );
54 # define SCAN_NORMAL 0 /* normal parsing */
55 # define SCAN_STRING 1 /* look only for matching } */
56 # define SCAN_PUNCT 2 /* only punctuation keywords */