version 1.12, 2015/02/24 20:06:32 |
version 1.15, 2015/02/25 14:37:17 |
|
|
TEXICMD_DMN, |
TEXICMD_DMN, |
TEXICMD_DOCUMENTDESCRPITION, |
TEXICMD_DOCUMENTDESCRPITION, |
TEXICMD_DOCUMENTENCODING, |
TEXICMD_DOCUMENTENCODING, |
|
TEXICMD_DOCUMENTLANGUAGE, |
TEXICMD_DOTACCENT, |
TEXICMD_DOTACCENT, |
TEXICMD_DOTLESS, |
TEXICMD_DOTLESS, |
TEXICMD_DOTS, |
TEXICMD_DOTS, |
|
|
TEXICMD_ENV, |
TEXICMD_ENV, |
TEXICMD_EQUIV, |
TEXICMD_EQUIV, |
TEXICMD_ERROR, |
TEXICMD_ERROR, |
|
TEXICMD_EURO, |
TEXICMD_EXAMPLE, |
TEXICMD_EXAMPLE, |
TEXICMD_EXCLAMDOWN, |
TEXICMD_EXCLAMDOWN, |
TEXICMD_EXDENT, |
TEXICMD_EXDENT, |
|
|
TEXICMD_FILE, |
TEXICMD_FILE, |
TEXICMD_FINALOUT, |
TEXICMD_FINALOUT, |
TEXICMD_FINDEX, |
TEXICMD_FINDEX, |
|
TEXICMD_FLUSHLEFT, |
|
TEXICMD_FLUSHRIGHT, |
|
TEXICMD_FIRSTPARAGRAPHINDENT, |
TEXICMD_FOOTNOTE, |
TEXICMD_FOOTNOTE, |
|
TEXICMD_FOOTNOTESTYLE, |
TEXICMD_FTABLE, |
TEXICMD_FTABLE, |
TEXICMD_FORMAT, |
TEXICMD_FORMAT, |
|
TEXICMD_GEQ, |
TEXICMD_GRAVE, |
TEXICMD_GRAVE, |
TEXICMD_GROUP, |
TEXICMD_GROUP, |
|
TEXICMD_GUILLEMETLEFT, |
|
TEXICMD_GUILLEMETRIGHT, |
|
TEXICMD_GUILLEMOTLEFT, |
|
TEXICMD_GUILLEMOTRIGHT, |
|
TEXICMD_GUILSINGLLEFT, |
|
TEXICMD_GUILSINGLRIGHT, |
TEXICMD_H, |
TEXICMD_H, |
TEXICMD_HEADING, |
TEXICMD_HEADING, |
TEXICMD_HEADINGS, |
TEXICMD_HEADINGS, |
|
|
TEXICMD_IMAGE, |
TEXICMD_IMAGE, |
TEXICMD_INCLUDE, |
TEXICMD_INCLUDE, |
TEXICMD_INDENTBLOCK, |
TEXICMD_INDENTBLOCK, |
|
TEXICMD_INDICATEURL, |
TEXICMD_INFOREF, |
TEXICMD_INFOREF, |
TEXICMD_INSERTCOPYING, |
TEXICMD_INSERTCOPYING, |
TEXICMD_ITEM, |
TEXICMD_ITEM, |
|
|
TEXICMD_KINDEX, |
TEXICMD_KINDEX, |
TEXICMD_L, |
TEXICMD_L, |
TEXICMD_LATEX, |
TEXICMD_LATEX, |
|
TEXICMD_LEQ, |
TEXICMD_LOWERSECTIONS, |
TEXICMD_LOWERSECTIONS, |
TEXICMD_LSMALL, |
TEXICMD_LSMALL, |
TEXICMD_MACRO, |
TEXICMD_MACRO, |
|
|
TEXICMD_PARINDENT, |
TEXICMD_PARINDENT, |
TEXICMD_PERIOD, |
TEXICMD_PERIOD, |
TEXICMD_PINDEX, |
TEXICMD_PINDEX, |
|
TEXICMD_POUNDS, |
TEXICMD_PRINTINDEX, |
TEXICMD_PRINTINDEX, |
TEXICMD_PXREF, |
TEXICMD_PXREF, |
TEXICMD_QUESTIONDOWN, |
TEXICMD_QUESTIONDOWN, |
TEXICMD_QUESTIONMARK, |
TEXICMD_QUESTIONMARK, |
TEXICMD_QUOTATION, |
TEXICMD_QUOTATION, |
|
TEXICMD_QUOTEDBLBASE, |
|
TEXICMD_QUOTEDBLLEFT, |
|
TEXICMD_QUOTEDBLRIGHT, |
|
TEXICMD_QUOTESINGLBASE, |
|
TEXICMD_QUOTELEFT, |
|
TEXICMD_QUOTERIGHT, |
TEXICMD_R, |
TEXICMD_R, |
TEXICMD_RAISESECTIONS, |
TEXICMD_RAISESECTIONS, |
TEXICMD_REF, |
TEXICMD_REF, |
TEXICMD_REFILL, |
TEXICMD_REFILL, |
|
TEXICMD_REGISTEREDSYMBOL, |
TEXICMD_RESULT, |
TEXICMD_RESULT, |
TEXICMD_RINGACCENT, |
TEXICMD_RINGACCENT, |
TEXICMD_SAMP, |
TEXICMD_SAMP, |
|
|
TEXICMD_TABLE, |
TEXICMD_TABLE, |
TEXICMD_TEX, |
TEXICMD_TEX, |
TEXICMD_TEXSYM, |
TEXICMD_TEXSYM, |
|
TEXICMD_TEXTDEGREE, |
TEXICMD_TH, |
TEXICMD_TH, |
TEXICMD_THSMALL, |
TEXICMD_THSMALL, |
TEXICMD_TIE, |
TEXICMD_TIE, |
Line 274 struct texifile { |
|
Line 298 struct texifile { |
|
const char *name; /* name of the file */ |
const char *name; /* name of the file */ |
size_t line; /* current line (from zero) */ |
size_t line; /* current line (from zero) */ |
size_t col; /* current column in line (from zero) */ |
size_t col; /* current column in line (from zero) */ |
char *map; /* mmap'd file OR allocated buffer */ |
char *map; /* allocated file buffer */ |
size_t mapsz; /* size of mmap */ |
size_t mapsz; /* size of map */ |
|
size_t mapmaxsz; /* full size of map */ |
}; |
}; |
|
|
struct texi; |
struct texi; |
|
|
/* |
/* |
* Callback for functions implementing texi commands. |
* Callback for functions implementing texi commands. |
*/ |
*/ |
typedef void (*texicmdfp)(struct texi *, |
typedef void (*texicmdfp)(struct texi *, enum texicmd, size_t *); |
enum texicmd, const char *, size_t, size_t *); |
|
|
|
/* |
/* |
* Describes Texinfo commands, whether native or overriden. |
* Describes Texinfo commands, whether native or overriden. |
|
|
int literal; /* if >0, literal context */ |
int literal; /* if >0, literal context */ |
}; |
}; |
|
|
|
#define BUF(_p) ((_p)->files[(_p)->filepos - 1].map) |
|
#define BUFSZ(_p) ((_p)->files[(_p)->filepos - 1].mapsz) |
|
|
#define isws(_x) \ |
#define isws(_x) \ |
(' ' == (_x) || '\t' == (_x)) |
(' ' == (_x) || '\t' == (_x)) |
#define ismspace(_x) \ |
#define ismspace(_x) \ |
|
|
|
|
__BEGIN_DECLS |
__BEGIN_DECLS |
|
|
void advance(struct texi *, const char *, size_t *); |
void advance(struct texi *, size_t *); |
size_t advanceeoln(struct texi *, const char *, size_t, size_t *, int); |
size_t advanceeoln(struct texi *, size_t *, int); |
void advanceto(struct texi *, const char *, size_t *, size_t); |
void advanceto(struct texi *, size_t *, size_t); |
|
|
char **argparse(struct texi *, const char *, size_t, size_t *, size_t *, size_t); |
char **argparse(struct texi *, size_t *, size_t *, size_t); |
|
|
int parsearg(struct texi *, const char *, size_t, size_t *, size_t); |
int parsearg(struct texi *, size_t *, size_t); |
void parsebracket(struct texi *, const char *, size_t, size_t *); |
void parsebracket(struct texi *, size_t *); |
void parsestdin(struct texi *); |
void parsestdin(struct texi *); |
void parsefile(struct texi *, const char *, int); |
void parsefile(struct texi *, const char *, int); |
int parselinearg(struct texi *, const char *, size_t, size_t *); |
int parselinearg(struct texi *, size_t *); |
void parseeof(struct texi *, const char *, size_t); |
void parseeoln(struct texi *, size_t *); |
void parsemembuf(struct texi *, const char *, size_t); |
void parseto(struct texi *, size_t *, const char *); |
void parseeoln(struct texi *, const char *, size_t, size_t *); |
|
void parsesingle(struct texi *, const char *, size_t, size_t *); |
|
void parseto(struct texi *, const char *, size_t, size_t *, const char *); |
|
|
|
void texiabort(struct texi *, const char *) |
void texiabort(struct texi *, const char *) |
__attribute__((noreturn)); |
__attribute__((noreturn)); |
enum texicmd |
enum texicmd |
texicmd(struct texi *, const char *, size_t, size_t, |
texicmd(struct texi *, size_t, |
size_t *, struct teximacro **); |
size_t *, struct teximacro **); |
void texierr(struct texi *, const char *, ...) |
void texierr(struct texi *, const char *, ...) |
__attribute__((format(printf, 2, 3))) |
__attribute__((format(printf, 2, 3))) |
Line 396 void texifilepop(struct texi *); |
|
Line 420 void texifilepop(struct texi *); |
|
void teximacro(struct texi *, const char *); |
void teximacro(struct texi *, const char *); |
void teximacroclose(struct texi *); |
void teximacroclose(struct texi *); |
void teximacroopen(struct texi *, const char *); |
void teximacroopen(struct texi *, const char *); |
void texipunctuate(struct texi *, const char *, size_t, size_t *); |
void texipunctuate(struct texi *, size_t *); |
void texiputbuf(struct texi *p, const char *, size_t, size_t); |
void texiputbuf(struct texi *p, size_t, size_t); |
void texiputchar(struct texi *p, char); |
void texiputchar(struct texi *p, char); |
void texiputchars(struct texi *, const char *); |
void texiputchars(struct texi *, const char *); |
void texivspace(struct texi *); |
void texivspace(struct texi *); |
void texiwarn(const struct texi *, const char *, ...) |
void texiwarn(const struct texi *, const char *, ...) |
__attribute__((format(printf, 2, 3))); |
__attribute__((format(printf, 2, 3))); |
|
void texisplice(struct texi *, const char *, size_t, size_t *); |
|
|
void valueadd(struct texi *, char *, char *); |
void valueadd(struct texi *, char *, char *); |
const char * |
const char * |
valueblookup(struct texi *, const char *, size_t, size_t *); |
valueblookup(struct texi *, size_t *); |
void valuelclear(struct texi *, const char *, size_t, size_t *); |
void valuelclear(struct texi *, size_t *); |
const char * |
const char * |
valuellookup(struct texi *, const char *, size_t, size_t *); |
valuellookup(struct texi *, size_t *); |
|
|
extern const struct texitok *const texitoks; |
extern const struct texitok *const texitoks; |
|
|