|
Aegis
4.25.D505
|
00001 // 00002 // aegis - project change supervisor 00003 // Copyright (C) 1997, 2002, 2003, 2005, 2006, 2008, 2012 Peter Miller 00004 // 00005 // This program is free software; you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License as published by 00007 // the Free Software Foundation; either version 3 of the License, or (at 00008 // your option) any later version. 00009 // 00010 // This program is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 // General Public License for more details. 00014 // 00015 // You should have received a copy of the GNU General Public License 00016 // along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 // 00018 00019 #ifndef AEFIND_LEX_H 00020 #define AEFIND_LEX_H 00021 00022 #include <libaegis/arglex2.h> 00023 00024 enum 00025 { 00026 arglex_token_and = ARGLEX2_MAX, 00027 arglex_token_atime, 00028 arglex_token_bit_and, 00029 arglex_token_bit_or, 00030 arglex_token_bit_xor, 00031 arglex_token_comma, 00032 arglex_token_ctime, 00033 arglex_token_debug, 00034 arglex_token_delete, 00035 arglex_token_div, 00036 arglex_token_eq, 00037 arglex_token_execute, 00038 arglex_token_false, 00039 arglex_token_ge, 00040 arglex_token_gt, 00041 arglex_token_join, 00042 arglex_token_le, 00043 arglex_token_left_paren, 00044 arglex_token_lt, 00045 arglex_token_mod, 00046 arglex_token_mtime, 00047 arglex_token_mul, 00048 arglex_token_namekw, 00049 arglex_token_ne, 00050 arglex_token_newer, 00051 arglex_token_not, 00052 arglex_token_now, 00053 arglex_token_or, 00054 arglex_token_path, 00055 arglex_token_plus, 00056 arglex_token_print, 00057 arglex_token_resolve, 00058 arglex_token_resolve_not, 00059 arglex_token_right_paren, 00060 arglex_token_semicolon, 00061 arglex_token_shift_left, 00062 arglex_token_shift_right, 00063 arglex_token_size, 00064 arglex_token_stringize, 00065 arglex_token_this, 00066 arglex_token_this_resolved, 00067 arglex_token_this_unresolved, 00068 arglex_token_tilde, 00069 arglex_token_true, 00070 arglex_token_type, 00071 ARGLEX3_MAX 00072 }; 00073 00074 void cmdline_lex_open(int, char **); 00075 void cmdline_lex_close(void); 00076 int cmdline_lex(void); 00077 void cmdline_error(const char *); 00078 void usage(void); 00079 00080 struct sub_context_ty; // existence 00081 void cmdline_lex_error(struct sub_context_ty *, const char *); 00082 00083 #endif // AEFIND_LEX_H 00084 // vim: set ts=8 sw=4 et :
1.7.6.1