qse/qse/lib/awk/parse.h
hyung-hwan 006dd8975f added 'abort' & QSE_AWK_ABORT to awk.
added a new sed command 'C' that resembles the cut utility
dropped the cut utility.
added qse_str_nrcat()/qse_mbs_nrcat()/qse_wcs_nrcat()
2012-08-19 14:20:05 +00:00

92 lines
1.9 KiB
C

/*
* $Id$
*
Copyright 2006-2012 Chung, Hyung-Hwan.
This file is part of QSE.
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.
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.
You should have received a copy of the GNU Lesser General Public
License along with QSE. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _QSE_LIB_AWK_PARSE_H_
#define _QSE_LIB_AWK_PARSE_H_
/* these enums should match kwtab in parse.c */
enum qse_awk_kwid_t
{
QSE_AWK_KWID_BEGIN,
QSE_AWK_KWID_END,
QSE_AWK_KWID_ABORT,
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_GLOBAL,
QSE_AWK_KWID_IF,
QSE_AWK_KWID_IN,
QSE_AWK_KWID_INCLUDE,
QSE_AWK_KWID_LOCAL,
QSE_AWK_KWID_NEXT,
QSE_AWK_KWID_NEXTFILE,
QSE_AWK_KWID_NEXTOFILE,
QSE_AWK_KWID_PRINT,
QSE_AWK_KWID_PRINTF,
QSE_AWK_KWID_RESET,
QSE_AWK_KWID_RETURN,
QSE_AWK_KWID_WHILE
};
typedef enum qse_awk_kwid_t qse_awk_kwid_t;
#ifdef __cplusplus
extern "C" {
#endif
int qse_awk_putsrcstr (
qse_awk_t* awk,
const qse_char_t* str
);
int qse_awk_putsrcstrn (
qse_awk_t* awk,
const qse_char_t* str,
qse_size_t len
);
const qse_char_t* qse_awk_getgblname (
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,
qse_cstr_t* s
);
int qse_awk_initgbls (
qse_awk_t* awk
);
#ifdef __cplusplus
}
#endif
#endif