changed robodoc configuration.
This commit is contained in:
parent
70b517578e
commit
770cff61c5
@ -12,4 +12,4 @@ Cross compiling for WIN32 with MINGW32
|
||||
|
||||
Generate the API documents with robodoc.
|
||||
|
||||
robodoc --rc doc/robodoc.rc --css doc/robodoc.css --src . --doc ./doc/qse --multidoc --index --html
|
||||
robodoc --rc doc/robodoc.rc --css doc/robodoc.css --src . --doc ./doc/qse
|
||||
|
@ -731,7 +731,6 @@ static struct
|
||||
{ QSE_T("rio"), TestAwk::OPT_RIO },
|
||||
{ QSE_T("rwpipe"), TestAwk::OPT_RWPIPE },
|
||||
{ QSE_T("newline"), TestAwk::OPT_NEWLINE },
|
||||
{ QSE_T("baseone"), TestAwk::OPT_BASEONE },
|
||||
{ QSE_T("stripspaces"), TestAwk::OPT_STRIPSPACES },
|
||||
{ QSE_T("nextofile"), TestAwk::OPT_NEXTOFILE },
|
||||
{ QSE_T("crlf"), TestAwk::OPT_CRLF },
|
||||
|
@ -53,6 +53,7 @@ struct argout_t
|
||||
void* isp; /* input source files or string */
|
||||
int ist; /* input source type */
|
||||
qse_size_t isfl; /* the number of input source files */
|
||||
int ost; /* output source type */
|
||||
qse_char_t* osf; /* output source file */
|
||||
qse_char_t** icf; /* input console files */
|
||||
qse_size_t icfl; /* the number of input console files */
|
||||
@ -487,14 +488,14 @@ static int handle_args (int argc, qse_char_t* argv[], struct argout_t* ao)
|
||||
}
|
||||
|
||||
/* the source code is the string, not from the file */
|
||||
ao->ist = QSE_AWK_SOURCE_STRING;
|
||||
ao->ist = QSE_AWK_PARSESIMPLE_STRING;
|
||||
ao->isp = argv[opt.ind++];
|
||||
|
||||
free (isf);
|
||||
}
|
||||
else
|
||||
{
|
||||
ao->ist = QSE_AWK_SOURCE_FILES;
|
||||
ao->ist = QSE_AWK_PARSESIMPLE_FILE;
|
||||
ao->isp = isf;
|
||||
}
|
||||
|
||||
@ -519,7 +520,9 @@ static int handle_args (int argc, qse_char_t* argv[], struct argout_t* ao)
|
||||
}
|
||||
icf[icfl] = QSE_NULL;
|
||||
|
||||
ao->ost = QSE_AWK_PARSESIMPLE_FILE;
|
||||
ao->osf = osf;
|
||||
|
||||
ao->icf = icf;
|
||||
ao->icfl = icfl;
|
||||
ao->vm = vm;
|
||||
@ -599,7 +602,6 @@ static int awk_main (int argc, qse_char_t* argv[])
|
||||
awk = open_awk ();
|
||||
if (awk == QSE_NULL) return -1;
|
||||
|
||||
|
||||
if (qse_awk_parsesimple (awk, ao.ist, ao.isp, ao.osf) == -1)
|
||||
{
|
||||
qse_printf (
|
||||
@ -618,7 +620,8 @@ static int awk_main (int argc, qse_char_t* argv[])
|
||||
rcb.on_exit = on_run_exit;
|
||||
rcb.data = &ao;
|
||||
|
||||
rtx = qse_awk_rtx_opensimple (awk, ao.icf, QSE_AWK_CONSOLE_STDIO);
|
||||
rtx = qse_awk_rtx_opensimple (
|
||||
awk, ao.icf, QSE_AWK_RTX_OPENSIMPLE_STDIO);
|
||||
if (rtx == QSE_NULL)
|
||||
{
|
||||
qse_printf (
|
||||
|
@ -1,38 +1,9 @@
|
||||
/****h* ROBODoc/ROBODoc Cascading Style Sheet
|
||||
* FUNCTION
|
||||
* This is the default cascading style sheet for documentation
|
||||
* generated with ROBODoc.
|
||||
* You can edit this file to your own liking and then use
|
||||
* it with the option
|
||||
* --css <filename>
|
||||
*
|
||||
* This style-sheet defines the following layout
|
||||
* +----------------------------------------+
|
||||
* | logo |
|
||||
* +----------------------------------------+
|
||||
* | extra |
|
||||
* +----------------------------------------+
|
||||
* | | navi- |
|
||||
* | | gation |
|
||||
* | content | |
|
||||
* | | |
|
||||
* +----------------------------------------+
|
||||
* | footer |
|
||||
* +----------------------------------------+
|
||||
*
|
||||
* This style-sheet is based on a style-sheet that was automatically
|
||||
* generated with the Strange Banana stylesheet generator.
|
||||
* See http://www.strangebanana.com/generator.aspx
|
||||
*
|
||||
******
|
||||
* $Id: html_generator.c,v 1.93 2008/03/13 10:34:50 thuffir Exp $
|
||||
*/
|
||||
|
||||
body
|
||||
{
|
||||
background-color: rgb(255,255,255);
|
||||
color: rgb(98,84,55);
|
||||
//font-family: Arial, serif;
|
||||
font-family: Arial, serif;
|
||||
border-color: rgb(226,199,143);
|
||||
}
|
||||
|
||||
@ -85,7 +56,8 @@ p.item_name
|
||||
{
|
||||
background-color: rgb(98,84,55);
|
||||
color: rgb(230,221,202);
|
||||
font-family: "Times New Roman", serif;
|
||||
//font-family: "Times New Roman", serif;
|
||||
font-family: Georgia, serif;
|
||||
font-style: normal;
|
||||
border-color: rgb(0,0,0);
|
||||
}
|
||||
|
@ -39,17 +39,30 @@ remark begin markers:
|
||||
remark end markers:
|
||||
*/
|
||||
ignore files:
|
||||
.svn
|
||||
autoconf
|
||||
autom4te.cache
|
||||
.*
|
||||
accept files:
|
||||
*.c
|
||||
*.h
|
||||
headertypes:
|
||||
o "Overview" robo_overview 10
|
||||
d "Definitions" robo_definitions 6
|
||||
t "Types" robo_types 5
|
||||
s "Structures" robo_structures 5
|
||||
f "Functions" robo_functions 4
|
||||
S "Samples" robo_samples 0
|
||||
o "Overview" robo_overview 10
|
||||
d "Definitions" robo_definitions 6
|
||||
t "Types" robo_types 5
|
||||
e "Enumerations" robo_enumerations 6
|
||||
s "Structures" robo_structures 5
|
||||
f "Functions" robo_functions 4
|
||||
S "Samples" robo_samples 0
|
||||
options:
|
||||
--cmode
|
||||
--nopre
|
||||
--documenttitle "QSE"
|
||||
--source_line_numbers
|
||||
--tabsize 4
|
||||
--sections
|
||||
--toc "no"
|
||||
--tell
|
||||
--nosort
|
||||
--index
|
||||
--multidoc
|
||||
--html
|
||||
|
@ -296,7 +296,11 @@ enum qse_awk_option_t
|
||||
QSE_AWK_NEWLINE | QSE_AWK_PABLOCK
|
||||
};
|
||||
|
||||
/* error code */
|
||||
/****e* AWK/qse_awk_errnum_t
|
||||
* NAME
|
||||
* qse_awk_errnum_t - define an error code
|
||||
* SYNOPSIS
|
||||
*/
|
||||
enum qse_awk_errnum_t
|
||||
{
|
||||
QSE_AWK_ENOERR, /* no error */
|
||||
@ -312,7 +316,7 @@ enum qse_awk_errnum_t
|
||||
QSE_AWK_EMFILE, /* too many open files */
|
||||
QSE_AWK_EMLINK, /* too many links */
|
||||
QSE_AWK_EAGAIN, /* resource temporarily unavailable */
|
||||
QSE_AWK_ENOENT, /* "'%.*s' not existing */
|
||||
QSE_AWK_ENOENT, /* '${1}' not existing */
|
||||
QSE_AWK_EEXIST, /* file or data exists */
|
||||
QSE_AWK_EFTBIG, /* file or data too big */
|
||||
QSE_AWK_ETBUSY, /* system too busy */
|
||||
@ -330,13 +334,13 @@ enum qse_awk_errnum_t
|
||||
QSE_AWK_EBLKNST, /* blocke nested too deeply */
|
||||
QSE_AWK_EEXPRNST, /* expression nested too deeply */
|
||||
|
||||
QSE_AWK_ESINOP,
|
||||
QSE_AWK_ESINCL,
|
||||
QSE_AWK_ESINRD,
|
||||
QSE_AWK_ESINOP, /* failed to open source input */
|
||||
QSE_AWK_ESINCL, /* failed to close source output */
|
||||
QSE_AWK_ESINRD, /* failed to read source input */
|
||||
|
||||
QSE_AWK_ESOUTOP,
|
||||
QSE_AWK_ESOUTCL,
|
||||
QSE_AWK_ESOUTWR,
|
||||
QSE_AWK_ESOUTOP, /* failed to open source output */
|
||||
QSE_AWK_ESOUTCL, /* failed to close source output */
|
||||
QSE_AWK_ESOUTWR, /* failed to write source output */
|
||||
|
||||
QSE_AWK_ELXCHR, /* lexer came accross an wrong character */
|
||||
QSE_AWK_ELXDIG, /* invalid digit */
|
||||
@ -400,7 +404,7 @@ enum qse_awk_errnum_t
|
||||
QSE_AWK_EPOSIDX, /* wrong position index */
|
||||
QSE_AWK_EARGTF, /* too few arguments */
|
||||
QSE_AWK_EARGTM, /* too many arguments */
|
||||
QSE_AWK_EFUNNONE, /* "function '%.*s' not found" */
|
||||
QSE_AWK_EFUNNONE, /* function '${1}' not found */
|
||||
QSE_AWK_ENOTIDX, /* variable not indexable */
|
||||
QSE_AWK_ENOTDEL, /* variable not deletable */
|
||||
QSE_AWK_ENOTMAP, /* value not a map */
|
||||
@ -448,6 +452,9 @@ enum qse_awk_errnum_t
|
||||
/* the number of error numbers, internal use only */
|
||||
QSE_AWK_NUMERRNUM
|
||||
};
|
||||
/******/
|
||||
|
||||
typedef enum qse_awk_errnum_t qse_awk_errnum_t;
|
||||
|
||||
/* depth types */
|
||||
enum qse_awk_depth_t
|
||||
@ -554,7 +561,6 @@ enum qse_awk_rtx_valtostr_opt_t
|
||||
QSE_AWK_VALTOSTR_PRINT = (1 << 2)
|
||||
};
|
||||
|
||||
typedef enum qse_awk_errnum_t qse_awk_errnum_t;
|
||||
|
||||
typedef struct qse_awk_val_nil_t qse_awk_val_nil_t;
|
||||
typedef struct qse_awk_val_int_t qse_awk_val_int_t;
|
||||
@ -647,14 +653,24 @@ struct qse_awk_val_ref_t
|
||||
qse_awk_val_t** adr;
|
||||
};
|
||||
|
||||
enum qse_awk_parse_ist_t
|
||||
/****e* AWK/qse_awk_parsesimple_type_t
|
||||
* NAME
|
||||
* qse_awk_parsesimple_type_t - define a source type
|
||||
* SYNOPSIS
|
||||
*/
|
||||
enum qse_awk_parsesimple_type_t
|
||||
{
|
||||
QSE_AWK_SOURCE_FILES = 0,
|
||||
QSE_AWK_SOURCE_STRING = 1
|
||||
QSE_AWK_PARSESIMPLE_NONE = 0,
|
||||
QSE_AWK_PARSESIMPLE_FILE = 1,
|
||||
QSE_AWK_PARSESIMPLE_STR = 2,
|
||||
QSE_AWK_PARSESIMPLE_STRL = 3
|
||||
};
|
||||
/******/
|
||||
|
||||
#define QSE_AWK_CONSOLE_STDIO (qse_awk_console_stdio)
|
||||
extern const qse_char_t* qse_awk_console_stdio[];
|
||||
typedef enum qse_awk_parsesimple_type_t qse_awk_parsesimple_type_t;
|
||||
|
||||
#define QSE_AWK_RTX_OPENSIMPLE_STDIO (qse_awk_rtx_opensimple_stdio)
|
||||
extern const qse_char_t* qse_awk_rtx_opensimple_stdio[];
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
@ -812,7 +828,7 @@ int qse_awk_clear (
|
||||
|
||||
/****f* AWK/qse_awk_geterrstr
|
||||
* NAME
|
||||
* qse_awk_geterrstr - get a format string for an error
|
||||
* qse_awk_geterrstr - get a format string for an error code
|
||||
* DESCRIPTION
|
||||
* The qse_awk_geterrstr() function returns a pointer to a format string for
|
||||
* the error number num.
|
||||
@ -1578,18 +1594,49 @@ qse_awk_t* qse_awk_opensimple (
|
||||
/****f* AWK/qse_awk_parsesimple
|
||||
* NAME
|
||||
* qse_awk_parsesimple - parse source code
|
||||
*
|
||||
* DESCRIPTION
|
||||
* If 'ist' is QSE_AWK_PARSE_STRING, 'isp' should be a null-terminated string
|
||||
* of the type 'const qse_char_t*'; If 'ist' is QSE_AWK_PARSE_FILES, 'isp'
|
||||
* should be an array of null-terminated strings whose last element is a
|
||||
* null pointer.
|
||||
* If 'ist' is QSE_AWK_PARSESIMPLE_STR, 'isp' should be a null-terminated
|
||||
* string of the type 'const qse_char_t*' holding the source code; If 'ist'
|
||||
* is QSE_AWK_PARSESIMPLE_FILE, 'isp' should be a null-terminated string of
|
||||
* the type 'const qse_char_t*' holding the file name to read the source code
|
||||
* from; If 'ist' is QSE_AWK_PARSESIMPLE_STRL, 'isp' should be a const pointer
|
||||
* to a variable of the type 'qse_cstr_t'. It holds the pointer to the source
|
||||
* code and its length.
|
||||
*
|
||||
* If 'ost' is QSE_AWK_PARSESIMPLE_STR, 'osp' should be a pointer to a
|
||||
* 'qse_char_t' buffer whose end is marked with a null character. that is
|
||||
* the buffer should not contain a null character before its end; If 'ost'
|
||||
* is QSE_AWK_PARSESIMPLE_FILE, the deparsed source code is written to a file
|
||||
* indicated by 'osp' of the type 'const qse_char_t*';
|
||||
* If 'ost' is QSE_AWK_PARSESIMPLE_STRL, the buffer to be written is indicated
|
||||
* in the parameter 'osp' of the type 'qse_xstr_t*'.
|
||||
*
|
||||
* You can set 'ost' to QSE_AWK_PARSESIMPLE_NONE not to produce deparsed
|
||||
* source code while setting 'ist' TO QSE_AWK_PARSESIMPLE_NONE is an error.
|
||||
*
|
||||
* EXAMPLE
|
||||
* The following example parses the literal string 'BEGIN { print 10; }' and
|
||||
* deparses it out to a buffer 'buf'.
|
||||
* int n;
|
||||
* qse_char_t buf[1000];
|
||||
* qse_memset (buf, QSE_T(' '), QSE_COUNTOF(buf));
|
||||
* buf[QSE_COUNTOF(buf)-1] = QSE_T('\0');
|
||||
* n = qse_awk_parsesimple (
|
||||
* awk,
|
||||
* QSE_AWK_PARSESIMPLE_STR,
|
||||
* QSE_T("BEGIN { print 10; }"),
|
||||
* QSE_AWK_PARSESIMPLE_STR,
|
||||
* buf
|
||||
* );
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_parsesimple (
|
||||
qse_awk_t* awk,
|
||||
int ist /* QSE_AWK_PARSE_FILES, QSE_AWK_PARSE_STRING */,
|
||||
const void* isp /* source file names or source string */,
|
||||
const qse_char_t* osf /* an output source file name */
|
||||
qse_awk_t* awk,
|
||||
qse_awk_parsesimple_type_t ist,
|
||||
const void* isp,
|
||||
qse_awk_parsesimple_type_t ost,
|
||||
const void* osp
|
||||
);
|
||||
/******/
|
||||
|
||||
|
@ -22,6 +22,15 @@
|
||||
#include <qse/types.h>
|
||||
#include <qse/macros.h>
|
||||
|
||||
/****o* LISP/LISP Interpreter
|
||||
* DESCRIPTION
|
||||
* The library includes a LISP interpreter that can be embedded into other
|
||||
* applications or can run stand-alone.
|
||||
*
|
||||
* #include <qse/lsp/lsp.h>
|
||||
******
|
||||
*/
|
||||
|
||||
typedef struct qse_lsp_t qse_lsp_t;
|
||||
typedef struct qse_lsp_obj_t qse_lsp_obj_t;
|
||||
typedef struct qse_lsp_prmfns_t qse_lsp_prmfns_t;
|
||||
|
@ -38,6 +38,7 @@ typedef struct xtn_t
|
||||
{
|
||||
const qse_char_t*const* files;
|
||||
const qse_char_t* str;
|
||||
qse_cstr_t cstr;
|
||||
} u;
|
||||
qse_size_t index; /* current file index */
|
||||
qse_sio_t* handle; /* the handle to an open file */
|
||||
@ -45,7 +46,12 @@ typedef struct xtn_t
|
||||
|
||||
struct
|
||||
{
|
||||
const qse_char_t* file;
|
||||
union
|
||||
{
|
||||
const qse_char_t* file;
|
||||
qse_char_t* str;
|
||||
qse_cstr_t cstr;
|
||||
} u;
|
||||
qse_sio_t* handle;
|
||||
} out;
|
||||
|
||||
@ -73,7 +79,7 @@ typedef struct rxtn_t
|
||||
|
||||
} rxtn_t;
|
||||
|
||||
const qse_char_t* qse_awk_console_stdio[] =
|
||||
const qse_char_t* qse_awk_rtx_opensimple_stdio[] =
|
||||
{
|
||||
QSE_T(""),
|
||||
QSE_NULL
|
||||
@ -164,7 +170,7 @@ static qse_ssize_t sf_in (
|
||||
|
||||
if (cmd == QSE_AWK_SIO_OPEN)
|
||||
{
|
||||
if (xtn->s.in.type == QSE_AWK_SOURCE_FILES)
|
||||
if (xtn->s.in.type == QSE_AWK_PARSESIMPLE_FILE)
|
||||
{
|
||||
if (xtn->s.in.u.files == QSE_NULL) return -1;
|
||||
if (xtn->s.in.u.files[xtn->s.in.index] == QSE_NULL) return 0;
|
||||
@ -205,7 +211,7 @@ static qse_ssize_t sf_in (
|
||||
{
|
||||
qse_ssize_t n = 0;
|
||||
|
||||
if (xtn->s.in.type == QSE_AWK_SOURCE_FILES)
|
||||
if (xtn->s.in.type == QSE_AWK_PARSESIMPLE_FILE)
|
||||
{
|
||||
qse_sio_t* sio;
|
||||
|
||||
@ -302,7 +308,11 @@ static qse_ssize_t sf_out (
|
||||
}
|
||||
|
||||
int qse_awk_parsesimple (
|
||||
qse_awk_t* awk, int ist, const void* isp, const qse_char_t* osf)
|
||||
qse_awk_t* awk,
|
||||
qse_awk_parsesimple_type_t ist,
|
||||
const void* isp,
|
||||
qse_awk_parsesimple_type_t ost,
|
||||
const void* osp)
|
||||
{
|
||||
qse_awk_sio_t sio;
|
||||
xtn_t* xtn = (xtn_t*) QSE_XTN (awk);
|
||||
@ -313,14 +323,37 @@ int qse_awk_parsesimple (
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (ist == QSE_AWK_SOURCE_FILES)
|
||||
if (ist == QSE_AWK_PARSESIMPLE_FILE)
|
||||
{
|
||||
xtn->s.in.u.files = (const qse_char_t*const*)isp;
|
||||
}
|
||||
else if (ist == QSE_AWK_SOURCE_STRING)
|
||||
else if (ist == QSE_AWK_PARSESIMPLE_STR)
|
||||
{
|
||||
xtn->s.in.u.str = (const qse_char_t*)isp;
|
||||
}
|
||||
else if (ist == QSE_AWK_PARSESIMPLE_STRL)
|
||||
{
|
||||
xtn->s.in.u.cstr.ptr = (const qse_cstr_t*)isp->ptr;
|
||||
xtn->s.in.u.cstr.len = (const qse_cstr_t*)isp->len;
|
||||
}
|
||||
else
|
||||
{
|
||||
qse_awk_seterrnum (awk, QSE_AWK_EINVAL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (ost == QSE_AWK_PARSESIMPLE_FILE)
|
||||
{
|
||||
}
|
||||
else if (ost == QSE_AWK_PARSESIMPLE_STR)
|
||||
{
|
||||
}
|
||||
else if (ost == QSE_AWK_PARSESIMPLE_STRL)
|
||||
{
|
||||
}
|
||||
else if (ost == QSE_AWK_PARSESIMPLE_NONE)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
qse_awk_seterrnum (awk, QSE_AWK_EINVAL);
|
||||
|
Loading…
Reference in New Issue
Block a user