tex_parser разбиваю на модули
This commit is contained in:
parent
1ff0c07d86
commit
5934035bf6
|
@ -38,7 +38,7 @@ ifneq ($(mode),profile)
|
|||
ifneq ($(mode),develop)
|
||||
ifneq ($(mode),release)
|
||||
@echo "Invalid build mode."
|
||||
@echo "Please use 'make mode=release' or 'make mode=develop' or 'make mode=debug'"
|
||||
@echo "Please use 'make mode=release', 'make mode=develop' or 'make mode=debug'"
|
||||
@exit 1
|
||||
endif
|
||||
endif
|
||||
|
@ -53,13 +53,13 @@ endif
|
|||
%.o :
|
||||
$(CC) -c $(CFLAGS) $(LDFLAGS) $(INCLUDE) -o $@ $<
|
||||
|
||||
tex_parser_test_obj = tex_parser_test.o tex_parser.o zalloc_ext.o zalloc.o xalloc.o xerror.o
|
||||
tex_parser_test_obj = tex_parser_test.o tex_parser.o zalloc_ext.o zalloc.o xalloc.o zerror.o xerror.o
|
||||
tex_parser_test: $(tex_parser_test_obj)
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(INCLUDE) -o $@ $(tex_parser_test_obj)
|
||||
|
||||
tex_parser_test.o: tex_parser_test.c tex_parser.o
|
||||
|
||||
tex_parser.o: tex_parser.c tex_parser.h zalloc_ext.o zalloc.o xalloc.o
|
||||
tex_parser.o: tex_parser.c tex_parser.h zalloc_ext.o zalloc.o xalloc.o zerror.o
|
||||
|
||||
zalloc_ext.o: $(KOLAN_INCLUDE)/zalloc_ext.c $(KOLAN_INCLUDE)/zalloc_ext.h zalloc.o xerror.o
|
||||
|
||||
|
@ -67,6 +67,8 @@ zalloc.o: $(KOLAN_INCLUDE)/zalloc.c $(KOLAN_INCLUDE)/zalloc.h xerror.o
|
|||
|
||||
xalloc.o: $(KOLAN_INCLUDE)/xalloc.c $(KOLAN_INCLUDE)/xalloc.h xerror.o
|
||||
|
||||
zerror.o: $(KOLAN_INCLUDE)/zerror.c $(KOLAN_INCLUDE)/zerror.h
|
||||
|
||||
xerror.o: $(KOLAN_INCLUDE)/xerror.c $(KOLAN_INCLUDE)/xerror.h
|
||||
|
||||
clean:
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include <stdio.h>
|
||||
|
||||
|
||||
int tex_parse(const char *source, size_t len, struct xerror_s *error)
|
||||
int tex_parse(const char *source, size_t len, struct zerror_s *error)
|
||||
{
|
||||
error->code = 0;
|
||||
error->message = NULL;
|
||||
|
|
|
@ -16,8 +16,18 @@ long_line_behaviour=1
|
|||
long_line_column=72
|
||||
|
||||
[files]
|
||||
current_page=0
|
||||
FILE_NAME_0=1859;Make;0;16;1;1;1;/home/kolan/dev/c/tex_parser/Makefile;0
|
||||
current_page=10
|
||||
FILE_NAME_0=1032;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser_test.c;0
|
||||
FILE_NAME_1=1320;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser.c;0
|
||||
FILE_NAME_2=655;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser_tags.h;0
|
||||
FILE_NAME_3=1871;Make;0;16;1;1;1;/home/kolan/dev/c/tex_parser/Makefile;0
|
||||
FILE_NAME_4=334;C;0;16;1;1;1;/home/kolan/dev/c/tex_parser/tex_parser.h;0
|
||||
FILE_NAME_5=0;C;0;16;1;1;1;/home/kolan/projects/include/xerror.c;0
|
||||
FILE_NAME_6=1146;C;0;16;1;1;1;/home/kolan/projects/include/xerror.h;0
|
||||
FILE_NAME_7=3137;C;0;16;1;1;1;/home/kolan/projects/include/zerror.c;0
|
||||
FILE_NAME_8=1902;C;0;16;1;1;1;/home/kolan/projects/include/zerror.h;0
|
||||
FILE_NAME_9=2406;C;0;16;1;1;1;/home/kolan/projects/include/xalloc.c;0
|
||||
FILE_NAME_10=3312;C;0;16;1;1;1;/home/kolan/projects/include/xalloc.h;0
|
||||
|
||||
[build-menu]
|
||||
NF_00_LB=_Сделать
|
||||
|
|
|
@ -3,12 +3,26 @@
|
|||
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "xerror.h"
|
||||
#include "zerror.h"
|
||||
//~ #include "tex_table.h"
|
||||
//~ #include "tex_image.h"
|
||||
|
||||
#define MAX_TEX_STACK_LEVEL 128
|
||||
//~
|
||||
//~ struct node_s {
|
||||
//~ enum {
|
||||
//~ TEXOBJ_UNDEF = 0,
|
||||
//~ TEXOBJ_TABLE,
|
||||
//~ TEXOBJ_IMAGE,
|
||||
//~ } type;
|
||||
//~ };
|
||||
//~
|
||||
//~ struct tex_tree_s {
|
||||
//~
|
||||
//~ };
|
||||
|
||||
/* LaTeX parser
|
||||
*/
|
||||
int tex_parse(const char *source, size_t len, struct xerror_s *error);
|
||||
int tex_parse(const char *source, size_t len, struct zerror_s *error);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -29,13 +29,16 @@ int main(int argc, char *argv[])
|
|||
fclose(tex_file);
|
||||
tex_buf[stat_buf.st_size] = 0;
|
||||
|
||||
struct xerror_s error;
|
||||
memset(&error, 0, sizeof(struct xerror_s));
|
||||
struct zerror_s error;
|
||||
memset(&error, 0, sizeof(struct zerror_s));
|
||||
|
||||
//~ setlocale(LC_ALL, "ru_RU.KOI8-R");
|
||||
|
||||
/* Коммент по-русски */
|
||||
int result = tex_parse(tex_buf, (size_t)stat_buf.st_size, &error);
|
||||
|
||||
//~ setlocale(LC_ALL, "");
|
||||
|
||||
if (result) {
|
||||
printf("Parsing error at %d, symb=%c: %s\n", error.code + 1, tex_buf[error.code], error.message);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
\relax
|
||||
\catcode`"\active
|
||||
\select@language{russian}
|
||||
\@writefile{toc}{\select@language{russian}}
|
||||
\@writefile{lof}{\select@language{russian}}
|
||||
\@writefile{lot}{\select@language{russian}}
|
Binary file not shown.
|
@ -0,0 +1,28 @@
|
|||
\documentclass[russian]{article}
|
||||
%~ \usepackage[T1]{fontenc}
|
||||
\usepackage[utf8]{inputenc}
|
||||
%~ \usepackage{textcomp}
|
||||
%~ \usepackage{amstext}
|
||||
|
||||
\usepackage[russian]{babel}
|
||||
\usepackage{array}
|
||||
\usepackage{longtable}
|
||||
\usepackage{rotating}
|
||||
\usepackage{setspace}
|
||||
\usepackage{geometry}
|
||||
\usepackage{float}
|
||||
\usepackage{multirow}
|
||||
\usepackage{multicol}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{multicols}{3}
|
||||
Она начинает новую страницу (используя команду \clearpage) и начинает пе-
|
||||
чать следующего за ней текста в две колонки. Если имеется необязательный ар-
|
||||
гумент text, он будет напечатан в верхней части новой страницы в одну колонку;
|
||||
если опция отсутствует, то печать в две колонки начинается от начала страницы.
|
||||
Возврат к одноколоночному формату осуществляет команда
|
||||
|
||||
\end{multicols}
|
||||
|
||||
\end{document}
|
|
@ -0,0 +1,74 @@
|
|||
#LyX 1.6.8 created this file. For more info see http://www.lyx.org/
|
||||
\lyxformat 345
|
||||
\begin_document
|
||||
\begin_header
|
||||
\textclass article
|
||||
\begin_preamble
|
||||
\usepackage[russian]{babel}
|
||||
\usepackage{array,longtable}
|
||||
\usepackage{rotating}
|
||||
\usepackage{setspace}
|
||||
\usepackage{geometry}
|
||||
\usepackage{float}
|
||||
\usepackage{multirow}
|
||||
%\usepackage{multicol}
|
||||
\renewcommand{\multirowsetup}{\centering}
|
||||
\end_preamble
|
||||
\use_default_options true
|
||||
\language english
|
||||
\inputencoding auto
|
||||
\font_roman default
|
||||
\font_sans default
|
||||
\font_typewriter default
|
||||
\font_default_family default
|
||||
\font_sc false
|
||||
\font_osf false
|
||||
\font_sf_scale 100
|
||||
\font_tt_scale 100
|
||||
|
||||
\graphics default
|
||||
\paperfontsize default
|
||||
\spacing single
|
||||
\use_hyperref false
|
||||
\papersize default
|
||||
\use_geometry false
|
||||
\use_amsmath 1
|
||||
\use_esint 1
|
||||
\cite_engine basic
|
||||
\use_bibtopic false
|
||||
\paperorientation portrait
|
||||
\secnumdepth 3
|
||||
\tocdepth 3
|
||||
\paragraph_separation indent
|
||||
\defskip medskip
|
||||
\quotes_language english
|
||||
\papercolumns 1
|
||||
\papersides 1
|
||||
\paperpagestyle default
|
||||
\tracking_changes false
|
||||
\output_changes false
|
||||
\author ""
|
||||
\author ""
|
||||
\end_header
|
||||
|
||||
\begin_body
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset Graphics
|
||||
filename /home/kolan/img/dragon022.jpg
|
||||
scale 50
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Graphics
|
||||
filename /home/kolan/img/akinator_9_confiant.png
|
||||
scale 50
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\end_body
|
||||
\end_document
|
|
@ -0,0 +1,74 @@
|
|||
#LyX 1.6.8 created this file. For more info see http://www.lyx.org/
|
||||
\lyxformat 345
|
||||
\begin_document
|
||||
\begin_header
|
||||
\textclass article
|
||||
\begin_preamble
|
||||
\usepackage[russian]{babel}
|
||||
\usepackage{array,longtable}
|
||||
\usepackage{rotating}
|
||||
\usepackage{setspace}
|
||||
\usepackage{geometry}
|
||||
\usepackage{float}
|
||||
\usepackage{multirow}
|
||||
%\usepackage{multicol}
|
||||
\renewcommand{\multirowsetup}{\centering}
|
||||
\end_preamble
|
||||
\use_default_options true
|
||||
\language english
|
||||
\inputencoding auto
|
||||
\font_roman default
|
||||
\font_sans default
|
||||
\font_typewriter default
|
||||
\font_default_family default
|
||||
\font_sc false
|
||||
\font_osf false
|
||||
\font_sf_scale 100
|
||||
\font_tt_scale 100
|
||||
|
||||
\graphics default
|
||||
\paperfontsize default
|
||||
\spacing single
|
||||
\use_hyperref false
|
||||
\papersize default
|
||||
\use_geometry false
|
||||
\use_amsmath 1
|
||||
\use_esint 1
|
||||
\cite_engine basic
|
||||
\use_bibtopic false
|
||||
\paperorientation portrait
|
||||
\secnumdepth 3
|
||||
\tocdepth 3
|
||||
\paragraph_separation indent
|
||||
\defskip medskip
|
||||
\quotes_language english
|
||||
\papercolumns 1
|
||||
\papersides 1
|
||||
\paperpagestyle default
|
||||
\tracking_changes false
|
||||
\output_changes false
|
||||
\author ""
|
||||
\author ""
|
||||
\end_header
|
||||
|
||||
\begin_body
|
||||
|
||||
\begin_layout Standard
|
||||
\begin_inset Graphics
|
||||
filename /home/kolan/img/dragon022.jpg
|
||||
scale 50
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Graphics
|
||||
filename /home/kolan/img/akinator_9_confiant.png
|
||||
scale 50
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\end_body
|
||||
\end_document
|
Loading…
Reference in New Issue