version 1.27, 2015/03/11 12:51:41 |
version 1.29, 2015/03/12 10:44:34 |
|
|
TEXICMD_DEFINDEX, |
TEXICMD_DEFINDEX, |
TEXICMD_DEFMAC, |
TEXICMD_DEFMAC, |
TEXICMD_DEFMACX, |
TEXICMD_DEFMACX, |
|
TEXICMD_DEFOP, |
|
TEXICMD_DEFOPX, |
|
TEXICMD_DEFOPT, |
|
TEXICMD_DEFOPTX, |
TEXICMD_DEFTP, |
TEXICMD_DEFTP, |
TEXICMD_DEFTPX, |
TEXICMD_DEFTPX, |
TEXICMD_DEFTYPEFN, |
TEXICMD_DEFTYPEFN, |
Line 373 struct teximacro { |
|
Line 377 struct teximacro { |
|
}; |
}; |
|
|
/* |
/* |
|
* A term is a word in an index. |
|
* For example "@cindex foo" adds the term "foo" to the "cp" index. |
|
* This occurs within a chapter ("nodes" in struct texi) |
|
*/ |
|
struct texiterm { |
|
char *term; |
|
ssize_t chapter; |
|
}; |
|
|
|
/* |
* Index tables. |
* Index tables. |
* These have a two or three letter name (usually) and any number of |
* These have a two or three letter name (usually) and any number of |
* terms that are associated with it. |
* terms that are associated with it. |
*/ |
*/ |
struct texidex { |
struct texidex { |
char *name; |
char *name; |
char **index; |
struct texiterm *index; |
size_t indexsz; |
size_t indexsz; |
}; |
}; |
|
|
|
struct texinode { |
|
char *name; |
|
ssize_t up; |
|
ssize_t prev; |
|
ssize_t next; |
|
}; |
|
|
/* |
/* |
* The main parse structure. |
* The main parse structure. |
* This keeps any necessary information handy. |
* This keeps any necessary information handy. |
*/ |
*/ |
struct texi { |
struct texi { |
const char *chapters; /* are we splitting chapters */ |
const char *chapters; /* are we splitting chapters */ |
size_t chapnum; /* current chapter node */ |
|
char **dirs; /* texi directories */ |
char **dirs; /* texi directories */ |
size_t dirsz; /* number of texi directories */ |
size_t dirsz; /* number of texi directories */ |
FILE *outfile; /* current output stream */ |
FILE *outfile; /* current output stream */ |
|
|
size_t macrosz; /* entries in macros */ |
size_t macrosz; /* entries in macros */ |
char *copying; /* the @copying block */ |
char *copying; /* the @copying block */ |
size_t copyingsz; /* length of @copying */ |
size_t copyingsz; /* length of @copying */ |
|
struct texinode *nodecache; /* index of node names */ |
|
size_t nodecachesz; /* nodes in nodecache */ |
|
size_t nodesz; /* parsing node (sequential) */ |
|
ssize_t nodecur; /* parsing node (cache position) */ |
/* |
/* |
* The following control what we output to the screen. |
* The following control what we output to the screen. |
* The complexity is required to accomodate for mdoc(7). |
* The complexity is required to accomodate for mdoc(7). |
Line 448 void parsefile(struct texi *, const char *, int); |
|
Line 472 void parsefile(struct texi *, const char *, int); |
|
int parselinearg(struct texi *, size_t *); |
int parselinearg(struct texi *, size_t *); |
void parseeoln(struct texi *, size_t *); |
void parseeoln(struct texi *, size_t *); |
void parseto(struct texi *, size_t *, const char *); |
void parseto(struct texi *, size_t *, const char *); |
|
void parsesingle(struct texi *, size_t *); |
|
|
void texiabort(struct texi *, const char *) |
void texiabort(struct texi *, const char *) |
__attribute__((noreturn)); |
__attribute__((noreturn)); |
|
|
peekcmd(const struct texi *, size_t); |
peekcmd(const struct texi *, size_t); |
enum texicmd |
enum texicmd |
peeklinecmd(const struct texi *, size_t); |
peeklinecmd(const struct texi *, size_t); |
|
ssize_t texicache(struct texi *, const char *, size_t); |
void texierr(struct texi *, const char *, ...) |
void texierr(struct texi *, const char *, ...) |
__attribute__((format(printf, 2, 3))) |
__attribute__((format(printf, 2, 3))) |
__attribute__((noreturn)); |
__attribute__((noreturn)); |