version 1.10, 2015/02/23 15:09:09 |
version 1.11, 2015/02/23 22:50:11 |
|
|
TEXICMD_DIRENTRY, |
TEXICMD_DIRENTRY, |
TEXICMD_DISPLAY, |
TEXICMD_DISPLAY, |
TEXICMD_DMN, |
TEXICMD_DMN, |
|
TEXICMD_DOCUMENTDESCRPITION, |
|
TEXICMD_DOCUMENTENCODING, |
TEXICMD_DOTS, |
TEXICMD_DOTS, |
TEXICMD_EMAIL, |
TEXICMD_EMAIL, |
TEXICMD_EMPH, |
TEXICMD_EMPH, |
|
|
TEXICMD__MAX |
TEXICMD__MAX |
}; |
}; |
|
|
|
enum texisrc { |
|
TEXISRC_FILE, |
|
TEXISRC_STDIN |
|
}; |
|
|
/* |
/* |
* The file currently being parsed. |
* The file currently being parsed. |
* This keeps track of our location within that file. |
* This keeps track of our location within that file. |
*/ |
*/ |
struct texifile { |
struct texifile { |
|
enum texisrc type; /* type of file */ |
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 */ |
char *map; /* mmap'd file OR allocated buffer */ |
size_t mapsz; /* size of mmap */ |
size_t mapsz; /* size of mmap */ |
}; |
}; |
|
|
Line 258 struct texitok { |
|
Line 266 struct texitok { |
|
size_t len; /* strlen(tok) */ |
size_t len; /* strlen(tok) */ |
}; |
}; |
|
|
|
/* |
|
* These values instruct us on whether a list (or table) of some type is |
|
* currently being parsed. |
|
*/ |
enum texilist { |
enum texilist { |
TEXILIST_NONE = 0, |
TEXILIST_NONE = 0, |
TEXILIST_ITEM, |
TEXILIST_ITEM, |
|
|
TEXILIST_TABLE |
TEXILIST_TABLE |
}; |
}; |
|
|
|
/* |
|
* Hold values assigned with @set and retrieved with @value. |
|
* These values can contain arbitrary Texinfo. |
|
*/ |
struct texivalue { |
struct texivalue { |
char *key; |
char *key; /* the nil-terminated value name */ |
char *value; |
char *value; /* the nil-terminated value */ |
}; |
}; |
|
|
|
/* |
|
* Macros are (possibly-recursive) Texinfo sequences created with @macro |
|
* and filled in by arguments when invoked. |
|
*/ |
struct teximacro { |
struct teximacro { |
char *key; |
char *key; /* nil-terminated macro name */ |
char *value; |
char *value; /* nil-terminated value */ |
char **args; |
char **args; /* array of argument names (or NULL) */ |
size_t argsz; |
size_t argsz; /* array size */ |
}; |
}; |
|
|
/* |
/* |
|
|
size_t indexsz; /* entries in indexs */ |
size_t indexsz; /* entries in indexs */ |
struct texivalue *vals; /* @value entries */ |
struct texivalue *vals; /* @value entries */ |
size_t valsz; /* entries in vals */ |
size_t valsz; /* entries in vals */ |
struct teximacro *macros; |
struct teximacro *macros; /* @macro entries */ |
size_t macrosz; |
size_t macrosz; /* entries in macros */ |
/* |
/* |
* 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 325 char **argparse(struct texi *, const char *, size_t, |
|
Line 345 char **argparse(struct texi *, const char *, size_t, |
|
|
|
int parsearg(struct texi *, const char *, size_t, size_t *, size_t); |
int parsearg(struct texi *, const char *, size_t, size_t *, size_t); |
void parsebracket(struct texi *, const char *, size_t, size_t *); |
void parsebracket(struct texi *, const char *, size_t, size_t *); |
|
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 *, const char *, size_t, size_t *); |
void parseeof(struct texi *, const char *, size_t); |
void parseeof(struct texi *, const char *, size_t); |