Main Page | Class List | Directories | File List | Class Members | File Members

lex.h

Go to the documentation of this file.
00001 /*
00002 || This file is part of Pike. For copyright information see COPYRIGHT.
00003 || Pike is distributed under GPL, LGPL and MPL. See the file COPYING
00004 || for more information.
00005 || $Id: lex.h,v 1.35 2004/11/01 01:33:30 mast Exp $
00006 */
00007 
00008 #ifndef LEX_H
00009 #define LEX_H
00010 
00011 #include "program.h"
00012 
00013 #if !defined(INCLUDED_FROM_LANGUAGE_YACC) && !defined(TOK_ARROW)
00014 /* language.c duplicates the definitions in language.h.
00015  * language.h is usually not protected against multiple inclusion.
00016  */
00017 #include "language.h"
00018 #endif
00019 
00020 #define NEW_LEX
00021 
00022 struct lex
00023 {
00024   char *pos;
00025   char *end;
00026   INT32 current_line;
00027   INT32 pragmas;
00028   struct pike_string *current_file;
00029   int (*current_lexer)(YYSTYPE *);
00030 };
00031 
00032 extern struct lex lex;
00033 
00034 /* Prototypes begin here */
00035 
00036 int parse_esc_seq0 (p_wchar0 *buf, int *chr, ptrdiff_t *len);
00037 int parse_esc_seq1 (p_wchar1 *buf, int *chr, ptrdiff_t *len);
00038 int parse_esc_seq2 (p_wchar2 *buf, int *chr, ptrdiff_t *len);
00039 
00040 int yylex0(YYSTYPE *);
00041 int yylex1(YYSTYPE *);
00042 int yylex2(YYSTYPE *);
00043 
00044 /* Prototypes end here */
00045 
00046 #endif  /* !LEX_H */

Generated on Fri Jul 22 23:44:26 2005 for Pike by  doxygen 1.3.9.1