langscan 1.2-x86-mswin32-60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/AUTHORS.txt +19 -0
- data/History.txt +126 -0
- data/Manifest.txt +167 -0
- data/README.rdoc +91 -0
- data/Rakefile +40 -0
- data/ext/langscan/_make_c.rb +20 -0
- data/ext/langscan/_make_h.rb +30 -0
- data/ext/langscan/_template.c +134 -0
- data/ext/langscan/_template.h +53 -0
- data/ext/langscan/c/c/Makefile +188 -0
- data/ext/langscan/c/c/c.c +134 -0
- data/ext/langscan/c/c/c.h +66 -0
- data/ext/langscan/c/c/ctok.c +4629 -0
- data/ext/langscan/c/c/ctok.l +212 -0
- data/ext/langscan/c/c/extconf.rb +3 -0
- data/ext/langscan/c/c/modulename.txt +1 -0
- data/ext/langscan/c/c/tokenlist.txt +13 -0
- data/ext/langscan/csharp/csharp/Makefile +188 -0
- data/ext/langscan/csharp/csharp/csharp.c +134 -0
- data/ext/langscan/csharp/csharp/csharp.h +65 -0
- data/ext/langscan/csharp/csharp/csharptok.c +2971 -0
- data/ext/langscan/csharp/csharp/csharptok.l +200 -0
- data/ext/langscan/csharp/csharp/extconf.rb +3 -0
- data/ext/langscan/csharp/csharp/modulename.txt +1 -0
- data/ext/langscan/csharp/csharp/tokenlist.txt +12 -0
- data/ext/langscan/d/d/Makefile +188 -0
- data/ext/langscan/d/d/d.c +134 -0
- data/ext/langscan/d/d/d.h +64 -0
- data/ext/langscan/d/d/dtok.c +5468 -0
- data/ext/langscan/d/d/dtok.l +282 -0
- data/ext/langscan/d/d/extconf.rb +3 -0
- data/ext/langscan/d/d/modulename.txt +1 -0
- data/ext/langscan/d/d/tokenlist.txt +11 -0
- data/ext/langscan/elisp/elisp/Makefile +188 -0
- data/ext/langscan/elisp/elisp/elisp.c +134 -0
- data/ext/langscan/elisp/elisp/elisp.h +62 -0
- data/ext/langscan/elisp/elisp/elisptok.c +2108 -0
- data/ext/langscan/elisp/elisp/elisptok.l +151 -0
- data/ext/langscan/elisp/elisp/extconf.rb +3 -0
- data/ext/langscan/elisp/elisp/modulename.txt +1 -0
- data/ext/langscan/elisp/elisp/tokenlist.txt +9 -0
- data/ext/langscan/java/java/Makefile +188 -0
- data/ext/langscan/java/java/extconf.rb +3 -0
- data/ext/langscan/java/java/java.c +134 -0
- data/ext/langscan/java/java/java.h +64 -0
- data/ext/langscan/java/java/javatok.c +2097 -0
- data/ext/langscan/java/java/javatok.l +155 -0
- data/ext/langscan/java/java/modulename.txt +1 -0
- data/ext/langscan/java/java/tokenlist.txt +11 -0
- data/ext/langscan/javascript/javascript/Makefile +188 -0
- data/ext/langscan/javascript/javascript/extconf.rb +3 -0
- data/ext/langscan/javascript/javascript/javascript.c +134 -0
- data/ext/langscan/javascript/javascript/javascript.h +63 -0
- data/ext/langscan/javascript/javascript/javascripttok.c +2058 -0
- data/ext/langscan/javascript/javascript/javascripttok.l +147 -0
- data/ext/langscan/javascript/javascript/modulename.txt +1 -0
- data/ext/langscan/javascript/javascript/tokenlist.txt +10 -0
- data/ext/langscan/pairmatcher/pairmatcher/Makefile +188 -0
- data/ext/langscan/pairmatcher/pairmatcher/extconf.rb +3 -0
- data/ext/langscan/pairmatcher/pairmatcher/pairmatcher.c +890 -0
- data/ext/langscan/php/php/Makefile +188 -0
- data/ext/langscan/php/php/extconf.rb +3 -0
- data/ext/langscan/php/php/modulename.txt +1 -0
- data/ext/langscan/php/php/php.c +134 -0
- data/ext/langscan/php/php/php.h +64 -0
- data/ext/langscan/php/php/phptok.c +2413 -0
- data/ext/langscan/php/php/phptok.l +212 -0
- data/ext/langscan/php/php/tokenlist.txt +11 -0
- data/ext/langscan/post-distclean.rb +21 -0
- data/ext/langscan/pre-config.rb +57 -0
- data/ext/langscan/python/python/Makefile +188 -0
- data/ext/langscan/python/python/extconf.rb +3 -0
- data/ext/langscan/python/python/modulename.txt +1 -0
- data/ext/langscan/python/python/python.c +134 -0
- data/ext/langscan/python/python/python.h +61 -0
- data/ext/langscan/python/python/pythontok.c +2109 -0
- data/ext/langscan/python/python/pythontok.l +155 -0
- data/ext/langscan/python/python/tokenlist.txt +8 -0
- data/ext/langscan/ruby/compat/ripper/Makefile +189 -0
- data/ext/langscan/ruby/compat/ripper/depend +1 -0
- data/ext/langscan/ruby/compat/ripper/extconf.rb +4 -0
- data/ext/langscan/ruby/compat/ripper/include/eventids1.c +251 -0
- data/ext/langscan/ruby/compat/ripper/include/eventids2.c +277 -0
- data/ext/langscan/ruby/compat/ripper/include/lex.c +138 -0
- data/ext/langscan/ruby/compat/ripper/ripper.c +14420 -0
- data/ext/langscan/scheme/scheme/Makefile +188 -0
- data/ext/langscan/scheme/scheme/extconf.rb +3 -0
- data/ext/langscan/scheme/scheme/modulename.txt +1 -0
- data/ext/langscan/scheme/scheme/scheme.c +134 -0
- data/ext/langscan/scheme/scheme/scheme.h +60 -0
- data/ext/langscan/scheme/scheme/schemetok.c +2454 -0
- data/ext/langscan/scheme/scheme/schemetok.l +177 -0
- data/ext/langscan/scheme/scheme/tokenlist.txt +7 -0
- data/ext/langscan/sh/sh/Makefile +188 -0
- data/ext/langscan/sh/sh/extconf.rb +3 -0
- data/ext/langscan/sh/sh/modulename.txt +1 -0
- data/ext/langscan/sh/sh/sh.c +134 -0
- data/ext/langscan/sh/sh/sh.h +61 -0
- data/ext/langscan/sh/sh/shtok.c +2477 -0
- data/ext/langscan/sh/sh/shtok.l +325 -0
- data/ext/langscan/sh/sh/tokenlist.txt +8 -0
- data/lib/langscan.rb +124 -0
- data/lib/langscan/_common.rb +50 -0
- data/lib/langscan/_easyscanner.rb +78 -0
- data/lib/langscan/_pairmatcher.rb +46 -0
- data/lib/langscan/_type.rb +125 -0
- data/lib/langscan/autoconf.rb +51 -0
- data/lib/langscan/automake.rb +51 -0
- data/lib/langscan/brainfuck.rb +48 -0
- data/lib/langscan/c.rb +144 -0
- data/lib/langscan/c/c.so +0 -0
- data/lib/langscan/csharp.rb +101 -0
- data/lib/langscan/csharp/csharp.so +0 -0
- data/lib/langscan/css.rb +109 -0
- data/lib/langscan/d.rb +201 -0
- data/lib/langscan/d/d.so +0 -0
- data/lib/langscan/eiffel.rb +167 -0
- data/lib/langscan/elisp.rb +132 -0
- data/lib/langscan/elisp/elisp.so +0 -0
- data/lib/langscan/io.rb +84 -0
- data/lib/langscan/java.rb +95 -0
- data/lib/langscan/java/java.so +0 -0
- data/lib/langscan/javascript.rb +97 -0
- data/lib/langscan/javascript/javascript.so +0 -0
- data/lib/langscan/lua.rb +116 -0
- data/lib/langscan/ocaml.rb +298 -0
- data/lib/langscan/ocaml/camlexer.ml +28 -0
- data/lib/langscan/ocaml/lexer.mll +230 -0
- data/lib/langscan/ocaml/types.ml +36 -0
- data/lib/langscan/pairmatcher/pairmatcher.so +0 -0
- data/lib/langscan/perl.rb +87 -0
- data/lib/langscan/perl/tokenizer.pl +231 -0
- data/lib/langscan/php.rb +80 -0
- data/lib/langscan/php/php.so +0 -0
- data/lib/langscan/python.rb +101 -0
- data/lib/langscan/python/python.so +0 -0
- data/lib/langscan/rpmspec.rb +71 -0
- data/lib/langscan/ruby.rb +164 -0
- data/lib/langscan/ruby/compat/README +5 -0
- data/lib/langscan/ruby/compat/ripper.rb +4 -0
- data/lib/langscan/ruby/compat/ripper.so +0 -0
- data/lib/langscan/ruby/compat/ripper/core.rb +918 -0
- data/lib/langscan/ruby/compat/ripper/filter.rb +70 -0
- data/lib/langscan/ruby/compat/ripper/lexer.rb +179 -0
- data/lib/langscan/ruby/compat/ripper/sexp.rb +100 -0
- data/lib/langscan/scheme.rb +160 -0
- data/lib/langscan/scheme/scheme.so +0 -0
- data/lib/langscan/sh.rb +116 -0
- data/lib/langscan/sh/sh.so +0 -0
- data/lib/langscan/text.rb +37 -0
- data/metaconfig +2 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/makemanifest.rb +21 -0
- data/setup.rb +1604 -0
- data/tasks/extconf.rake +13 -0
- data/tasks/extconf/langscan.rake +42 -0
- data/test/langscan/brainfuck/test/test_scan.rb +55 -0
- data/test/langscan/c/test/test_scan.rb +216 -0
- data/test/langscan/c/test/test_token.rb +41 -0
- data/test/langscan/csharp/test/test_scan.rb +157 -0
- data/test/langscan/css/test/test_css.rb +79 -0
- data/test/langscan/d/test/test_scan.rb +233 -0
- data/test/langscan/d/test/test_token.rb +205 -0
- data/test/langscan/eiffel/test/test_eiffel.rb +95 -0
- data/test/langscan/elisp/test/test_elisp.rb +177 -0
- data/test/langscan/io/test/test_io.rb +79 -0
- data/test/langscan/java/test/test_java.rb +74 -0
- data/test/langscan/javascript/test/test_javascript.rb +39 -0
- data/test/langscan/lua/test/test_lua.rb +69 -0
- data/test/langscan/ocaml/test/test_ocaml.rb +161 -0
- data/test/langscan/php/test/test_scan.rb +138 -0
- data/test/langscan/python/test/test_scan.rb +105 -0
- data/test/langscan/rpmspec/test/test_rpmspec.rb +51 -0
- data/test/langscan/ruby/test/test_scan.rb +71 -0
- data/test/langscan/scheme/test/test_scan.rb +198 -0
- data/test/test_helper.rb +7 -0
- data/test/test_langscan.rb +123 -0
- metadata +320 -0
@@ -0,0 +1,155 @@
|
|
1
|
+
/*
|
2
|
+
* pythontok.l - a lex rule for python
|
3
|
+
*
|
4
|
+
* Copyright (C) 2005 Yoshinori K. Okuji <okuji@enbug.org>
|
5
|
+
* All rights reserved.
|
6
|
+
* This is free software with ABSOLUTELY NO WARRANTY.
|
7
|
+
*
|
8
|
+
* You can redistribute it and/or modify it under the terms of
|
9
|
+
* the GNU General Public License version 2.
|
10
|
+
*/
|
11
|
+
|
12
|
+
%option reentrant
|
13
|
+
%option prefix="langscan_python_lex_"
|
14
|
+
%option noyywrap
|
15
|
+
%option nodefault
|
16
|
+
|
17
|
+
newline \r\n|\r|\n
|
18
|
+
stringprefix r|u|ur|R|U|UR|Ur|uR
|
19
|
+
escseq \\({newline}|.)
|
20
|
+
shortstring '([^\\\n\r']|{escseq})*'|\"([^\\\n\r\"]|{escseq})*\"
|
21
|
+
longstring '''('{1,2}[^']|[^\\']|{escseq})*'''|\"\"\"(\"{1,2}[^\"]|[^\\\"]|{escseq})*\"\"\"
|
22
|
+
string {stringprefix}?({longstring}|{shortstring})
|
23
|
+
integer 0[xX][0-9a-fA-F]+|[0-9]+
|
24
|
+
longinteger {integer}[lL]
|
25
|
+
pointfloat [0-9]*\.[0-9]+|[0-9]+\.
|
26
|
+
exponent [eE][+\-][0-9]+
|
27
|
+
floatnumber {pointfloat}{exponent}?|[0-9]+{exponent}
|
28
|
+
imagnumber {floatnumber}|{integer}[jJ]
|
29
|
+
|
30
|
+
%{
|
31
|
+
|
32
|
+
#include "python.h"
|
33
|
+
|
34
|
+
#define YY_EXTRA_TYPE langscan_python_lex_extra_t *
|
35
|
+
|
36
|
+
#if YY_NULL != 0
|
37
|
+
#error "YY_NULL is not 0."
|
38
|
+
#endif
|
39
|
+
|
40
|
+
#define YY_DECL langscan_python_token_t langscan_python_lex_lex(yyscan_t yyscanner)
|
41
|
+
|
42
|
+
#define YY_INPUT(buf,result,max_size) \
|
43
|
+
if (!yyextra->eof) { \
|
44
|
+
result = yyextra->user_read(&(yyextra->user_data), (buf), (max_size)); \
|
45
|
+
if (result == 0) \
|
46
|
+
yyextra->eof = 1; \
|
47
|
+
}
|
48
|
+
|
49
|
+
#define UPD update_pos(yyextra, yytext, yyleng)
|
50
|
+
static void update_pos(langscan_python_lex_extra_t *, char *, int);
|
51
|
+
|
52
|
+
#define report(token) \
|
53
|
+
do { \
|
54
|
+
yyextra->text = yytext; \
|
55
|
+
yyextra->leng = yyleng; \
|
56
|
+
return langscan_python_##token; \
|
57
|
+
} while (0)
|
58
|
+
|
59
|
+
%}
|
60
|
+
|
61
|
+
%%
|
62
|
+
[ \t\f]+ { UPD; report(space); }
|
63
|
+
{newline} { UPD; report(space); }
|
64
|
+
\#.* { UPD; report(comment); }
|
65
|
+
{string} { UPD; report(string); }
|
66
|
+
{integer}|{longinteger} { UPD; report(integer); }
|
67
|
+
{floatnumber} { UPD; report(floating); }
|
68
|
+
{imagnumber} { UPD; report(imaginary); }
|
69
|
+
[A-Za-z_][0-9A-Za-z_]* { UPD; report(ident); }
|
70
|
+
. { UPD; report(punct); }
|
71
|
+
|
72
|
+
%%
|
73
|
+
|
74
|
+
static void update_pos(
|
75
|
+
langscan_python_lex_extra_t *extra,
|
76
|
+
char *text,
|
77
|
+
int leng)
|
78
|
+
{
|
79
|
+
int i, j;
|
80
|
+
extra->beg_byteno = extra->end_byteno;
|
81
|
+
extra->beg_lineno = extra->end_lineno;
|
82
|
+
extra->beg_columnno = extra->end_columnno;
|
83
|
+
j = 0;
|
84
|
+
for (i = 0; i < leng; i++) {
|
85
|
+
if (text[i] == '\r' || (i == 0 || text[i - 1] != '\r') && text[i] == '\n') {
|
86
|
+
extra->end_lineno++;
|
87
|
+
j = i + 1;
|
88
|
+
extra->end_columnno = 0;
|
89
|
+
}
|
90
|
+
}
|
91
|
+
extra->end_columnno += leng - j;
|
92
|
+
extra->end_byteno += leng;
|
93
|
+
}
|
94
|
+
|
95
|
+
langscan_python_tokenizer_t *langscan_python_make_tokenizer(
|
96
|
+
size_t (*user_read)(void **user_data_p, char *buf, size_t maxlen),
|
97
|
+
void *user_data)
|
98
|
+
{
|
99
|
+
langscan_python_tokenizer_t *tokenizer;
|
100
|
+
langscan_python_lex_extra_t *extra;
|
101
|
+
tokenizer = (langscan_python_tokenizer_t *)malloc(sizeof(langscan_python_tokenizer_t));
|
102
|
+
if (tokenizer == NULL)
|
103
|
+
return NULL;
|
104
|
+
extra = (langscan_python_lex_extra_t *)malloc(sizeof(langscan_python_lex_extra_t));
|
105
|
+
if (extra == NULL)
|
106
|
+
return NULL;
|
107
|
+
extra->user_read = user_read;
|
108
|
+
extra->user_data = user_data;
|
109
|
+
extra->beg_lineno = 1;
|
110
|
+
extra->beg_columnno = 0;
|
111
|
+
extra->beg_byteno = 0;
|
112
|
+
extra->end_lineno = 1;
|
113
|
+
extra->end_columnno = 0;
|
114
|
+
extra->end_byteno = 0;
|
115
|
+
extra->eof = 0;
|
116
|
+
tokenizer->extra = extra;
|
117
|
+
langscan_python_lex_lex_init(&tokenizer->scanner);
|
118
|
+
langscan_python_lex_set_extra(extra, tokenizer->scanner);
|
119
|
+
return tokenizer;
|
120
|
+
}
|
121
|
+
|
122
|
+
langscan_python_token_t langscan_python_get_token(langscan_python_tokenizer_t *tokenizer)
|
123
|
+
{
|
124
|
+
return langscan_python_lex_lex(tokenizer->scanner);
|
125
|
+
}
|
126
|
+
|
127
|
+
void langscan_python_free_tokenizer(langscan_python_tokenizer_t *tokenizer)
|
128
|
+
{
|
129
|
+
langscan_python_lex_extra_t *extra = langscan_python_lex_get_extra(tokenizer->scanner);
|
130
|
+
free((void *)extra);
|
131
|
+
langscan_python_lex_lex_destroy(tokenizer->scanner);
|
132
|
+
free((void *)tokenizer);
|
133
|
+
}
|
134
|
+
|
135
|
+
user_read_t langscan_python_tokenizer_get_user_read(langscan_python_tokenizer_t *tokenizer)
|
136
|
+
{
|
137
|
+
return tokenizer->extra->user_read;
|
138
|
+
}
|
139
|
+
|
140
|
+
void *langscan_python_tokenizer_get_user_data(langscan_python_tokenizer_t *tokenizer)
|
141
|
+
{
|
142
|
+
return tokenizer->extra->user_data;
|
143
|
+
}
|
144
|
+
|
145
|
+
const char *langscan_python_token_name(langscan_python_token_t token)
|
146
|
+
{
|
147
|
+
static char *token_names[] = {
|
148
|
+
"*eof*",
|
149
|
+
#define LANGSCAN_PYTHON_TOKEN(name) #name,
|
150
|
+
LANGSCAN_PYTHON_TOKEN_LIST
|
151
|
+
#undef LANGSCAN_PYTHON_TOKEN
|
152
|
+
};
|
153
|
+
|
154
|
+
return token_names[token];
|
155
|
+
}
|
@@ -0,0 +1,189 @@
|
|
1
|
+
|
2
|
+
SHELL = /bin/sh
|
3
|
+
|
4
|
+
#### Start of system configuration section. ####
|
5
|
+
|
6
|
+
srcdir = .
|
7
|
+
topdir = C:/usr/ruby/lib/ruby/1.8/i386-mswin32
|
8
|
+
hdrdir = $(topdir)
|
9
|
+
VPATH = $(srcdir);$(topdir);$(hdrdir)
|
10
|
+
|
11
|
+
DESTDIR = C:
|
12
|
+
exec_prefix = $(prefix)
|
13
|
+
prefix = $(DESTDIR)/usr/ruby
|
14
|
+
sharedstatedir = $(DESTDIR)/etc
|
15
|
+
mandir = $(prefix)/man
|
16
|
+
oldincludedir = $(DESTDIR)/usr/include
|
17
|
+
bindir = $(exec_prefix)/bin
|
18
|
+
libexecdir = $(exec_prefix)/libexec
|
19
|
+
sitedir = $(prefix)/lib/ruby/site_ruby
|
20
|
+
vendorarchdir = $(vendorlibdir)/$(sitearch)
|
21
|
+
includedir = $(prefix)/include
|
22
|
+
infodir = $(prefix)/info
|
23
|
+
vendorlibdir = $(vendordir)/$(ruby_version)
|
24
|
+
sysconfdir = $(prefix)/etc
|
25
|
+
libdir = $(exec_prefix)/lib
|
26
|
+
sbindir = $(exec_prefix)/sbin
|
27
|
+
rubylibdir = $(libdir)/ruby/$(ruby_version)
|
28
|
+
vendordir = $(prefix)/lib/ruby/vendor_ruby
|
29
|
+
archdir = $(rubylibdir)/$(arch)
|
30
|
+
sitearchdir = $(sitelibdir)/$(sitearch)
|
31
|
+
datadir = $(prefix)/share
|
32
|
+
localstatedir = $(DESTDIR)/var
|
33
|
+
sitelibdir = $(sitedir)/$(ruby_version)
|
34
|
+
|
35
|
+
CC = cl -nologo
|
36
|
+
LIBRUBY = $(RUBY_SO_NAME).lib
|
37
|
+
LIBRUBY_A = $(RUBY_SO_NAME)-static.lib
|
38
|
+
LIBRUBYARG_SHARED = $(LIBRUBY)
|
39
|
+
LIBRUBYARG_STATIC = $(LIBRUBY_A)
|
40
|
+
|
41
|
+
RUBY_EXTCONF_H =
|
42
|
+
CFLAGS = -MT -Zi -O2b2xg- -G6 -DRIPPER -Iinclude
|
43
|
+
INCFLAGS = -I. -I$(topdir) -I$(hdrdir) -I$(srcdir)
|
44
|
+
DEFS =
|
45
|
+
CPPFLAGS =
|
46
|
+
CXXFLAGS = $(CFLAGS)
|
47
|
+
ldflags =
|
48
|
+
dldflags = -link -incremental:no -debug -opt:ref -opt:icf -dll $(LIBPATH)
|
49
|
+
archflag =
|
50
|
+
DLDFLAGS = $(ldflags) $(dldflags) $(archflag)
|
51
|
+
LDSHARED = cl -nologo -LD
|
52
|
+
AR = lib -nologo
|
53
|
+
EXEEXT = .exe
|
54
|
+
|
55
|
+
RUBY_INSTALL_NAME = ruby
|
56
|
+
RUBY_SO_NAME = msvcrt-ruby18
|
57
|
+
arch = i386-mswin32
|
58
|
+
sitearch = i386-msvcrt
|
59
|
+
ruby_version = 1.8
|
60
|
+
ruby = C:/usr/ruby/bin/ruby
|
61
|
+
RUBY = $(ruby:/=\)
|
62
|
+
RM = $(RUBY) -run -e rm -- -f
|
63
|
+
MAKEDIRS = @$(RUBY) -run -e mkdir -- -p
|
64
|
+
INSTALL = @$(RUBY) -run -e install -- -vp
|
65
|
+
INSTALL_PROG = $(INSTALL) -m 0755
|
66
|
+
INSTALL_DATA = $(INSTALL) -m 0644
|
67
|
+
COPY = copy > nul
|
68
|
+
|
69
|
+
#### End of system configuration section. ####
|
70
|
+
|
71
|
+
preload =
|
72
|
+
|
73
|
+
libpath = . $(libdir)
|
74
|
+
LIBPATH = -libpath:"." -libpath:"$(libdir)"
|
75
|
+
DEFFILE = $(TARGET)-$(arch).def
|
76
|
+
|
77
|
+
CLEANFILES = mkmf.log
|
78
|
+
DISTCLEANFILES = vc*.pdb $(DEFFILE)
|
79
|
+
|
80
|
+
extout =
|
81
|
+
extout_prefix =
|
82
|
+
target_prefix = /langscan/ruby/compat
|
83
|
+
LOCAL_LIBS =
|
84
|
+
LIBS = $(LIBRUBYARG_SHARED) oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib
|
85
|
+
SRCS = ripper.c
|
86
|
+
OBJS = ripper.obj
|
87
|
+
TARGET = ripper
|
88
|
+
DLLIB = $(TARGET).so
|
89
|
+
EXTSTATIC =
|
90
|
+
STATIC_LIB =
|
91
|
+
|
92
|
+
BINDIR = $(bindir)
|
93
|
+
RUBYCOMMONDIR = $(sitedir)$(target_prefix)
|
94
|
+
RUBYLIBDIR = C:/devel/gem/git/langscan/pkg/langscan-1.2.gem.build/lib$(target_prefix)
|
95
|
+
RUBYARCHDIR = C:/devel/gem/git/langscan/pkg/langscan-1.2.gem.build/lib$(target_prefix)
|
96
|
+
|
97
|
+
TARGET_SO = $(DLLIB)
|
98
|
+
CLEANLIBS = $(TARGET).so $(TARGET).il? $(TARGET).tds $(TARGET).map
|
99
|
+
CLEANOBJS = *.obj *.lib *.s[ol] *.pdb *.exp *.bak
|
100
|
+
|
101
|
+
all: $(DLLIB)
|
102
|
+
static: $(STATIC_LIB)
|
103
|
+
|
104
|
+
clean:
|
105
|
+
@-$(RM) $(CLEANLIBS:/=\) $(CLEANOBJS:/=\) $(CLEANFILES:/=\)
|
106
|
+
|
107
|
+
distclean: clean
|
108
|
+
@-$(RM) Makefile $(RUBY_EXTCONF_H) conftest.* mkmf.log
|
109
|
+
@-$(RM) core ruby$(EXEEXT) *~ $(DISTCLEANFILES:/=\)
|
110
|
+
|
111
|
+
realclean: distclean
|
112
|
+
install: install-so install-rb
|
113
|
+
|
114
|
+
install-so: $(RUBYARCHDIR)
|
115
|
+
install-so: $(RUBYARCHDIR)/$(DLLIB)
|
116
|
+
$(RUBYARCHDIR)/$(DLLIB): $(DLLIB)
|
117
|
+
$(INSTALL_PROG) $(DLLIB:/=\) $(RUBYARCHDIR:/=\)
|
118
|
+
install-rb: pre-install-rb install-rb-default
|
119
|
+
install-rb-default: pre-install-rb-default
|
120
|
+
pre-install-rb: Makefile
|
121
|
+
pre-install-rb-default: Makefile
|
122
|
+
$(RUBYARCHDIR):
|
123
|
+
$(MAKEDIRS) $@
|
124
|
+
|
125
|
+
site-install: site-install-so site-install-rb
|
126
|
+
site-install-so: install-so
|
127
|
+
site-install-rb: install-rb
|
128
|
+
|
129
|
+
.SUFFIXES: .c .m .cc .cxx .cpp .obj
|
130
|
+
|
131
|
+
{$(hdrdir)}.cc{}.obj:
|
132
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
133
|
+
|
134
|
+
{$(topdir)}.cc{}.obj:
|
135
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
136
|
+
|
137
|
+
{$(srcdir)}.cc{}.obj:
|
138
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
139
|
+
|
140
|
+
.cc.obj:
|
141
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
142
|
+
|
143
|
+
{$(hdrdir)}.cxx{}.obj:
|
144
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
145
|
+
|
146
|
+
{$(topdir)}.cxx{}.obj:
|
147
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
148
|
+
|
149
|
+
{$(srcdir)}.cxx{}.obj:
|
150
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
151
|
+
|
152
|
+
.cxx.obj:
|
153
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
154
|
+
|
155
|
+
{$(hdrdir)}.cpp{}.obj:
|
156
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
157
|
+
|
158
|
+
{$(topdir)}.cpp{}.obj:
|
159
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
160
|
+
|
161
|
+
{$(srcdir)}.cpp{}.obj:
|
162
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
163
|
+
|
164
|
+
.cpp.obj:
|
165
|
+
$(CXX) $(INCFLAGS) $(CXXFLAGS) $(CPPFLAGS) -c -Tp$(<:\=/)
|
166
|
+
|
167
|
+
{$(hdrdir)}.c{}.obj:
|
168
|
+
$(CC) $(INCFLAGS) $(CFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
|
169
|
+
|
170
|
+
{$(topdir)}.c{}.obj:
|
171
|
+
$(CC) $(INCFLAGS) $(CFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
|
172
|
+
|
173
|
+
{$(srcdir)}.c{}.obj:
|
174
|
+
$(CC) $(INCFLAGS) $(CFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
|
175
|
+
|
176
|
+
.c.obj:
|
177
|
+
$(CC) $(INCFLAGS) $(CFLAGS) $(CPPFLAGS) -c -Tc$(<:\=/)
|
178
|
+
|
179
|
+
$(DLLIB): $(DEFFILE) $(OBJS) Makefile
|
180
|
+
@-$(RM) $@
|
181
|
+
$(LDSHARED) -Fe$(@) $(OBJS) $(LIBS) $(LOCAL_LIBS) $(DLDFLAGS) -implib:$(*F:.so=)-$(arch).lib -pdb:$(*F:.so=)-$(arch).pdb -def:$(DEFFILE)
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
$(DEFFILE):
|
186
|
+
$(RUBY) -e "puts 'EXPORTS', 'Init_$(TARGET)'" > $@
|
187
|
+
|
188
|
+
###
|
189
|
+
ripper.c: include/eventids1.c include/eventids2.c include/lex.c
|
@@ -0,0 +1 @@
|
|
1
|
+
ripper.c: include/eventids1.c include/eventids2.c include/lex.c
|
@@ -0,0 +1,251 @@
|
|
1
|
+
static ID ripper_id_BEGIN;
|
2
|
+
static ID ripper_id_END;
|
3
|
+
static ID ripper_id_alias;
|
4
|
+
static ID ripper_id_alias_error;
|
5
|
+
static ID ripper_id_aref;
|
6
|
+
static ID ripper_id_aref_field;
|
7
|
+
static ID ripper_id_arg_ambiguous;
|
8
|
+
static ID ripper_id_arg_paren;
|
9
|
+
static ID ripper_id_arglist_add;
|
10
|
+
static ID ripper_id_arglist_add_block;
|
11
|
+
static ID ripper_id_arglist_add_star;
|
12
|
+
static ID ripper_id_arglist_new;
|
13
|
+
static ID ripper_id_arglist_prepend;
|
14
|
+
static ID ripper_id_array;
|
15
|
+
static ID ripper_id_assign;
|
16
|
+
static ID ripper_id_assign_error;
|
17
|
+
static ID ripper_id_assoc_new;
|
18
|
+
static ID ripper_id_assoclist_from_args;
|
19
|
+
static ID ripper_id_bare_assoc_hash;
|
20
|
+
static ID ripper_id_begin;
|
21
|
+
static ID ripper_id_binary;
|
22
|
+
static ID ripper_id_blockvar_add_block;
|
23
|
+
static ID ripper_id_blockvar_add_star;
|
24
|
+
static ID ripper_id_blockvar_new;
|
25
|
+
static ID ripper_id_bodystmt;
|
26
|
+
static ID ripper_id_brace_block;
|
27
|
+
static ID ripper_id_break;
|
28
|
+
static ID ripper_id_call;
|
29
|
+
static ID ripper_id_case;
|
30
|
+
static ID ripper_id_class;
|
31
|
+
static ID ripper_id_class_name_error;
|
32
|
+
static ID ripper_id_command;
|
33
|
+
static ID ripper_id_command_call;
|
34
|
+
static ID ripper_id_const_ref;
|
35
|
+
static ID ripper_id_constpath_field;
|
36
|
+
static ID ripper_id_constpath_ref;
|
37
|
+
static ID ripper_id_def;
|
38
|
+
static ID ripper_id_defined;
|
39
|
+
static ID ripper_id_defs;
|
40
|
+
static ID ripper_id_do_block;
|
41
|
+
static ID ripper_id_do_block;
|
42
|
+
static ID ripper_id_dot2;
|
43
|
+
static ID ripper_id_dot3;
|
44
|
+
static ID ripper_id_dyna_symbol;
|
45
|
+
static ID ripper_id_else;
|
46
|
+
static ID ripper_id_elsif;
|
47
|
+
static ID ripper_id_ensure;
|
48
|
+
static ID ripper_id_fcall;
|
49
|
+
static ID ripper_id_field;
|
50
|
+
static ID ripper_id_for;
|
51
|
+
static ID ripper_id_hash;
|
52
|
+
static ID ripper_id_if;
|
53
|
+
static ID ripper_id_if_mod;
|
54
|
+
static ID ripper_id_ifop;
|
55
|
+
static ID ripper_id_iter_block;
|
56
|
+
static ID ripper_id_lambda;
|
57
|
+
static ID ripper_id_massign;
|
58
|
+
static ID ripper_id_method_add_arg;
|
59
|
+
static ID ripper_id_mlhs_add;
|
60
|
+
static ID ripper_id_mlhs_add_star;
|
61
|
+
static ID ripper_id_mlhs_new;
|
62
|
+
static ID ripper_id_mlhs_paren;
|
63
|
+
static ID ripper_id_module;
|
64
|
+
static ID ripper_id_mrhs_add;
|
65
|
+
static ID ripper_id_mrhs_add_star;
|
66
|
+
static ID ripper_id_mrhs_new;
|
67
|
+
static ID ripper_id_mrhs_new_from_arglist;
|
68
|
+
static ID ripper_id_next;
|
69
|
+
static ID ripper_id_opassign;
|
70
|
+
static ID ripper_id_param_error;
|
71
|
+
static ID ripper_id_params;
|
72
|
+
static ID ripper_id_paren;
|
73
|
+
static ID ripper_id_parse_error;
|
74
|
+
static ID ripper_id_pragma;
|
75
|
+
static ID ripper_id_program;
|
76
|
+
static ID ripper_id_qwords_add;
|
77
|
+
static ID ripper_id_qwords_new;
|
78
|
+
static ID ripper_id_redo;
|
79
|
+
static ID ripper_id_regexp_literal;
|
80
|
+
static ID ripper_id_rescue;
|
81
|
+
static ID ripper_id_rescue_mod;
|
82
|
+
static ID ripper_id_restparam;
|
83
|
+
static ID ripper_id_retry;
|
84
|
+
static ID ripper_id_return;
|
85
|
+
static ID ripper_id_return0;
|
86
|
+
static ID ripper_id_sclass;
|
87
|
+
static ID ripper_id_space;
|
88
|
+
static ID ripper_id_stmts_add;
|
89
|
+
static ID ripper_id_stmts_new;
|
90
|
+
static ID ripper_id_string_add;
|
91
|
+
static ID ripper_id_string_concat;
|
92
|
+
static ID ripper_id_string_content;
|
93
|
+
static ID ripper_id_string_dvar;
|
94
|
+
static ID ripper_id_string_embexpr;
|
95
|
+
static ID ripper_id_string_literal;
|
96
|
+
static ID ripper_id_super;
|
97
|
+
static ID ripper_id_symbol;
|
98
|
+
static ID ripper_id_symbol_literal;
|
99
|
+
static ID ripper_id_topconst_field;
|
100
|
+
static ID ripper_id_topconst_ref;
|
101
|
+
static ID ripper_id_unary;
|
102
|
+
static ID ripper_id_undef;
|
103
|
+
static ID ripper_id_unless;
|
104
|
+
static ID ripper_id_unless_mod;
|
105
|
+
static ID ripper_id_until;
|
106
|
+
static ID ripper_id_until_mod;
|
107
|
+
static ID ripper_id_var_alias;
|
108
|
+
static ID ripper_id_var_field;
|
109
|
+
static ID ripper_id_var_ref;
|
110
|
+
static ID ripper_id_void_stmt;
|
111
|
+
static ID ripper_id_when;
|
112
|
+
static ID ripper_id_while;
|
113
|
+
static ID ripper_id_while_mod;
|
114
|
+
static ID ripper_id_word_add;
|
115
|
+
static ID ripper_id_word_new;
|
116
|
+
static ID ripper_id_words_add;
|
117
|
+
static ID ripper_id_words_new;
|
118
|
+
static ID ripper_id_xstring_add;
|
119
|
+
static ID ripper_id_xstring_literal;
|
120
|
+
static ID ripper_id_xstring_new;
|
121
|
+
static ID ripper_id_yield;
|
122
|
+
static ID ripper_id_yield0;
|
123
|
+
static ID ripper_id_zsuper;
|
124
|
+
|
125
|
+
static void
|
126
|
+
ripper_init_eventids1()
|
127
|
+
{
|
128
|
+
ripper_id_BEGIN = rb_intern("on_BEGIN");
|
129
|
+
ripper_id_END = rb_intern("on_END");
|
130
|
+
ripper_id_alias = rb_intern("on_alias");
|
131
|
+
ripper_id_alias_error = rb_intern("on_alias_error");
|
132
|
+
ripper_id_aref = rb_intern("on_aref");
|
133
|
+
ripper_id_aref_field = rb_intern("on_aref_field");
|
134
|
+
ripper_id_arg_ambiguous = rb_intern("on_arg_ambiguous");
|
135
|
+
ripper_id_arg_paren = rb_intern("on_arg_paren");
|
136
|
+
ripper_id_arglist_add = rb_intern("on_arglist_add");
|
137
|
+
ripper_id_arglist_add_block = rb_intern("on_arglist_add_block");
|
138
|
+
ripper_id_arglist_add_star = rb_intern("on_arglist_add_star");
|
139
|
+
ripper_id_arglist_new = rb_intern("on_arglist_new");
|
140
|
+
ripper_id_arglist_prepend = rb_intern("on_arglist_prepend");
|
141
|
+
ripper_id_array = rb_intern("on_array");
|
142
|
+
ripper_id_assign = rb_intern("on_assign");
|
143
|
+
ripper_id_assign_error = rb_intern("on_assign_error");
|
144
|
+
ripper_id_assoc_new = rb_intern("on_assoc_new");
|
145
|
+
ripper_id_assoclist_from_args = rb_intern("on_assoclist_from_args");
|
146
|
+
ripper_id_bare_assoc_hash = rb_intern("on_bare_assoc_hash");
|
147
|
+
ripper_id_begin = rb_intern("on_begin");
|
148
|
+
ripper_id_binary = rb_intern("on_binary");
|
149
|
+
ripper_id_blockvar_add_block = rb_intern("on_blockvar_add_block");
|
150
|
+
ripper_id_blockvar_add_star = rb_intern("on_blockvar_add_star");
|
151
|
+
ripper_id_blockvar_new = rb_intern("on_blockvar_new");
|
152
|
+
ripper_id_bodystmt = rb_intern("on_bodystmt");
|
153
|
+
ripper_id_brace_block = rb_intern("on_brace_block");
|
154
|
+
ripper_id_break = rb_intern("on_break");
|
155
|
+
ripper_id_call = rb_intern("on_call");
|
156
|
+
ripper_id_case = rb_intern("on_case");
|
157
|
+
ripper_id_class = rb_intern("on_class");
|
158
|
+
ripper_id_class_name_error = rb_intern("on_class_name_error");
|
159
|
+
ripper_id_command = rb_intern("on_command");
|
160
|
+
ripper_id_command_call = rb_intern("on_command_call");
|
161
|
+
ripper_id_const_ref = rb_intern("on_const_ref");
|
162
|
+
ripper_id_constpath_field = rb_intern("on_constpath_field");
|
163
|
+
ripper_id_constpath_ref = rb_intern("on_constpath_ref");
|
164
|
+
ripper_id_def = rb_intern("on_def");
|
165
|
+
ripper_id_defined = rb_intern("on_defined");
|
166
|
+
ripper_id_defs = rb_intern("on_defs");
|
167
|
+
ripper_id_do_block = rb_intern("on_do_block");
|
168
|
+
ripper_id_do_block = rb_intern("on_do_block");
|
169
|
+
ripper_id_dot2 = rb_intern("on_dot2");
|
170
|
+
ripper_id_dot3 = rb_intern("on_dot3");
|
171
|
+
ripper_id_dyna_symbol = rb_intern("on_dyna_symbol");
|
172
|
+
ripper_id_else = rb_intern("on_else");
|
173
|
+
ripper_id_elsif = rb_intern("on_elsif");
|
174
|
+
ripper_id_ensure = rb_intern("on_ensure");
|
175
|
+
ripper_id_fcall = rb_intern("on_fcall");
|
176
|
+
ripper_id_field = rb_intern("on_field");
|
177
|
+
ripper_id_for = rb_intern("on_for");
|
178
|
+
ripper_id_hash = rb_intern("on_hash");
|
179
|
+
ripper_id_if = rb_intern("on_if");
|
180
|
+
ripper_id_if_mod = rb_intern("on_if_mod");
|
181
|
+
ripper_id_ifop = rb_intern("on_ifop");
|
182
|
+
ripper_id_iter_block = rb_intern("on_iter_block");
|
183
|
+
ripper_id_lambda = rb_intern("on_lambda");
|
184
|
+
ripper_id_massign = rb_intern("on_massign");
|
185
|
+
ripper_id_method_add_arg = rb_intern("on_method_add_arg");
|
186
|
+
ripper_id_mlhs_add = rb_intern("on_mlhs_add");
|
187
|
+
ripper_id_mlhs_add_star = rb_intern("on_mlhs_add_star");
|
188
|
+
ripper_id_mlhs_new = rb_intern("on_mlhs_new");
|
189
|
+
ripper_id_mlhs_paren = rb_intern("on_mlhs_paren");
|
190
|
+
ripper_id_module = rb_intern("on_module");
|
191
|
+
ripper_id_mrhs_add = rb_intern("on_mrhs_add");
|
192
|
+
ripper_id_mrhs_add_star = rb_intern("on_mrhs_add_star");
|
193
|
+
ripper_id_mrhs_new = rb_intern("on_mrhs_new");
|
194
|
+
ripper_id_mrhs_new_from_arglist = rb_intern("on_mrhs_new_from_arglist");
|
195
|
+
ripper_id_next = rb_intern("on_next");
|
196
|
+
ripper_id_opassign = rb_intern("on_opassign");
|
197
|
+
ripper_id_param_error = rb_intern("on_param_error");
|
198
|
+
ripper_id_params = rb_intern("on_params");
|
199
|
+
ripper_id_paren = rb_intern("on_paren");
|
200
|
+
ripper_id_parse_error = rb_intern("on_parse_error");
|
201
|
+
ripper_id_pragma = rb_intern("on_pragma");
|
202
|
+
ripper_id_program = rb_intern("on_program");
|
203
|
+
ripper_id_qwords_add = rb_intern("on_qwords_add");
|
204
|
+
ripper_id_qwords_new = rb_intern("on_qwords_new");
|
205
|
+
ripper_id_redo = rb_intern("on_redo");
|
206
|
+
ripper_id_regexp_literal = rb_intern("on_regexp_literal");
|
207
|
+
ripper_id_rescue = rb_intern("on_rescue");
|
208
|
+
ripper_id_rescue_mod = rb_intern("on_rescue_mod");
|
209
|
+
ripper_id_restparam = rb_intern("on_restparam");
|
210
|
+
ripper_id_retry = rb_intern("on_retry");
|
211
|
+
ripper_id_return = rb_intern("on_return");
|
212
|
+
ripper_id_return0 = rb_intern("on_return0");
|
213
|
+
ripper_id_sclass = rb_intern("on_sclass");
|
214
|
+
ripper_id_space = rb_intern("on_space");
|
215
|
+
ripper_id_stmts_add = rb_intern("on_stmts_add");
|
216
|
+
ripper_id_stmts_new = rb_intern("on_stmts_new");
|
217
|
+
ripper_id_string_add = rb_intern("on_string_add");
|
218
|
+
ripper_id_string_concat = rb_intern("on_string_concat");
|
219
|
+
ripper_id_string_content = rb_intern("on_string_content");
|
220
|
+
ripper_id_string_dvar = rb_intern("on_string_dvar");
|
221
|
+
ripper_id_string_embexpr = rb_intern("on_string_embexpr");
|
222
|
+
ripper_id_string_literal = rb_intern("on_string_literal");
|
223
|
+
ripper_id_super = rb_intern("on_super");
|
224
|
+
ripper_id_symbol = rb_intern("on_symbol");
|
225
|
+
ripper_id_symbol_literal = rb_intern("on_symbol_literal");
|
226
|
+
ripper_id_topconst_field = rb_intern("on_topconst_field");
|
227
|
+
ripper_id_topconst_ref = rb_intern("on_topconst_ref");
|
228
|
+
ripper_id_unary = rb_intern("on_unary");
|
229
|
+
ripper_id_undef = rb_intern("on_undef");
|
230
|
+
ripper_id_unless = rb_intern("on_unless");
|
231
|
+
ripper_id_unless_mod = rb_intern("on_unless_mod");
|
232
|
+
ripper_id_until = rb_intern("on_until");
|
233
|
+
ripper_id_until_mod = rb_intern("on_until_mod");
|
234
|
+
ripper_id_var_alias = rb_intern("on_var_alias");
|
235
|
+
ripper_id_var_field = rb_intern("on_var_field");
|
236
|
+
ripper_id_var_ref = rb_intern("on_var_ref");
|
237
|
+
ripper_id_void_stmt = rb_intern("on_void_stmt");
|
238
|
+
ripper_id_when = rb_intern("on_when");
|
239
|
+
ripper_id_while = rb_intern("on_while");
|
240
|
+
ripper_id_while_mod = rb_intern("on_while_mod");
|
241
|
+
ripper_id_word_add = rb_intern("on_word_add");
|
242
|
+
ripper_id_word_new = rb_intern("on_word_new");
|
243
|
+
ripper_id_words_add = rb_intern("on_words_add");
|
244
|
+
ripper_id_words_new = rb_intern("on_words_new");
|
245
|
+
ripper_id_xstring_add = rb_intern("on_xstring_add");
|
246
|
+
ripper_id_xstring_literal = rb_intern("on_xstring_literal");
|
247
|
+
ripper_id_xstring_new = rb_intern("on_xstring_new");
|
248
|
+
ripper_id_yield = rb_intern("on_yield");
|
249
|
+
ripper_id_yield0 = rb_intern("on_yield0");
|
250
|
+
ripper_id_zsuper = rb_intern("on_zsuper");
|
251
|
+
}
|