2007-05-02 01:07:00 +00:00
|
|
|
/*
|
2012-08-16 03:47:55 +00:00
|
|
|
* $Id$
|
2007-05-02 01:07:00 +00:00
|
|
|
*
|
2013-12-31 10:24:12 +00:00
|
|
|
Copyright 2006-2014 Chung, Hyung-Hwan.
|
2009-09-16 04:01:02 +00:00
|
|
|
This file is part of QSE.
|
2008-12-30 04:49:25 +00:00
|
|
|
|
2009-09-16 04:01:02 +00:00
|
|
|
QSE is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU Lesser General Public License as
|
|
|
|
published by the Free Software Foundation, either version 3 of
|
|
|
|
the License, or (at your option) any later version.
|
2008-12-30 04:49:25 +00:00
|
|
|
|
2009-09-16 04:01:02 +00:00
|
|
|
QSE 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 Lesser General Public License for more details.
|
2008-12-30 04:49:25 +00:00
|
|
|
|
2009-09-16 04:01:02 +00:00
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
|
|
License along with QSE. If not, see <http://www.gnu.org/licenses/>.
|
2007-05-02 01:07:00 +00:00
|
|
|
*/
|
|
|
|
|
2008-12-21 21:35:07 +00:00
|
|
|
#ifndef _QSE_LIB_AWK_PARSE_H_
|
|
|
|
#define _QSE_LIB_AWK_PARSE_H_
|
2008-09-05 04:58:08 +00:00
|
|
|
|
|
|
|
/* these enums should match kwtab in parse.c */
|
2011-05-24 10:52:37 +00:00
|
|
|
enum qse_awk_kwid_t
|
2008-09-05 04:58:08 +00:00
|
|
|
{
|
2012-11-20 14:44:43 +00:00
|
|
|
QSE_AWK_KWID_XABORT,
|
|
|
|
QSE_AWK_KWID_XGLOBAL,
|
|
|
|
QSE_AWK_KWID_XINCLUDE,
|
|
|
|
QSE_AWK_KWID_XLOCAL,
|
|
|
|
QSE_AWK_KWID_XRESET,
|
2011-05-24 10:52:37 +00:00
|
|
|
QSE_AWK_KWID_BEGIN,
|
|
|
|
QSE_AWK_KWID_END,
|
|
|
|
QSE_AWK_KWID_BREAK,
|
|
|
|
QSE_AWK_KWID_CONTINUE,
|
|
|
|
QSE_AWK_KWID_DELETE,
|
|
|
|
QSE_AWK_KWID_DO,
|
|
|
|
QSE_AWK_KWID_ELSE,
|
|
|
|
QSE_AWK_KWID_EXIT,
|
|
|
|
QSE_AWK_KWID_FOR,
|
|
|
|
QSE_AWK_KWID_FUNCTION,
|
|
|
|
QSE_AWK_KWID_GETLINE,
|
|
|
|
QSE_AWK_KWID_IF,
|
|
|
|
QSE_AWK_KWID_IN,
|
|
|
|
QSE_AWK_KWID_NEXT,
|
|
|
|
QSE_AWK_KWID_NEXTFILE,
|
|
|
|
QSE_AWK_KWID_NEXTOFILE,
|
|
|
|
QSE_AWK_KWID_PRINT,
|
|
|
|
QSE_AWK_KWID_PRINTF,
|
|
|
|
QSE_AWK_KWID_RETURN,
|
|
|
|
QSE_AWK_KWID_WHILE
|
2008-09-05 04:58:08 +00:00
|
|
|
};
|
2007-05-02 01:07:00 +00:00
|
|
|
|
2011-05-24 10:52:37 +00:00
|
|
|
typedef enum qse_awk_kwid_t qse_awk_kwid_t;
|
|
|
|
|
2007-05-02 01:07:00 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2011-05-24 10:52:37 +00:00
|
|
|
int qse_awk_putsrcstr (
|
|
|
|
qse_awk_t* awk,
|
|
|
|
const qse_char_t* str
|
|
|
|
);
|
|
|
|
|
2011-12-13 15:48:00 +00:00
|
|
|
int qse_awk_putsrcstrn (
|
2011-05-24 10:52:37 +00:00
|
|
|
qse_awk_t* awk,
|
|
|
|
const qse_char_t* str,
|
|
|
|
qse_size_t len
|
|
|
|
);
|
2007-05-02 01:07:00 +00:00
|
|
|
|
2009-02-03 03:54:32 +00:00
|
|
|
const qse_char_t* qse_awk_getgblname (
|
2011-05-24 10:52:37 +00:00
|
|
|
qse_awk_t* awk,
|
|
|
|
qse_size_t idx,
|
|
|
|
qse_size_t* len
|
|
|
|
);
|
|
|
|
|
|
|
|
void qse_awk_getkwname (
|
|
|
|
qse_awk_t* awk,
|
|
|
|
qse_awk_kwid_t id,
|
2014-07-02 12:28:58 +00:00
|
|
|
qse_xstr_t* s
|
2011-05-24 10:52:37 +00:00
|
|
|
);
|
2008-09-05 04:58:08 +00:00
|
|
|
|
2011-05-24 10:52:37 +00:00
|
|
|
int qse_awk_initgbls (
|
|
|
|
qse_awk_t* awk
|
|
|
|
);
|
2007-09-25 00:12:00 +00:00
|
|
|
|
2013-05-15 12:05:24 +00:00
|
|
|
void qse_awk_clearsionames (
|
|
|
|
qse_awk_t* awk
|
|
|
|
);
|
|
|
|
|
2007-05-02 01:07:00 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif
|