trenni 3.11.0 → 3.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ext/tmp/x86_64-linux/lib/trenni/trenni.so +0 -0
- data/ext/tmp/{x86_64-darwin16 → x86_64-linux}/trenni/2.4.0/Makefile +24 -25
- data/ext/tmp/x86_64-linux/trenni/2.4.0/escape.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/markup.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/mkmf.log +108 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/tag.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/template.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/trenni.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.4.0/trenni.so +0 -0
- data/ext/tmp/{x86_64-darwin18/trenni/2.6.2 → x86_64-linux/trenni/2.7.0}/Makefile +32 -32
- data/ext/tmp/x86_64-linux/trenni/2.7.0/escape.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/markup.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/mkmf.log +113 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/query.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/tag.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/template.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/trenni.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.0/trenni.so +0 -0
- data/ext/tmp/{x86_64-darwin19 → x86_64-linux}/trenni/2.7.1/Makefile +27 -28
- data/ext/tmp/x86_64-linux/trenni/2.7.1/escape.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/markup.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/mkmf.log +113 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/query.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/tag.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/template.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/trenni.o +0 -0
- data/ext/tmp/x86_64-linux/trenni/2.7.1/trenni.so +0 -0
- data/lib/trenni/builder.rb +46 -10
- data/lib/trenni/fallback/markup.rl.dot +278 -0
- data/lib/trenni/fallback/markup.rl.pdf +0 -0
- data/lib/trenni/fallback/query.rl.dot +54 -0
- data/lib/trenni/fallback/query.rl.pdf +0 -0
- data/lib/trenni/fallback/template.rl.dot +270 -0
- data/lib/trenni/fallback/template.rl.pdf +0 -0
- data/lib/trenni/template.rb +9 -18
- data/lib/trenni/trenni.so +0 -0
- data/lib/trenni/version.rb +1 -1
- data/spec/trenni/builder_spec.rb +1 -1
- data/spec/trenni/template_spec/builder.trenni +2 -2
- metadata +41 -51
- data/ext/.DS_Store +0 -0
- data/ext/tmp/.DS_Store +0 -0
- data/ext/tmp/x86_64-darwin16/lib/trenni/trenni.bundle +0 -0
- data/ext/tmp/x86_64-darwin16/trenni/2.4.0/escape.o +0 -0
- data/ext/tmp/x86_64-darwin16/trenni/2.4.0/markup.o +0 -0
- data/ext/tmp/x86_64-darwin16/trenni/2.4.0/mkmf.log +0 -105
- data/ext/tmp/x86_64-darwin16/trenni/2.4.0/tag.o +0 -0
- data/ext/tmp/x86_64-darwin16/trenni/2.4.0/template.o +0 -0
- data/ext/tmp/x86_64-darwin16/trenni/2.4.0/trenni.bundle +0 -0
- data/ext/tmp/x86_64-darwin16/trenni/2.4.0/trenni.o +0 -0
- data/ext/tmp/x86_64-darwin18/lib/trenni/trenni.bundle +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.1/Makefile +0 -266
- data/ext/tmp/x86_64-darwin18/trenni/2.6.1/escape.o +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.1/markup.o +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.1/mkmf.log +0 -109
- data/ext/tmp/x86_64-darwin18/trenni/2.6.1/tag.o +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.1/template.o +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.1/trenni.bundle +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.1/trenni.o +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.2/escape.o +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.2/markup.o +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.2/mkmf.log +0 -109
- data/ext/tmp/x86_64-darwin18/trenni/2.6.2/tag.o +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.2/template.o +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.2/trenni.bundle +0 -0
- data/ext/tmp/x86_64-darwin18/trenni/2.6.2/trenni.o +0 -0
- data/ext/tmp/x86_64-darwin19/lib/trenni/trenni.bundle +0 -0
- data/ext/tmp/x86_64-darwin19/trenni/2.7.1/escape.o +0 -0
- data/ext/tmp/x86_64-darwin19/trenni/2.7.1/markup.o +0 -0
- data/ext/tmp/x86_64-darwin19/trenni/2.7.1/mkmf.log +0 -109
- data/ext/tmp/x86_64-darwin19/trenni/2.7.1/query.o +0 -0
- data/ext/tmp/x86_64-darwin19/trenni/2.7.1/tag.o +0 -0
- data/ext/tmp/x86_64-darwin19/trenni/2.7.1/template.o +0 -0
- data/ext/tmp/x86_64-darwin19/trenni/2.7.1/trenni.bundle +0 -0
- data/ext/tmp/x86_64-darwin19/trenni/2.7.1/trenni.o +0 -0
- data/ext/trenni/.DS_Store +0 -0
- data/lib/.DS_Store +0 -0
- data/lib/trenni/.DS_Store +0 -0
- data/parsers/.DS_Store +0 -0
- data/spec/.DS_Store +0 -0
- data/spec/trenni/template_spec/.DS_Store +0 -0
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -12,12 +12,12 @@ NULLCMD = :
|
|
12
12
|
#### Start of system configuration section. ####
|
13
13
|
|
14
14
|
srcdir = ../../../../trenni
|
15
|
-
topdir = /
|
15
|
+
topdir = /home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0
|
16
16
|
hdrdir = $(topdir)
|
17
|
-
arch_hdrdir = /
|
17
|
+
arch_hdrdir = /home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux
|
18
18
|
PATH_SEPARATOR = :
|
19
19
|
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
|
20
|
-
prefix = $(DESTDIR)/
|
20
|
+
prefix = $(DESTDIR)/home/samuel/.rubies/ruby-2.7.1
|
21
21
|
rubysitearchprefix = $(rubylibprefix)/$(sitearch)
|
22
22
|
rubyarchprefix = $(rubylibprefix)/$(arch)
|
23
23
|
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
|
@@ -50,7 +50,7 @@ dvidir = $(docdir)
|
|
50
50
|
htmldir = $(docdir)
|
51
51
|
infodir = $(datarootdir)/info
|
52
52
|
docdir = $(datarootdir)/doc/$(PACKAGE)
|
53
|
-
oldincludedir = $(
|
53
|
+
oldincludedir = $(DESTDIR)/usr/include
|
54
54
|
includedir = $(prefix)/include
|
55
55
|
runstatedir = $(localstatedir)/run
|
56
56
|
localstatedir = $(prefix)/var
|
@@ -65,12 +65,12 @@ archdir = $(rubyarchdir)
|
|
65
65
|
|
66
66
|
|
67
67
|
CC_WRAPPER =
|
68
|
-
CC =
|
69
|
-
CXX =
|
68
|
+
CC = gcc
|
69
|
+
CXX = g++
|
70
70
|
LIBRUBY = $(LIBRUBY_A)
|
71
71
|
LIBRUBY_A = lib$(RUBY_SO_NAME)-static.a
|
72
|
-
LIBRUBYARG_SHARED =
|
73
|
-
LIBRUBYARG_STATIC = -l$(RUBY_SO_NAME)-static
|
72
|
+
LIBRUBYARG_SHARED = -Wl,-rpath,$(libdir) -L$(libdir)
|
73
|
+
LIBRUBYARG_STATIC = -Wl,-rpath,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static $(MAINLIBS)
|
74
74
|
empty =
|
75
75
|
OUTFLAG = -o $(empty)
|
76
76
|
COUTFLAG = -o $(empty)
|
@@ -81,31 +81,31 @@ cflags = $(optflags) $(debugflags) $(warnflags)
|
|
81
81
|
cxxflags =
|
82
82
|
optflags = -O3
|
83
83
|
debugflags = -ggdb3
|
84
|
-
warnflags = -Wall -Wextra -Wdeprecated-declarations -
|
84
|
+
warnflags = -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable
|
85
85
|
cppflags =
|
86
|
-
CCDLFLAGS = -
|
87
|
-
CFLAGS = $(CCDLFLAGS) $(cflags)
|
86
|
+
CCDLFLAGS = -fPIC
|
87
|
+
CFLAGS = $(CCDLFLAGS) $(cflags) -O3 -std=c99 $(ARCH_FLAG)
|
88
88
|
INCFLAGS = -I. -I$(arch_hdrdir) -I$(hdrdir)/ruby/backward -I$(hdrdir) -I$(srcdir)
|
89
89
|
DEFS =
|
90
|
-
CPPFLAGS = -DHAVE_RB_SYM2STR -DHAVE_RB_STR_CAT_CSTR
|
90
|
+
CPPFLAGS = -DHAVE_RB_SYM2STR -DHAVE_RB_STR_CAT_CSTR $(DEFS) $(cppflags)
|
91
91
|
CXXFLAGS = $(CCDLFLAGS) -g -O2 $(ARCH_FLAG)
|
92
|
-
ldflags = -L. -fstack-protector-strong -
|
93
|
-
dldflags = -Wl
|
92
|
+
ldflags = -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic
|
93
|
+
dldflags = -Wl,--compress-debug-sections=zlib
|
94
94
|
ARCH_FLAG =
|
95
95
|
DLDFLAGS = $(ldflags) $(dldflags) $(ARCH_FLAG)
|
96
|
-
LDSHARED = $(CC) -
|
97
|
-
LDSHAREDXX = $(CXX) -
|
98
|
-
AR =
|
96
|
+
LDSHARED = $(CC) -shared
|
97
|
+
LDSHAREDXX = $(CXX) -shared
|
98
|
+
AR = ar
|
99
99
|
EXEEXT =
|
100
100
|
|
101
101
|
RUBY_INSTALL_NAME = $(RUBY_BASE_NAME)
|
102
|
-
RUBY_SO_NAME = ruby
|
102
|
+
RUBY_SO_NAME = ruby
|
103
103
|
RUBYW_INSTALL_NAME =
|
104
104
|
RUBY_VERSION_NAME = $(RUBY_BASE_NAME)-$(ruby_version)
|
105
105
|
RUBYW_BASE_NAME = rubyw
|
106
106
|
RUBY_BASE_NAME = ruby
|
107
107
|
|
108
|
-
arch = x86_64-
|
108
|
+
arch = x86_64-linux
|
109
109
|
sitearch = $(arch)
|
110
110
|
ruby_version = 2.7.0
|
111
111
|
ruby = $(bindir)/$(RUBY_BASE_NAME)
|
@@ -114,9 +114,9 @@ ruby_headers = $(hdrdir)/ruby.h $(hdrdir)/ruby/backward.h $(hdrdir)/ruby/ruby.h
|
|
114
114
|
|
115
115
|
RM = rm -f
|
116
116
|
RM_RF = $(RUBY) -run -e rm -- -rf
|
117
|
-
RMDIRS = rmdir -p
|
118
|
-
MAKEDIRS = /
|
119
|
-
INSTALL = /
|
117
|
+
RMDIRS = rmdir --ignore-fail-on-non-empty -p
|
118
|
+
MAKEDIRS = /usr/bin/mkdir -p
|
119
|
+
INSTALL = /usr/bin/install -c
|
120
120
|
INSTALL_PROG = $(INSTALL) -m 0755
|
121
121
|
INSTALL_DATA = $(INSTALL) -m 644
|
122
122
|
COPY = cp
|
@@ -125,8 +125,8 @@ TOUCH = exit >
|
|
125
125
|
#### End of system configuration section. ####
|
126
126
|
|
127
127
|
preload =
|
128
|
-
libpath = . $(libdir)
|
129
|
-
LIBPATH = -L. -L$(libdir) -
|
128
|
+
libpath = . $(libdir)
|
129
|
+
LIBPATH = -L. -L$(libdir) -Wl,-rpath,$(libdir)
|
130
130
|
DEFFILE =
|
131
131
|
|
132
132
|
CLEANFILES = mkmf.log
|
@@ -137,16 +137,16 @@ extout =
|
|
137
137
|
extout_prefix =
|
138
138
|
target_prefix = /trenni
|
139
139
|
LOCAL_LIBS =
|
140
|
-
LIBS =
|
140
|
+
LIBS = -lm -lc
|
141
141
|
ORIG_SRCS = escape.c markup.c query.c tag.c template.c trenni.c
|
142
142
|
SRCS = $(ORIG_SRCS)
|
143
143
|
OBJS = escape.o markup.o query.o tag.o template.o trenni.o
|
144
|
-
HDRS = $(srcdir)/tag.h $(srcdir)/
|
144
|
+
HDRS = $(srcdir)/tag.h $(srcdir)/trenni.h $(srcdir)/markup.h $(srcdir)/query.h $(srcdir)/escape.h $(srcdir)/template.h
|
145
145
|
LOCAL_HDRS =
|
146
146
|
TARGET = trenni
|
147
147
|
TARGET_NAME = trenni
|
148
148
|
TARGET_ENTRY = Init_$(TARGET_NAME)
|
149
|
-
DLLIB = $(TARGET).
|
149
|
+
DLLIB = $(TARGET).so
|
150
150
|
EXTSTATIC =
|
151
151
|
STATIC_LIB =
|
152
152
|
|
@@ -260,7 +260,6 @@ $(TARGET_SO): $(OBJS) Makefile
|
|
260
260
|
$(ECHO) linking shared-object trenni/$(DLLIB)
|
261
261
|
-$(Q)$(RM) $(@)
|
262
262
|
$(Q) $(LDSHARED) -o $@ $(OBJS) $(LIBPATH) $(DLDFLAGS) $(LOCAL_LIBS) $(LIBS)
|
263
|
-
$(Q) $(POSTLINK)
|
264
263
|
|
265
264
|
|
266
265
|
|
Binary file
|
Binary file
|
@@ -0,0 +1,113 @@
|
|
1
|
+
have_func: checking for rb_sym2str()... -------------------- yes
|
2
|
+
|
3
|
+
"gcc -o conftest -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0 -I../../../../trenni -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -O3 -std=c99 conftest.c -L. -L/home/samuel/.rubies/ruby-2.7.1/lib -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L/home/samuel/.rubies/ruby-2.7.1/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
|
4
|
+
checked program was:
|
5
|
+
/* begin */
|
6
|
+
1: #include "ruby.h"
|
7
|
+
2:
|
8
|
+
3: int main(int argc, char **argv)
|
9
|
+
4: {
|
10
|
+
5: return !!argv[argc];
|
11
|
+
6: }
|
12
|
+
/* end */
|
13
|
+
|
14
|
+
"gcc -o conftest -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0 -I../../../../trenni -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -O3 -std=c99 conftest.c -L. -L/home/samuel/.rubies/ruby-2.7.1/lib -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L/home/samuel/.rubies/ruby-2.7.1/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
|
15
|
+
checked program was:
|
16
|
+
/* begin */
|
17
|
+
1: #include "ruby.h"
|
18
|
+
2:
|
19
|
+
3: /*top*/
|
20
|
+
4: extern int t(void);
|
21
|
+
5: int main(int argc, char **argv)
|
22
|
+
6: {
|
23
|
+
7: if (argc > 1000000) {
|
24
|
+
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
25
|
+
9: printf("%d", (*tp)());
|
26
|
+
10: }
|
27
|
+
11:
|
28
|
+
12: return !!argv[argc];
|
29
|
+
13: }
|
30
|
+
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_sym2str; return !p; }
|
31
|
+
/* end */
|
32
|
+
|
33
|
+
--------------------
|
34
|
+
|
35
|
+
have_func: checking for rb_str_cat_cstr()... -------------------- yes
|
36
|
+
|
37
|
+
"gcc -o conftest -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0 -I../../../../trenni -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -O3 -std=c99 conftest.c -L. -L/home/samuel/.rubies/ruby-2.7.1/lib -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L/home/samuel/.rubies/ruby-2.7.1/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
|
38
|
+
checked program was:
|
39
|
+
/* begin */
|
40
|
+
1: #include "ruby.h"
|
41
|
+
2:
|
42
|
+
3: /*top*/
|
43
|
+
4: extern int t(void);
|
44
|
+
5: int main(int argc, char **argv)
|
45
|
+
6: {
|
46
|
+
7: if (argc > 1000000) {
|
47
|
+
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
48
|
+
9: printf("%d", (*tp)());
|
49
|
+
10: }
|
50
|
+
11:
|
51
|
+
12: return !!argv[argc];
|
52
|
+
13: }
|
53
|
+
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_cat_cstr; return !p; }
|
54
|
+
/* end */
|
55
|
+
|
56
|
+
--------------------
|
57
|
+
|
58
|
+
have_func: checking for rb_str_reserve()... -------------------- no
|
59
|
+
|
60
|
+
"gcc -o conftest -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0 -I../../../../trenni -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -O3 -std=c99 conftest.c -L. -L/home/samuel/.rubies/ruby-2.7.1/lib -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L/home/samuel/.rubies/ruby-2.7.1/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
|
61
|
+
conftest.c: In function ‘t’:
|
62
|
+
conftest.c:14:57: error: ‘rb_str_reserve’ undeclared (first use in this function); did you mean ‘rb_str_resize’?
|
63
|
+
14 | int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_reserve; return !p; }
|
64
|
+
| ^~~~~~~~~~~~~~
|
65
|
+
| rb_str_resize
|
66
|
+
conftest.c:14:57: note: each undeclared identifier is reported only once for each function it appears in
|
67
|
+
conftest.c: At top level:
|
68
|
+
cc1: note: unrecognized command-line option ‘-Wno-self-assign’ may have been intended to silence earlier diagnostics
|
69
|
+
cc1: note: unrecognized command-line option ‘-Wno-parentheses-equality’ may have been intended to silence earlier diagnostics
|
70
|
+
cc1: note: unrecognized command-line option ‘-Wno-constant-logical-operand’ may have been intended to silence earlier diagnostics
|
71
|
+
checked program was:
|
72
|
+
/* begin */
|
73
|
+
1: #include "ruby.h"
|
74
|
+
2:
|
75
|
+
3: /*top*/
|
76
|
+
4: extern int t(void);
|
77
|
+
5: int main(int argc, char **argv)
|
78
|
+
6: {
|
79
|
+
7: if (argc > 1000000) {
|
80
|
+
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
81
|
+
9: printf("%d", (*tp)());
|
82
|
+
10: }
|
83
|
+
11:
|
84
|
+
12: return !!argv[argc];
|
85
|
+
13: }
|
86
|
+
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_str_reserve; return !p; }
|
87
|
+
/* end */
|
88
|
+
|
89
|
+
"gcc -o conftest -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/x86_64-linux -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0/ruby/backward -I/home/samuel/.rubies/ruby-2.7.1/include/ruby-2.7.0 -I../../../../trenni -O3 -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wmisleading-indentation -Wpointer-arith -Wwrite-strings -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -O3 -std=c99 conftest.c -L. -L/home/samuel/.rubies/ruby-2.7.1/lib -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-rpath,/home/samuel/.rubies/ruby-2.7.1/lib -L/home/samuel/.rubies/ruby-2.7.1/lib -lruby-static -lz -lpthread -lrt -lrt -lgmp -ldl -lcrypt -lm -lm -lc"
|
90
|
+
/usr/bin/ld: /tmp/cc913emt.o: in function `t':
|
91
|
+
/home/samuel/Documents/ioquatix/trenni/ext/tmp/x86_64-linux/trenni/2.7.1/conftest.c:15: undefined reference to `rb_str_reserve'
|
92
|
+
collect2: error: ld returned 1 exit status
|
93
|
+
checked program was:
|
94
|
+
/* begin */
|
95
|
+
1: #include "ruby.h"
|
96
|
+
2:
|
97
|
+
3: /*top*/
|
98
|
+
4: extern int t(void);
|
99
|
+
5: int main(int argc, char **argv)
|
100
|
+
6: {
|
101
|
+
7: if (argc > 1000000) {
|
102
|
+
8: int (* volatile tp)(void)=(int (*)(void))&t;
|
103
|
+
9: printf("%d", (*tp)());
|
104
|
+
10: }
|
105
|
+
11:
|
106
|
+
12: return !!argv[argc];
|
107
|
+
13: }
|
108
|
+
14: extern void rb_str_reserve();
|
109
|
+
15: int t(void) { rb_str_reserve(); return 0; }
|
110
|
+
/* end */
|
111
|
+
|
112
|
+
--------------------
|
113
|
+
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/lib/trenni/builder.rb
CHANGED
@@ -28,25 +28,57 @@ module Trenni
|
|
28
28
|
class Builder
|
29
29
|
include Markup
|
30
30
|
|
31
|
-
INDENT = "\t"
|
31
|
+
INDENT = "\t"
|
32
|
+
|
33
|
+
class Fragment
|
34
|
+
def initialize(block)
|
35
|
+
@block = block
|
36
|
+
@builder = nil
|
37
|
+
end
|
38
|
+
|
39
|
+
def call(builder)
|
40
|
+
@block.call(builder)
|
41
|
+
end
|
42
|
+
|
43
|
+
def to_s
|
44
|
+
unless @builder
|
45
|
+
@builder = Builder.new
|
46
|
+
|
47
|
+
self.call(@builder)
|
48
|
+
end
|
49
|
+
|
50
|
+
return @builder.to_s
|
51
|
+
end
|
52
|
+
|
53
|
+
def == other
|
54
|
+
# This is a bit of a hack... but is required for existing specs to pass:
|
55
|
+
self.to_s == other.to_s
|
56
|
+
end
|
57
|
+
end
|
32
58
|
|
33
59
|
# A helper to generate fragments of markup.
|
34
|
-
def self.fragment(
|
35
|
-
if
|
36
|
-
|
60
|
+
def self.fragment(output = nil, &block)
|
61
|
+
if output.is_a?(Binding)
|
62
|
+
output = Template.buffer(output)
|
63
|
+
end
|
64
|
+
|
65
|
+
if output.nil?
|
66
|
+
return Fragment.new(block)
|
67
|
+
end
|
68
|
+
|
69
|
+
if output.is_a?(Builder)
|
70
|
+
block.call(output)
|
37
71
|
else
|
38
|
-
|
39
|
-
|
40
|
-
yield builder
|
72
|
+
block.call(Builder.new(output))
|
41
73
|
end
|
42
74
|
|
43
|
-
return
|
75
|
+
return nil
|
44
76
|
end
|
45
77
|
|
46
78
|
def self.tag(name, content, **attributes)
|
47
79
|
self.fragment do |builder|
|
48
80
|
builder.inline(name, attributes) do
|
49
|
-
builder.text
|
81
|
+
builder.text(content)
|
50
82
|
end
|
51
83
|
end
|
52
84
|
end
|
@@ -129,7 +161,11 @@ module Trenni
|
|
129
161
|
def <<(content)
|
130
162
|
return unless content
|
131
163
|
|
132
|
-
|
164
|
+
if content.is_a?(Fragment)
|
165
|
+
content.call(self)
|
166
|
+
else
|
167
|
+
Markup.append(@output, content)
|
168
|
+
end
|
133
169
|
end
|
134
170
|
|
135
171
|
# Append pre-existing markup:
|
@@ -0,0 +1,278 @@
|
|
1
|
+
digraph markup {
|
2
|
+
rankdir=LR;
|
3
|
+
node [ shape = point ];
|
4
|
+
ENTRY;
|
5
|
+
en_42;
|
6
|
+
en_48;
|
7
|
+
eof_1;
|
8
|
+
eof_2;
|
9
|
+
eof_3;
|
10
|
+
eof_4;
|
11
|
+
eof_5;
|
12
|
+
eof_6;
|
13
|
+
eof_7;
|
14
|
+
eof_8;
|
15
|
+
eof_9;
|
16
|
+
eof_10;
|
17
|
+
eof_11;
|
18
|
+
eof_12;
|
19
|
+
eof_13;
|
20
|
+
eof_14;
|
21
|
+
eof_17;
|
22
|
+
eof_18;
|
23
|
+
eof_19;
|
24
|
+
eof_26;
|
25
|
+
eof_33;
|
26
|
+
eof_34;
|
27
|
+
eof_35;
|
28
|
+
eof_36;
|
29
|
+
eof_37;
|
30
|
+
eof_38;
|
31
|
+
eof_39;
|
32
|
+
eof_40;
|
33
|
+
eof_41;
|
34
|
+
eof_42;
|
35
|
+
eof_43;
|
36
|
+
eof_44;
|
37
|
+
eof_45;
|
38
|
+
eof_46;
|
39
|
+
eof_47;
|
40
|
+
eof_49;
|
41
|
+
eof_50;
|
42
|
+
eof_51;
|
43
|
+
eof_52;
|
44
|
+
eof_53;
|
45
|
+
eof_54;
|
46
|
+
eof_55;
|
47
|
+
eof_56;
|
48
|
+
node [ shape = circle, height = 0.2 ];
|
49
|
+
err_1 [ label=""];
|
50
|
+
err_2 [ label=""];
|
51
|
+
err_3 [ label=""];
|
52
|
+
err_4 [ label=""];
|
53
|
+
err_5 [ label=""];
|
54
|
+
err_6 [ label=""];
|
55
|
+
err_7 [ label=""];
|
56
|
+
err_8 [ label=""];
|
57
|
+
err_9 [ label=""];
|
58
|
+
err_10 [ label=""];
|
59
|
+
err_11 [ label=""];
|
60
|
+
err_12 [ label=""];
|
61
|
+
err_13 [ label=""];
|
62
|
+
err_14 [ label=""];
|
63
|
+
err_36 [ label=""];
|
64
|
+
err_37 [ label=""];
|
65
|
+
err_38 [ label=""];
|
66
|
+
err_39 [ label=""];
|
67
|
+
err_42 [ label=""];
|
68
|
+
err_43 [ label=""];
|
69
|
+
err_44 [ label=""];
|
70
|
+
err_45 [ label=""];
|
71
|
+
err_46 [ label=""];
|
72
|
+
err_47 [ label=""];
|
73
|
+
node [ fixedsize = true, height = 0.65, shape = doublecircle ];
|
74
|
+
48;
|
75
|
+
49;
|
76
|
+
50;
|
77
|
+
51;
|
78
|
+
52;
|
79
|
+
53;
|
80
|
+
54;
|
81
|
+
55;
|
82
|
+
56;
|
83
|
+
57;
|
84
|
+
node [ shape = circle ];
|
85
|
+
1 -> err_1 [ label = "0..SP, '\"'..',', ';'..'>', '@', '['..'^', '`', '{'..127 / tag_error" ];
|
86
|
+
1 -> 15 [ label = "'!'" ];
|
87
|
+
1 -> 36 [ label = "'/'" ];
|
88
|
+
1 -> 38 [ label = "'?'" ];
|
89
|
+
1 -> 2 [ label = "DEF / identifier_begin" ];
|
90
|
+
2 -> err_2 [ label = "0..'\\b', 14..31, '!'..',', ';'..'=', '?'..'@', '['..'^', '`', '{'..127 / tag_error" ];
|
91
|
+
2 -> 3 [ label = "'\\t'..'\\r', SP / identifier_end, tag_name" ];
|
92
|
+
2 -> 5 [ label = "'/' / identifier_end, tag_name, tag_self_closing" ];
|
93
|
+
2 -> 51 [ label = "'>' / identifier_end, tag_name" ];
|
94
|
+
2 -> 2 [ label = "DEF" ];
|
95
|
+
3 -> err_3 [ label = "0..'\\b', 14..31, '!'..',', ';'..'=', '?'..'@', '['..'^', '`', '{'..127 / tag_error" ];
|
96
|
+
3 -> 3 [ label = "'\\t'..'\\r', SP" ];
|
97
|
+
3 -> 5 [ label = "'/' / tag_self_closing" ];
|
98
|
+
3 -> 51 [ label = "'>'" ];
|
99
|
+
3 -> 4 [ label = "DEF / attribute_begin, identifier_begin" ];
|
100
|
+
4 -> err_4 [ label = "0..'\\b', 14..31, '!'..',', ';'..'<', '?'..'@', '['..'^', '`', '{'..127 / tag_error" ];
|
101
|
+
4 -> 3 [ label = "'\\t'..'\\r', SP / identifier_end, attribute" ];
|
102
|
+
4 -> 5 [ label = "'/' / identifier_end, attribute, tag_self_closing" ];
|
103
|
+
4 -> 6 [ label = "'=' / identifier_end" ];
|
104
|
+
4 -> 51 [ label = "'>' / identifier_end, attribute" ];
|
105
|
+
4 -> 4 [ label = "DEF" ];
|
106
|
+
5 -> 51 [ label = "'>'" ];
|
107
|
+
5 -> err_5 [ label = "DEF / tag_error" ];
|
108
|
+
6 -> 7 [ label = "'\"'" ];
|
109
|
+
6 -> 12 [ label = "'''" ];
|
110
|
+
6 -> err_6 [ label = "DEF / tag_error" ];
|
111
|
+
7 -> 11 [ label = "'\"'" ];
|
112
|
+
7 -> 10 [ label = "'&' / pcdata_begin, 10:16" ];
|
113
|
+
7 -> err_7 [ label = "'<' / tag_error" ];
|
114
|
+
7 -> 8 [ label = "DEF / pcdata_begin, characters_begin" ];
|
115
|
+
8 -> 9 [ label = "'\"' / characters_end, pcdata_end" ];
|
116
|
+
8 -> 10 [ label = "'&' / characters_end, 10:16" ];
|
117
|
+
8 -> err_8 [ label = "'<' / tag_error" ];
|
118
|
+
8 -> 8 [ label = "DEF" ];
|
119
|
+
9 -> 3 [ label = "'\\t'..'\\r', SP / attribute_value, attribute" ];
|
120
|
+
9 -> 5 [ label = "'/' / attribute_value, attribute, tag_self_closing" ];
|
121
|
+
9 -> 51 [ label = "'>' / attribute_value, attribute" ];
|
122
|
+
9 -> err_9 [ label = "DEF / tag_error" ];
|
123
|
+
10 -> 9 [ label = "'\"' / pcdata_end" ];
|
124
|
+
10 -> 10 [ label = "'&' / 10:16" ];
|
125
|
+
10 -> err_10 [ label = "'<' / tag_error" ];
|
126
|
+
10 -> 8 [ label = "DEF / characters_begin" ];
|
127
|
+
11 -> 3 [ label = "'\\t'..'\\r', SP / attribute_empty, attribute" ];
|
128
|
+
11 -> 5 [ label = "'/' / attribute_empty, attribute, tag_self_closing" ];
|
129
|
+
11 -> 51 [ label = "'>' / attribute_empty, attribute" ];
|
130
|
+
11 -> err_11 [ label = "DEF / tag_error" ];
|
131
|
+
12 -> 14 [ label = "'&' / pcdata_begin, 10:16" ];
|
132
|
+
12 -> 11 [ label = "'''" ];
|
133
|
+
12 -> err_12 [ label = "'<' / tag_error" ];
|
134
|
+
12 -> 13 [ label = "DEF / pcdata_begin, characters_begin" ];
|
135
|
+
13 -> 14 [ label = "'&' / characters_end, 10:16" ];
|
136
|
+
13 -> 9 [ label = "''' / characters_end, pcdata_end" ];
|
137
|
+
13 -> err_13 [ label = "'<' / tag_error" ];
|
138
|
+
13 -> 13 [ label = "DEF" ];
|
139
|
+
14 -> 14 [ label = "'&' / 10:16" ];
|
140
|
+
14 -> 9 [ label = "''' / pcdata_end" ];
|
141
|
+
14 -> err_14 [ label = "'<' / tag_error" ];
|
142
|
+
14 -> 13 [ label = "DEF / characters_begin" ];
|
143
|
+
15 -> 16 [ label = "'-'" ];
|
144
|
+
15 -> 20 [ label = "'D'" ];
|
145
|
+
15 -> 27 [ label = "'['" ];
|
146
|
+
16 -> 17 [ label = "'-'" ];
|
147
|
+
17 -> 18 [ label = "'-'" ];
|
148
|
+
17 -> 17 [ label = "DEF" ];
|
149
|
+
18 -> 19 [ label = "'-'" ];
|
150
|
+
18 -> 17 [ label = "DEF" ];
|
151
|
+
19 -> 19 [ label = "'-'" ];
|
152
|
+
19 -> 52 [ label = "'>'" ];
|
153
|
+
19 -> 17 [ label = "DEF" ];
|
154
|
+
20 -> 21 [ label = "'O'" ];
|
155
|
+
21 -> 22 [ label = "'C'" ];
|
156
|
+
22 -> 23 [ label = "'T'" ];
|
157
|
+
23 -> 24 [ label = "'Y'" ];
|
158
|
+
24 -> 25 [ label = "'P'" ];
|
159
|
+
25 -> 26 [ label = "'E'" ];
|
160
|
+
26 -> 53 [ label = "'>'" ];
|
161
|
+
26 -> 26 [ label = "DEF" ];
|
162
|
+
27 -> 28 [ label = "'C'" ];
|
163
|
+
28 -> 29 [ label = "'D'" ];
|
164
|
+
29 -> 30 [ label = "'A'" ];
|
165
|
+
30 -> 31 [ label = "'T'" ];
|
166
|
+
31 -> 32 [ label = "'A'" ];
|
167
|
+
32 -> 33 [ label = "'['" ];
|
168
|
+
33 -> 34 [ label = "']'" ];
|
169
|
+
33 -> 33 [ label = "DEF" ];
|
170
|
+
34 -> 35 [ label = "']'" ];
|
171
|
+
34 -> 33 [ label = "DEF" ];
|
172
|
+
35 -> 54 [ label = "'>'" ];
|
173
|
+
35 -> 35 [ label = "']'" ];
|
174
|
+
35 -> 33 [ label = "DEF" ];
|
175
|
+
36 -> err_36 [ label = "0..',', '/', ';'..'@', '['..'^', '`', '{'..127 / tag_error" ];
|
176
|
+
36 -> 37 [ label = "DEF / identifier_begin" ];
|
177
|
+
37 -> err_37 [ label = "0..',', '/', ';'..'=', '?'..'@', '['..'^', '`', '{'..127 / tag_error" ];
|
178
|
+
37 -> 55 [ label = "'>' / identifier_end" ];
|
179
|
+
37 -> 37 [ label = "DEF" ];
|
180
|
+
38 -> err_38 [ label = "0..',', '/', ';'..'@', '['..'^', '`', '{'..127 / instruction_error" ];
|
181
|
+
38 -> 39 [ label = "DEF / identifier_begin" ];
|
182
|
+
39 -> err_39 [ label = "0..'\\b', 14..31, '!'..',', '/', ';'..'@', '['..'^', '`', '{'..127 / instruction_error" ];
|
183
|
+
39 -> 40 [ label = "'\\t'..'\\r', SP / identifier_end, instruction_text_begin" ];
|
184
|
+
39 -> 39 [ label = "DEF" ];
|
185
|
+
40 -> 41 [ label = "'?' / instruction_text_end" ];
|
186
|
+
40 -> 40 [ label = "DEF" ];
|
187
|
+
41 -> 56 [ label = "'>'" ];
|
188
|
+
41 -> 41 [ label = "'?' / instruction_text_end" ];
|
189
|
+
41 -> 40 [ label = "DEF" ];
|
190
|
+
42 -> 43 [ label = "'#'" ];
|
191
|
+
42 -> 47 [ label = "'0'..'9', 'A'..'Z', 'a'..'z' / entity_begin" ];
|
192
|
+
42 -> err_42 [ label = "DEF / entity_error" ];
|
193
|
+
43 -> 44 [ label = "'0'..'9' / entity_begin" ];
|
194
|
+
43 -> 45 [ label = "'x'" ];
|
195
|
+
43 -> err_43 [ label = "DEF / entity_error" ];
|
196
|
+
44 -> 44 [ label = "'0'..'9'" ];
|
197
|
+
44 -> 57 [ label = "';' / entity_number, 8:5" ];
|
198
|
+
44 -> err_44 [ label = "DEF / entity_error" ];
|
199
|
+
45 -> 46 [ label = "'0'..'9', 'A'..'F', 'a'..'f' / entity_begin" ];
|
200
|
+
45 -> err_45 [ label = "DEF / entity_error" ];
|
201
|
+
46 -> 46 [ label = "'0'..'9', 'A'..'F', 'a'..'f'" ];
|
202
|
+
46 -> 57 [ label = "';' / entity_hex, 8:5" ];
|
203
|
+
46 -> err_46 [ label = "DEF / entity_error" ];
|
204
|
+
47 -> 47 [ label = "'0'..'9', 'A'..'Z', 'a'..'z'" ];
|
205
|
+
47 -> 57 [ label = "';' / entity_name, 8:5" ];
|
206
|
+
47 -> err_47 [ label = "DEF / entity_error" ];
|
207
|
+
48 -> 50 [ label = "'&' / text_begin, pcdata_begin, 10:16" ];
|
208
|
+
48 -> 1 [ label = "'<' / tag_opening_begin, tag_closing_begin, instruction_begin, comment_begin, doctype_begin, cdata_begin" ];
|
209
|
+
48 -> 49 [ label = "DEF / text_begin, pcdata_begin, characters_begin" ];
|
210
|
+
49 -> 50 [ label = "'&' / characters_end, 10:16" ];
|
211
|
+
49 -> 1 [ label = "'<' / characters_end, pcdata_end, text_end, tag_opening_begin, tag_closing_begin, instruction_begin, comment_begin, doctype_begin, cdata_begin" ];
|
212
|
+
49 -> 49 [ label = "DEF" ];
|
213
|
+
50 -> 50 [ label = "'&' / 10:16" ];
|
214
|
+
50 -> 1 [ label = "'<' / pcdata_end, text_end, tag_opening_begin, tag_closing_begin, instruction_begin, comment_begin, doctype_begin, cdata_begin" ];
|
215
|
+
50 -> 49 [ label = "DEF / characters_begin" ];
|
216
|
+
51 -> 50 [ label = "'&' / tag_opening_end, text_begin, pcdata_begin, 10:16" ];
|
217
|
+
51 -> 1 [ label = "'<' / tag_opening_end, tag_opening_begin, tag_closing_begin, instruction_begin, comment_begin, doctype_begin, cdata_begin" ];
|
218
|
+
51 -> 49 [ label = "DEF / tag_opening_end, text_begin, pcdata_begin, characters_begin" ];
|
219
|
+
52 -> 50 [ label = "'&' / comment_end, text_begin, pcdata_begin, 10:16" ];
|
220
|
+
52 -> 1 [ label = "'<' / comment_end, tag_opening_begin, tag_closing_begin, instruction_begin, comment_begin, doctype_begin, cdata_begin" ];
|
221
|
+
52 -> 49 [ label = "DEF / comment_end, text_begin, pcdata_begin, characters_begin" ];
|
222
|
+
53 -> 50 [ label = "'&' / doctype_end, text_begin, pcdata_begin, 10:16" ];
|
223
|
+
53 -> 1 [ label = "'<' / doctype_end, tag_opening_begin, tag_closing_begin, instruction_begin, comment_begin, doctype_begin, cdata_begin" ];
|
224
|
+
53 -> 49 [ label = "DEF / doctype_end, text_begin, pcdata_begin, characters_begin" ];
|
225
|
+
54 -> 50 [ label = "'&' / cdata_end, text_begin, pcdata_begin, 10:16" ];
|
226
|
+
54 -> 1 [ label = "'<' / cdata_end, tag_opening_begin, tag_closing_begin, instruction_begin, comment_begin, doctype_begin, cdata_begin" ];
|
227
|
+
54 -> 49 [ label = "DEF / cdata_end, text_begin, pcdata_begin, characters_begin" ];
|
228
|
+
55 -> 50 [ label = "'&' / tag_closing_end, text_begin, pcdata_begin, 10:16" ];
|
229
|
+
55 -> 1 [ label = "'<' / tag_closing_end, tag_opening_begin, tag_closing_begin, instruction_begin, comment_begin, doctype_begin, cdata_begin" ];
|
230
|
+
55 -> 49 [ label = "DEF / tag_closing_end, text_begin, pcdata_begin, characters_begin" ];
|
231
|
+
56 -> 50 [ label = "'&' / instruction_end, text_begin, pcdata_begin, 10:16" ];
|
232
|
+
56 -> 1 [ label = "'<' / instruction_end, tag_opening_begin, tag_closing_begin, instruction_begin, comment_begin, doctype_begin, cdata_begin" ];
|
233
|
+
56 -> 49 [ label = "DEF / instruction_end, text_begin, pcdata_begin, characters_begin" ];
|
234
|
+
ENTRY -> 48 [ label = "IN" ];
|
235
|
+
en_42 -> 42 [ label = "parse_entity" ];
|
236
|
+
en_48 -> 48 [ label = "main" ];
|
237
|
+
1 -> eof_1 [ label = "EOF / tag_error" ];
|
238
|
+
2 -> eof_2 [ label = "EOF / tag_error" ];
|
239
|
+
3 -> eof_3 [ label = "EOF / tag_error" ];
|
240
|
+
4 -> eof_4 [ label = "EOF / tag_error" ];
|
241
|
+
5 -> eof_5 [ label = "EOF / tag_error" ];
|
242
|
+
6 -> eof_6 [ label = "EOF / tag_error" ];
|
243
|
+
7 -> eof_7 [ label = "EOF / tag_error" ];
|
244
|
+
8 -> eof_8 [ label = "EOF / tag_error" ];
|
245
|
+
9 -> eof_9 [ label = "EOF / tag_error" ];
|
246
|
+
10 -> eof_10 [ label = "EOF / tag_error" ];
|
247
|
+
11 -> eof_11 [ label = "EOF / tag_error" ];
|
248
|
+
12 -> eof_12 [ label = "EOF / tag_error" ];
|
249
|
+
13 -> eof_13 [ label = "EOF / tag_error" ];
|
250
|
+
14 -> eof_14 [ label = "EOF / tag_error" ];
|
251
|
+
17 -> eof_17 [ label = "EOF / comment_error" ];
|
252
|
+
18 -> eof_18 [ label = "EOF / comment_error" ];
|
253
|
+
19 -> eof_19 [ label = "EOF / comment_error" ];
|
254
|
+
26 -> eof_26 [ label = "EOF / doctype_error" ];
|
255
|
+
33 -> eof_33 [ label = "EOF / cdata_error" ];
|
256
|
+
34 -> eof_34 [ label = "EOF / cdata_error" ];
|
257
|
+
35 -> eof_35 [ label = "EOF / cdata_error" ];
|
258
|
+
36 -> eof_36 [ label = "EOF / tag_error" ];
|
259
|
+
37 -> eof_37 [ label = "EOF / tag_error" ];
|
260
|
+
38 -> eof_38 [ label = "EOF / instruction_error" ];
|
261
|
+
39 -> eof_39 [ label = "EOF / instruction_error" ];
|
262
|
+
40 -> eof_40 [ label = "EOF / instruction_error" ];
|
263
|
+
41 -> eof_41 [ label = "EOF / instruction_error" ];
|
264
|
+
42 -> eof_42 [ label = "EOF / entity_error" ];
|
265
|
+
43 -> eof_43 [ label = "EOF / entity_error" ];
|
266
|
+
44 -> eof_44 [ label = "EOF / entity_error" ];
|
267
|
+
45 -> eof_45 [ label = "EOF / entity_error" ];
|
268
|
+
46 -> eof_46 [ label = "EOF / entity_error" ];
|
269
|
+
47 -> eof_47 [ label = "EOF / entity_error" ];
|
270
|
+
49 -> eof_49 [ label = "EOF / characters_end, pcdata_end, text_end" ];
|
271
|
+
50 -> eof_50 [ label = "EOF / pcdata_end, text_end" ];
|
272
|
+
51 -> eof_51 [ label = "EOF / tag_opening_end" ];
|
273
|
+
52 -> eof_52 [ label = "EOF / comment_end" ];
|
274
|
+
53 -> eof_53 [ label = "EOF / doctype_end" ];
|
275
|
+
54 -> eof_54 [ label = "EOF / cdata_end" ];
|
276
|
+
55 -> eof_55 [ label = "EOF / tag_closing_end" ];
|
277
|
+
56 -> eof_56 [ label = "EOF / instruction_end" ];
|
278
|
+
}
|