diff options
| author | Devtools Arcadia <[email protected]> | 2022-02-07 18:08:42 +0300 | 
|---|---|---|
| committer | Devtools Arcadia <[email protected]> | 2022-02-07 18:08:42 +0300 | 
| commit | 1110808a9d39d4b808aef724c861a2e1a38d2a69 (patch) | |
| tree | e26c9fed0de5d9873cce7e00bc214573dc2195b7 /contrib/tools/ragel6/pcheck.h | |
intermediate changes
ref:cde9a383711a11544ce7e107a78147fb96cc4029
Diffstat (limited to 'contrib/tools/ragel6/pcheck.h')
| -rw-r--r-- | contrib/tools/ragel6/pcheck.h | 48 | 
1 files changed, 48 insertions, 0 deletions
diff --git a/contrib/tools/ragel6/pcheck.h b/contrib/tools/ragel6/pcheck.h new file mode 100644 index 00000000000..0e388f8ab44 --- /dev/null +++ b/contrib/tools/ragel6/pcheck.h @@ -0,0 +1,48 @@ +/* + *  Copyright 2001, 2002 Adrian Thurston <[email protected]> + */ + +/*  This file is part of Ragel. + * + *  Ragel is free software; you can redistribute it and/or modify + *  it under the terms of the GNU General Public License as published by + *  the Free Software Foundation; either version 2 of the License, or + *  (at your option) any later version. + *  + *  Ragel is distributed in the hope that it will be useful, + *  but WITHOUT ANY WARRANTY; without even the implied warranty of + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the + *  GNU General Public License for more details. + *  + *  You should have received a copy of the GNU General Public License + *  along with Ragel; if not, write to the Free Software + *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  + */ + +#ifndef _PCHECK_H +#define _PCHECK_H + +class ParamCheck +{ +public: +	ParamCheck( const char *paramSpec, int argc, const char **argv); + +	bool check(); + +	const char *paramArg;     /* The argument to the parameter. */ +	char parameter;     /* The parameter matched. */ +	enum { match, invalid, noparam } state; + +	const char *argOffset;    /* If we are reading params inside an +	                     * arg this points to the offset. */ + +	const char *curArg;       /* Pointer to the current arg. */ +	int iCurArg;        /* Index to the current arg. */ + +private: +	const char *paramSpec;    /* Parameter spec supplied by the coder. */ +	int argc;           /* Arguement data from the command line. */ +	const char **argv; +}; + +#endif  | 
