]> vcs.slashdirt.org Git - sw/tic2json.git/commitdiff

vcs.slashdirt.org Git - sw/tic2json.git/commitdiff

git git / sw / tic2json.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c7b09bf)
ticv02: add prefixes to lexer/parser
2021年8月21日 10:07:08 +0000 (12:07 +0200)
2021年8月21日 14:20:24 +0000 (16:20 +0200)

diff --git a/Makefile b/Makefile
index 48f3a997359d3b942d45c507bc4cbadc4d638d32..634301d57526a86da7516e44332046c2041788c4 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2,10 +2,10 @@ all: tic2json
%.lex.c: %.l %.tab.h
# The ideal size for the flex buffer is the length of the longest token expected, in bytes, plus a little more.
- flex -DYY_BUF_SIZE=128 -o$@ $<
+ flex -DYY_BUF_SIZE=128 -P$*yy -o$@ $<
%.tab.h %.tab.c: %.y
- bison -Wno-other -d $<
+ bison -Wno-other -p $*yy -d $<
tic2json: %: ticv02.tab.c ticv02.lex.c %.c
$(CC) -DBINNAME='"$@"' -Os -Wall $^ -o $@
diff --git a/tic2json.c b/tic2json.c
index eb2ee996acc19f8bccb33a116c75323e58c9185c..1a8a1da289babd27ce9b69cd1bdc46e70880991f 100644 (file)
--- a/tic2json.c
+++ b/tic2json.c
@@ -61,7 +61,7 @@ static const char * tic_units[] = {
[U_W] = "W",
};
-int yylex_destroy();
+int ticv02yylex_destroy();
void make_field(struct tic_field *field, const struct tic_etiquette *etiq, char *horodate, char *data)
{
@@ -357,9 +357,9 @@ int main(int argc, char **argv)
#endif /* !BAREBUILD */
putchar(tp.framedelims[0]);
- yyparse();
+ ticv02yyparse();
printf("%c\n", tp.framedelims[1]);
- yylex_destroy();
+ ticv02yylex_destroy();
free(etiq_en);
return 0;
diff --git a/ticv02.l b/ticv02.l
index 183b446686456af3dafef1acc50a676971675e4f..18d5973e1ed987e5f3e66bf61163fea7ce0c06c0 100644 (file)
--- a/ticv02.l
+++ b/ticv02.l
@@ -81,80 +81,80 @@ SEP \x09
/* etiquettes - mode standard */
-ADSC { crc_calc(); yylval.label = "ADSC"; return ET_ADSC; }
-VTIC { crc_calc(); yylval.label = "VTIC"; return ET_VTIC; }
-DATE { crc_calc(); yylval.label = "DATE"; return ET_DATE; }
-NGTF { crc_calc(); yylval.label = "NGTF"; return ET_NGTF; }
-LTARF { crc_calc(); yylval.label = "LTARF"; return ET_LTARF; }
-EAST { crc_calc(); yylval.label = "EAST"; return ET_EAST; }
-EASF01 { crc_calc(); yylval.label = "EASF01"; return ET_EASF01; }
-EASF02 { crc_calc(); yylval.label = "EASF02"; return ET_EASF02; }
-EASF03 { crc_calc(); yylval.label = "EASF03"; return ET_EASF03; }
-EASF04 { crc_calc(); yylval.label = "EASF04"; return ET_EASF04; }
-EASF05 { crc_calc(); yylval.label = "EASF05"; return ET_EASF05; }
-EASF06 { crc_calc(); yylval.label = "EASF06"; return ET_EASF06; }
-EASF07 { crc_calc(); yylval.label = "EASF07"; return ET_EASF07; }
-EASF08 { crc_calc(); yylval.label = "EASF08"; return ET_EASF08; }
-EASF09 { crc_calc(); yylval.label = "EASF09"; return ET_EASF09; }
-EASF10 { crc_calc(); yylval.label = "EASF10"; return ET_EASF10; }
-EASD01 { crc_calc(); yylval.label = "EASD01"; return ET_EASD01; }
-EASD02 { crc_calc(); yylval.label = "EASD02"; return ET_EASD02; }
-EASD03 { crc_calc(); yylval.label = "EASD03"; return ET_EASD03; }
-EASD04 { crc_calc(); yylval.label = "EASD04"; return ET_EASD04; }
-EAIT { crc_calc(); yylval.label = "EAIT"; return ET_EAIT; }
-ERQ1 { crc_calc(); yylval.label = "ERQ1"; return ET_ERQ1; }
-ERQ2 { crc_calc(); yylval.label = "ERQ2"; return ET_ERQ2; }
-ERQ3 { crc_calc(); yylval.label = "ERQ3"; return ET_ERQ3; }
-ERQ4 { crc_calc(); yylval.label = "ERQ4"; return ET_ERQ4; }
-IRMS1 { crc_calc(); yylval.label = "IRMS1"; return ET_IRMS1; }
-IRMS2 { crc_calc(); yylval.label = "IRMS2"; return ET_IRMS2; }
-IRMS3 { crc_calc(); yylval.label = "IRMS3"; return ET_IRMS3; }
-URMS1 { crc_calc(); yylval.label = "URMS1"; return ET_URMS1; }
-URMS2 { crc_calc(); yylval.label = "URMS2"; return ET_URMS2; }
-URMS3 { crc_calc(); yylval.label = "URMS3"; return ET_URMS3; }
-PREF { crc_calc(); yylval.label = "PREF"; return ET_PREF; }
-PCOUP { crc_calc(); yylval.label = "PCOUP"; return ET_PCOUP; }
-SINSTS { crc_calc(); yylval.label = "SINSTS"; return ET_SINSTS; }
-SINSTS1 { crc_calc(); yylval.label = "SINSTS1"; return ET_SINSTS1; }
-SINSTS2 { crc_calc(); yylval.label = "SINSTS2"; return ET_SINSTS2; }
-SINSTS3 { crc_calc(); yylval.label = "SINSTS3"; return ET_SINSTS3; }
-SMAXSN { crc_calc(); yylval.label = "SMAXSN"; return ET_SMAXSN; }
-SMAXSN1 { crc_calc(); yylval.label = "SMAXSN1"; return ET_SMAXSN1; }
-SMAXSN2 { crc_calc(); yylval.label = "SMAXSN2"; return ET_SMAXSN2; }
-SMAXSN3 { crc_calc(); yylval.label = "SMAXSN3"; return ET_SMAXSN3; }
-SMAXSN-1 { crc_calc(); yylval.label = "SMAXSN-1"; return ET_SMAXSNM1; }
-SMAXSN1-1 { crc_calc(); yylval.label = "SMAXSN1-1"; return ET_SMAXSN1M1; }
-SMAXSN2-1 { crc_calc(); yylval.label = "SMAXSN2-1"; return ET_SMAXSN2M1; }
-SMAXSN3-1 { crc_calc(); yylval.label = "SMAXSN3-1"; return ET_SMAXSN3M1; }
-SINSTI { crc_calc(); yylval.label = "SINSTI"; return ET_SINSTI; }
-SMAXIN { crc_calc(); yylval.label = "SMAXIN"; return ET_SMAXIN; }
-SMAXIN-1 { crc_calc(); yylval.label = "SMAXIN-1"; return ET_SMAXINM1; }
-CCASN { crc_calc(); yylval.label = "CCASN"; return ET_CCASN; }
-CCASN-1 { crc_calc(); yylval.label = "CCASN-1"; return ET_CCASNM1; }
-CCAIN { crc_calc(); yylval.label = "CCAIN"; return ET_CCAIN; }
-CCAIN-1 { crc_calc(); yylval.label = "CCAIN-1"; return ET_CCAINM1; }
-UMOY1 { crc_calc(); yylval.label = "UMOY1"; return ET_UMOY1; }
-UMOY2 { crc_calc(); yylval.label = "UMOY2"; return ET_UMOY2; }
-UMOY3 { crc_calc(); yylval.label = "UMOY3"; return ET_UMOY3; }
-STGE { crc_calc(); yylval.label = "STGE"; return ET_STGE; }
-DPM1 { crc_calc(); yylval.label = "DPM1"; return ET_DPM1; }
-FPM1 { crc_calc(); yylval.label = "FPM1"; return ET_FPM1; }
-DPM2 { crc_calc(); yylval.label = "DPM2"; return ET_DPM2; }
-FPM2 { crc_calc(); yylval.label = "FPM2"; return ET_FPM2; }
-DPM3 { crc_calc(); yylval.label = "DPM3"; return ET_DPM3; }
-FPM3 { crc_calc(); yylval.label = "FPM3"; return ET_FPM3; }
-MSG1 { crc_calc(); yylval.label = "MSG1"; return ET_MSG1; }
-MSG2 { crc_calc(); yylval.label = "MSG2"; return ET_MSG2; }
-PRM { crc_calc(); yylval.label = "PRM"; return ET_PRM; }
-RELAIS { crc_calc(); yylval.label = "RELAIS"; return ET_RELAIS; }
-NTARF { crc_calc(); yylval.label = "NTARF"; return ET_NTARF; }
-NJOURF { crc_calc(); yylval.label = "NJOURF"; return ET_NJOURF; }
-NJOURF\+1 { crc_calc(); yylval.label = "NJOURF+1"; return ET_NJOURFP1; }
-PJOURF\+1 { crc_calc(); yylval.label = "PJOURF+1"; return ET_PJOURFP1; }
-PPOINTE { crc_calc(); yylval.label = "PPOINTE"; return ET_PPOINTE; }
-
-<INITIAL>{HORODATE} { crc_calc(); yylval.text = strdup(yytext); return TOK_HDATE; }
-<INITIAL>{DATAC}+ { crc_calc(); yylval.text = strdup(yytext); return TOK_DATA; }
+ADSC { crc_calc(); ticv02yylval.label = "ADSC"; return ET_ADSC; }
+VTIC { crc_calc(); ticv02yylval.label = "VTIC"; return ET_VTIC; }
+DATE { crc_calc(); ticv02yylval.label = "DATE"; return ET_DATE; }
+NGTF { crc_calc(); ticv02yylval.label = "NGTF"; return ET_NGTF; }
+LTARF { crc_calc(); ticv02yylval.label = "LTARF"; return ET_LTARF; }
+EAST { crc_calc(); ticv02yylval.label = "EAST"; return ET_EAST; }
+EASF01 { crc_calc(); ticv02yylval.label = "EASF01"; return ET_EASF01; }
+EASF02 { crc_calc(); ticv02yylval.label = "EASF02"; return ET_EASF02; }
+EASF03 { crc_calc(); ticv02yylval.label = "EASF03"; return ET_EASF03; }
+EASF04 { crc_calc(); ticv02yylval.label = "EASF04"; return ET_EASF04; }
+EASF05 { crc_calc(); ticv02yylval.label = "EASF05"; return ET_EASF05; }
+EASF06 { crc_calc(); ticv02yylval.label = "EASF06"; return ET_EASF06; }
+EASF07 { crc_calc(); ticv02yylval.label = "EASF07"; return ET_EASF07; }
+EASF08 { crc_calc(); ticv02yylval.label = "EASF08"; return ET_EASF08; }
+EASF09 { crc_calc(); ticv02yylval.label = "EASF09"; return ET_EASF09; }
+EASF10 { crc_calc(); ticv02yylval.label = "EASF10"; return ET_EASF10; }
+EASD01 { crc_calc(); ticv02yylval.label = "EASD01"; return ET_EASD01; }
+EASD02 { crc_calc(); ticv02yylval.label = "EASD02"; return ET_EASD02; }
+EASD03 { crc_calc(); ticv02yylval.label = "EASD03"; return ET_EASD03; }
+EASD04 { crc_calc(); ticv02yylval.label = "EASD04"; return ET_EASD04; }
+EAIT { crc_calc(); ticv02yylval.label = "EAIT"; return ET_EAIT; }
+ERQ1 { crc_calc(); ticv02yylval.label = "ERQ1"; return ET_ERQ1; }
+ERQ2 { crc_calc(); ticv02yylval.label = "ERQ2"; return ET_ERQ2; }
+ERQ3 { crc_calc(); ticv02yylval.label = "ERQ3"; return ET_ERQ3; }
+ERQ4 { crc_calc(); ticv02yylval.label = "ERQ4"; return ET_ERQ4; }
+IRMS1 { crc_calc(); ticv02yylval.label = "IRMS1"; return ET_IRMS1; }
+IRMS2 { crc_calc(); ticv02yylval.label = "IRMS2"; return ET_IRMS2; }
+IRMS3 { crc_calc(); ticv02yylval.label = "IRMS3"; return ET_IRMS3; }
+URMS1 { crc_calc(); ticv02yylval.label = "URMS1"; return ET_URMS1; }
+URMS2 { crc_calc(); ticv02yylval.label = "URMS2"; return ET_URMS2; }
+URMS3 { crc_calc(); ticv02yylval.label = "URMS3"; return ET_URMS3; }
+PREF { crc_calc(); ticv02yylval.label = "PREF"; return ET_PREF; }
+PCOUP { crc_calc(); ticv02yylval.label = "PCOUP"; return ET_PCOUP; }
+SINSTS { crc_calc(); ticv02yylval.label = "SINSTS"; return ET_SINSTS; }
+SINSTS1 { crc_calc(); ticv02yylval.label = "SINSTS1"; return ET_SINSTS1; }
+SINSTS2 { crc_calc(); ticv02yylval.label = "SINSTS2"; return ET_SINSTS2; }
+SINSTS3 { crc_calc(); ticv02yylval.label = "SINSTS3"; return ET_SINSTS3; }
+SMAXSN { crc_calc(); ticv02yylval.label = "SMAXSN"; return ET_SMAXSN; }
+SMAXSN1 { crc_calc(); ticv02yylval.label = "SMAXSN1"; return ET_SMAXSN1; }
+SMAXSN2 { crc_calc(); ticv02yylval.label = "SMAXSN2"; return ET_SMAXSN2; }
+SMAXSN3 { crc_calc(); ticv02yylval.label = "SMAXSN3"; return ET_SMAXSN3; }
+SMAXSN-1 { crc_calc(); ticv02yylval.label = "SMAXSN-1"; return ET_SMAXSNM1; }
+SMAXSN1-1 { crc_calc(); ticv02yylval.label = "SMAXSN1-1"; return ET_SMAXSN1M1; }
+SMAXSN2-1 { crc_calc(); ticv02yylval.label = "SMAXSN2-1"; return ET_SMAXSN2M1; }
+SMAXSN3-1 { crc_calc(); ticv02yylval.label = "SMAXSN3-1"; return ET_SMAXSN3M1; }
+SINSTI { crc_calc(); ticv02yylval.label = "SINSTI"; return ET_SINSTI; }
+SMAXIN { crc_calc(); ticv02yylval.label = "SMAXIN"; return ET_SMAXIN; }
+SMAXIN-1 { crc_calc(); ticv02yylval.label = "SMAXIN-1"; return ET_SMAXINM1; }
+CCASN { crc_calc(); ticv02yylval.label = "CCASN"; return ET_CCASN; }
+CCASN-1 { crc_calc(); ticv02yylval.label = "CCASN-1"; return ET_CCASNM1; }
+CCAIN { crc_calc(); ticv02yylval.label = "CCAIN"; return ET_CCAIN; }
+CCAIN-1 { crc_calc(); ticv02yylval.label = "CCAIN-1"; return ET_CCAINM1; }
+UMOY1 { crc_calc(); ticv02yylval.label = "UMOY1"; return ET_UMOY1; }
+UMOY2 { crc_calc(); ticv02yylval.label = "UMOY2"; return ET_UMOY2; }
+UMOY3 { crc_calc(); ticv02yylval.label = "UMOY3"; return ET_UMOY3; }
+STGE { crc_calc(); ticv02yylval.label = "STGE"; return ET_STGE; }
+DPM1 { crc_calc(); ticv02yylval.label = "DPM1"; return ET_DPM1; }
+FPM1 { crc_calc(); ticv02yylval.label = "FPM1"; return ET_FPM1; }
+DPM2 { crc_calc(); ticv02yylval.label = "DPM2"; return ET_DPM2; }
+FPM2 { crc_calc(); ticv02yylval.label = "FPM2"; return ET_FPM2; }
+DPM3 { crc_calc(); ticv02yylval.label = "DPM3"; return ET_DPM3; }
+FPM3 { crc_calc(); ticv02yylval.label = "FPM3"; return ET_FPM3; }
+MSG1 { crc_calc(); ticv02yylval.label = "MSG1"; return ET_MSG1; }
+MSG2 { crc_calc(); ticv02yylval.label = "MSG2"; return ET_MSG2; }
+PRM { crc_calc(); ticv02yylval.label = "PRM"; return ET_PRM; }
+RELAIS { crc_calc(); ticv02yylval.label = "RELAIS"; return ET_RELAIS; }
+NTARF { crc_calc(); ticv02yylval.label = "NTARF"; return ET_NTARF; }
+NJOURF { crc_calc(); ticv02yylval.label = "NJOURF"; return ET_NJOURF; }
+NJOURF\+1 { crc_calc(); ticv02yylval.label = "NJOURF+1"; return ET_NJOURFP1; }
+PJOURF\+1 { crc_calc(); ticv02yylval.label = "PJOURF+1"; return ET_PJOURFP1; }
+PPOINTE { crc_calc(); ticv02yylval.label = "PPOINTE"; return ET_PPOINTE; }
+
+<INITIAL>{HORODATE} { crc_calc(); ticv02yylval.text = strdup(yytext); return TOK_HDATE; }
+<INITIAL>{DATAC}+ { crc_calc(); ticv02yylval.text = strdup(yytext); return TOK_DATA; }
. { pr_err("spurious character 0x%02hhx\n", *yytext); return *yytext; }
diff --git a/ticv02.y b/ticv02.y
index dc92173bd3da84503b832e5026fc631f3e0c1011..7cb785d0323af5e950dea685d283e439be4039e0 100644 (file)
--- a/ticv02.y
+++ b/ticv02.y
@@ -22,9 +22,9 @@
#include <stdlib.h>
#include "tic2json.h"
-int yylex();
-int yylex_destroy();
-extern FILE *yyin;
+int ticv02yylex();
+int ticv02yylex_destroy();
+extern FILE *ticv02yyin;
static void yyerror(const char *);
extern int filter_mode;
@@ -202,7 +202,7 @@ etiquette_nodate:
#ifndef BAREBUILD
void parse_config(const char *filename)
{
- if (!(yyin = fopen(filename, "r"))) {
+ if (!(ticv02yyin = fopen(filename, "r"))) {
perror(filename);
exit(-1);
}
@@ -212,14 +212,14 @@ void parse_config(const char *filename)
abort(); // OOM
filter_mode = 1;
- if (yyparse()) {
+ if (ticv02yyparse()) {
pr_err("%s: filter config error!\n", filename);
exit(-1);
}
- fclose(yyin);
- yylex_destroy();
- yyin = stdin;
+ fclose(ticv02yyin);
+ ticv02yylex_destroy();
+ ticv02yyin = stdin;
filter_mode = 0;
}
#endif /* !BAREBUILD */
tic2json TIC parser/converter
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /