summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog35
-rw-r--r--ToDo3
-rw-r--r--array.c2
-rw-r--r--bignum.c2
-rw-r--r--class.c4
-rw-r--r--configure2
-rw-r--r--configure.in2
-rw-r--r--error.c43
-rw-r--r--eval.c62
-rw-r--r--ext/curses/curses.c12
-rw-r--r--ext/dbm/dbm.c2
-rw-r--r--ext/md5/md5init.c2
-rw-r--r--ext/nkf/orig/nkf.c20
-rw-r--r--ext/socket/socket.c2
-rw-r--r--file.c4
-rw-r--r--glob.c6
-rw-r--r--hash.c51
-rw-r--r--intern.h3
-rw-r--r--io.c21
-rw-r--r--lib/cgi-lib.rb270
-rw-r--r--marshal.c2
-rw-r--r--misc/ruby-mode.el28
-rw-r--r--missing/fnmatch.c15
-rw-r--r--missing/fnmatch.h2
-rw-r--r--object.c123
-rw-r--r--parse.c1883
-rw-r--r--parse.y23
-rw-r--r--process.c2
-rw-r--r--range.c7
-rw-r--r--re.c2
-rw-r--r--regex.c3
-rw-r--r--sample/mine.rb4
-rw-r--r--signal.c8
-rw-r--r--string.c14
-rw-r--r--struct.c4
-rw-r--r--time.c143
-rw-r--r--util.h1
-rw-r--r--variable.c11
-rw-r--r--version.h2
-rw-r--r--win32/Makefile15
40 files changed, 1466 insertions, 1374 deletions
diff --git a/ChangeLog b/ChangeLog
index 31c0ea3..c6f41e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,38 @@
+Thu Feb 25 12:50:25 1999 Yukihiro Matsumoto <matz@netlab.co.jp>
+
+ * time.c (make_time_t): add `future check' in loops.
+
+ * object.c (rb_num2dbl): forbid implicit conversion from nil, or
+ strings. thus `Time.now + str' should raise error.
+
+ * object.c (rb_Float): convert nil into 0.0.
+
+ * object.c (rb_Integer): conversion method improved.
+
+Thu Feb 25 03:27:50 1999 Shugo Maeda <shugo@netlab.co.jp>
+
+ * eval.c (rb_call): should handle T_ICLASS properly.
+
+Thu Feb 25 00:04:00 1999 Yukihiro Matsumoto <matz@netlab.co.jp>
+
+ * error.c (Init_Exception): global function Exception() removed.
+
+ * variable.c (rb_class2name): returns "nil"/"true"/"false" for them.
+
+ * time.c (time_dump): time marshaling format compressed size from
+ 11 bytes to 8 bytes. thanx to tadf@kt.rim.or.jp.
+
+ * eval.c (rb_obj_call_init): should specify arguments explicitly.
+
+Wed Feb 24 15:43:28 1999 Yukihiro Matsumoto <matz@netlab.co.jp>
+
+ * parse.y (yylex): comment concatenation requires preceding space
+ before backslash at the end of line.
+
+ * io.c (rb_f_pipe): global pipe is obsolete now.
+
+ * object.c (Init_Object): remove true.to_i, false.to_i.
+
Tue Feb 23 14:21:41 1999 Yukihiro Matsumoto <matz@netlab.co.jp>
* parse.y (yylex): warn if identifier! immediately followed by `='.
diff --git a/ToDo b/ToDo
index 8f46ad6..84bc89c 100644
--- a/ToDo
+++ b/ToDo
@@ -20,7 +20,7 @@ Standard Libraries
* String#scanf(?)
* Object#fmt(?)
-* Integer[num], Float[num] (String[str]??)
+* Integer[num], Float[num] (String[str]?, Array[obj]??)
* Stream or Port, abstract superclass of IO.
Extension Libraries
@@ -39,6 +39,7 @@ Tools
* extension library maker like XS or SWIG
* freeze or undump to bundle everything
+* eruby - embedded ruby
Misc
diff --git a/array.c b/array.c
index 8b25b9c..92d83d5 100644
--- a/array.c
+++ b/array.c
@@ -194,7 +194,7 @@ rb_ary_s_new(argc, argv, klass)
ary->ptr = ALLOC_N(VALUE, ary->capa);
memfill(ary->ptr, len, val);
ary->len = len;
- rb_obj_call_init((VALUE)ary);
+ rb_obj_call_init((VALUE)ary, argc, argv);
return (VALUE)ary;
}
diff --git a/bignum.c b/bignum.c
index 8ba36bb..5050b50 100644
--- a/bignum.c
+++ b/bignum.c
@@ -1231,7 +1231,7 @@ rb_big_coerce(x, y)
return rb_assoc_new(rb_int2big(FIX2LONG(y)), x);
}
else {
- rb_raise(rb_eTypeError, "can't coerce %s to Bignum",
+ rb_raise(rb_eTypeError, "Can't coerce %s to Bignum",
rb_class2name(CLASS_OF(y)));
}
/* not reached */
diff --git a/class.c b/class.c
index 93f8226..566dc70 100644
--- a/class.c
+++ b/class.c
@@ -508,7 +508,7 @@ rb_singleton_class(obj)
VALUE obj;
{
if (rb_special_const_p(obj)) {
- rb_raise(rb_eTypeError, "cannot define singleton");
+ rb_raise(rb_eTypeError, "can't define singleton");
}
if (FL_TEST(RBASIC(obj)->klass, FL_SINGLETON)) {
return RBASIC(obj)->klass;
@@ -636,7 +636,7 @@ rb_scan_args(argc, argv, fmt, va_alist)
}
else if (*p == '\0') {
if (argc > i) {
- rb_raise(rb_eArgError, "Wrong # of arguments(%d for %d)", argc, i);
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for %d)", argc, i);
}
}
else {
diff --git a/configure b/configure
index 2130847..906978c 100644
--- a/configure
+++ b/configure
@@ -2120,7 +2120,7 @@ fi
for ac_hdr in stdlib.h unistd.h limits.h sys/file.h sys/ioctl.h pwd.h \
sys/select.h sys/time.h sys/times.h sys/param.h sys/wait.h\
- syscall.h a.out.h string.h utime.h memory.h direct.h
+ syscall.h a.out.h string.h utime.h memory.h direct.h fnmatch.h
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
diff --git a/configure.in b/configure.in
index 8894cd6..0b107e0 100644
--- a/configure.in
+++ b/configure.in
@@ -169,7 +169,7 @@ AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS(stdlib.h unistd.h limits.h sys/file.h sys/ioctl.h pwd.h \
sys/select.h sys/time.h sys/times.h sys/param.h sys/wait.h\
- syscall.h a.out.h string.h utime.h memory.h direct.h)
+ syscall.h a.out.h string.h utime.h memory.h direct.h fnmatch.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_UID_T
diff --git a/error.c b/error.c
index 98a77ce..71a6ea6 100644
--- a/error.c
+++ b/error.c
@@ -297,7 +297,7 @@ exc_exception(argc, argv, self)
etype = RCLASS(etype)->super;
}
exc = rb_obj_alloc(etype);
- rb_obj_call_init(exc);
+ rb_obj_call_init(exc, argc, argv);
return exc;
}
@@ -374,45 +374,6 @@ exc_set_backtrace(exc, bt)
return rb_iv_set(exc, "bt", check_backtrace(bt));
}
-static VALUE
-exception(argc, argv)
- int argc;
- VALUE *argv;
-{
- VALUE v = Qnil;
- VALUE etype = rb_eStandardError;
- int i;
- ID id;
-
- if (argc == 0) {
- rb_raise(rb_eArgError, "wrong # of arguments");
- }
- rb_warn("Exception() is now obsolete");
- if (TYPE(argv[argc-1]) == T_CLASS) {
- etype = argv[argc-1];
- argc--;
- if (!rb_funcall(etype, '<', 1, rb_eException)) {
- rb_raise(rb_eTypeError, "exception should be subclass of Exception");
- }
- }
- for (i=0; i<argc; i++) { /* argument check */
- id = rb_to_id(argv[i]);
- if (!rb_id2name(id)) {
- rb_raise(rb_eArgError, "argument needs to be symbol or string");
- }
- if (!rb_is_const_id(id)) {
- rb_raise(rb_eArgError, "identifier `%s' needs to be constant",
- rb_id2name(id));
- }
- }
- for (i=0; i<argc; i++) {
- v = rb_define_class_under(ruby_class,
- rb_id2name(rb_to_id(argv[i])),
- rb_eStandardError);
- }
- return v;
-}
-
#ifdef __BEOS__
typedef struct {
VALUE *list;
@@ -564,8 +525,6 @@ Init_Exception()
rb_eNotImpError = rb_define_class("NotImplementError", rb_eException);
init_syserr();
-
- rb_define_global_function("Exception", exception, -1);
}
void
diff --git a/eval.c b/eval.c
index d7a2314..afdcb6f 100644
--- a/eval.c
+++ b/eval.c
@@ -2527,7 +2527,7 @@ rb_eval(self, node)
case NODE_ATTRSET:
if (ruby_frame->argc != 1)
- rb_raise(rb_eArgError, "Wrong # of arguments(%d for 1)",
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 1)",
ruby_frame->argc);
result = rb_ivar_set(self, node->nd_vid, ruby_frame->argv[0]);
break;
@@ -2595,18 +2595,11 @@ rb_eval(self, node)
VALUE klass;
NODE *body = 0;
- if (FIXNUM_P(recv)) {
- rb_raise(rb_eTypeError, "Can't define method \"%s\" for Fixnum",
- rb_id2name(node->nd_mid));
- }
- if (NIL_P(recv)) {
- rb_raise(rb_eTypeError, "Can't define method \"%s\" for nil",
- rb_id2name(node->nd_mid));
- }
if (rb_special_const_p(recv)) {
rb_raise(rb_eTypeError,
- "Can't define method \"%s\" for special constants",
- rb_id2name(node->nd_mid));
+ "can't define method \"%s\" for %s",
+ rb_id2name(node->nd_mid),
+ rb_class2name(CLASS_OF(recv)));
}
if (rb_safe_level() >= 4 && !FL_TEST(recv, FL_TAINT)) {
@@ -2729,7 +2722,7 @@ rb_eval(self, node)
klass = rb_define_class_id(node->nd_cname, super);
rb_const_set(ruby_class, node->nd_cname, klass);
rb_set_class_path(klass,ruby_class,rb_id2name(node->nd_cname));
- rb_obj_call_init(klass);
+ rb_obj_call_init(klass, 0, 0);
}
if (ruby_wrapper) {
rb_extend_object(klass, ruby_wrapper);
@@ -2769,7 +2762,7 @@ rb_eval(self, node)
module = rb_define_module_id(node->nd_cname);
rb_const_set(ruby_class, node->nd_cname, module);
rb_set_class_path(module,ruby_class,rb_id2name(node->nd_cname));
- rb_obj_call_init(module);
+ rb_obj_call_init(module, 0, 0);
}
if (ruby_wrapper) {
rb_extend_object(module, ruby_wrapper);
@@ -2785,14 +2778,9 @@ rb_eval(self, node)
VALUE klass;
klass = rb_eval(self, node->nd_recv);
- if (FIXNUM_P(klass)) {
- rb_raise(rb_eTypeError, "No virtual class for Fixnums");
- }
- if (NIL_P(klass)) {
- rb_raise(rb_eTypeError, "No virtual class for nil");
- }
if (rb_special_const_p(klass)) {
- rb_raise(rb_eTypeError, "No virtual class for special constants");
+ rb_raise(rb_eTypeError, "no virtual class for %s",
+ rb_class2name(CLASS_OF(klass)));
}
if (FL_TEST(CLASS_OF(klass), FL_SINGLETON)) {
rb_clear_cache();
@@ -3607,7 +3595,7 @@ call_cfunc(func, recv, len, argc, argv)
VALUE *argv;
{
if (len >= 0 && argc != len) {
- rb_raise(rb_eArgError, "Wrong # of arguments(%d for %d)",
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for %d)",
argc, len);
}
@@ -3811,7 +3799,7 @@ rb_call0(klass, recv, id, argc, argv, body, nosuper)
i = node->nd_cnt;
if (i > argc) {
- rb_raise(rb_eArgError, "Wrong # of arguments(%d for %d)",
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for %d)",
argc, i);
}
if (node->nd_rest == -1) {
@@ -3823,7 +3811,7 @@ rb_call0(klass, recv, id, argc, argv, body, nosuper)
optnode = optnode->nd_next;
}
if (opt > 0) {
- rb_raise(rb_eArgError, "Wrong # of arguments(%d for %d)",
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for %d)",
argc, argc-opt);
}
}
@@ -3937,8 +3925,13 @@ rb_call(klass, recv, mid, argc, argv, scope)
return rb_undefined(recv, mid, argc, argv, CSTAT_PRIV);
/* self must be kind of a specified form for private method */
- if ((noex & NOEX_PROTECTED) && !rb_obj_is_kind_of(ruby_frame->self, klass))
- return rb_undefined(recv, mid, argc, argv, CSTAT_PROT);
+ if ((noex & NOEX_PROTECTED)) {
+ VALUE defined_class = klass;
+ while (TYPE(defined_class) == T_ICLASS)
+ defined_class = RBASIC(defined_class)->klass;
+ if (!rb_obj_is_kind_of(ruby_frame->self, defined_class))
+ return rb_undefined(recv, mid, argc, argv, CSTAT_PROT);
+ }
return rb_call0(klass, recv, id, argc, argv, body, noex & NOEX_UNDEF);
}
@@ -4368,7 +4361,7 @@ rb_obj_instance_eval(argc, argv, self)
if (argc > 2) line = NUM2INT(argv[2]);
}
else {
- rb_raise(rb_eArgError, "Wrong # of arguments: %s(src) or %s{..}",
+ rb_raise(rb_eArgError, "wrong # of arguments: %s(src) or %s{..}",
rb_id2name(ruby_frame->last_func),
rb_id2name(ruby_frame->last_func));
}
@@ -4407,7 +4400,7 @@ rb_mod_module_eval(argc, argv, mod)
if (argc > 2) line = NUM2INT(argv[2]);
}
else {
- rb_raise(rb_eArgError, "Wrong # of arguments: %s(src) or %s{..}",
+ rb_raise(rb_eArgError, "wrong # of arguments: %s(src) or %s{..}",
rb_id2name(ruby_frame->last_func),
rb_id2name(ruby_frame->last_func));
}
@@ -4921,16 +4914,7 @@ rb_mod_include(argc, argv, module)
}
void
-rb_obj_call_init(obj)
- VALUE obj;
-{
- PUSH_ITER(rb_iterator_p()?ITER_PRE:ITER_NOT);
- rb_funcall2(obj, init, ruby_frame->argc, ruby_frame->argv);
- POP_ITER();
-}
-
-void
-rb_obj_call_init2(obj, argc, argv)
+rb_obj_call_init(obj, argc, argv)
VALUE obj;
int argc;
VALUE *argv;
@@ -4952,7 +4936,7 @@ rb_class_new_instance(argc, argv, klass)
rb_raise(rb_eTypeError, "can't create instance of virtual class");
}
obj = rb_obj_alloc(klass);
- rb_obj_call_init(obj);
+ rb_obj_call_init(obj, argc, argv);
return obj;
}
@@ -5420,7 +5404,7 @@ proc_s_new(klass)
scope_dup(data->scope);
proc_save_safe_level(proc);
- rb_obj_call_init(proc);
+ rb_obj_call_init(proc, 0, 0);
return proc;
}
diff --git a/ext/curses/curses.c b/ext/curses/curses.c
index 89396a8..49fa07b 100644
--- a/ext/curses/curses.c
+++ b/ext/curses/curses.c
@@ -412,11 +412,13 @@ window_s_new(class, lines, cols, top, left)
{
VALUE w;
WINDOW *window;
+ VALUE args[4];
window = newwin(NUM2INT(lines), NUM2INT(cols), NUM2INT(top), NUM2INT(left));
wclear(window);
w = prep_window(class, window);
- rb_obj_call_init(w);
+ args[0] = lines; args[1] = cols; args[2] = top; args[3] = left;
+ rb_obj_call_init(w, 4, args);
return w;
}
@@ -432,11 +434,17 @@ window_subwin(obj, lines, cols, top, left)
{
struct windata *winp;
WINDOW *window;
+ VALUE w;
+ VALUE args[4];
GetWINDOW(obj, winp);
window = subwin(winp->window, NUM2INT(lines), NUM2INT(cols),
NUM2INT(top), NUM2INT(left));
- return prep_window(cWindow, window);
+ w = prep_window(cWindow, window);
+ args[0] = lines; args[1] = cols; args[2] = top; args[3] = left;
+ rb_obj_call_init(w, 4, args);
+
+ return w;
}
/* def close */
diff --git a/ext/dbm/dbm.c b/ext/dbm/dbm.c
index 2764a32..c4a47e8 100644
--- a/ext/dbm/dbm.c
+++ b/ext/dbm/dbm.c
@@ -84,7 +84,7 @@ fdbm_s_open(argc, argv, klass)
obj = Data_Make_Struct(klass,struct dbmdata,0,free_dbm,dbmp);
dbmp->di_dbm = dbm;
dbmp->di_size = -1;
- rb_obj_call_init(obj);
+ rb_obj_call_init(obj, argc, argv);
return obj;
}
diff --git a/ext/md5/md5init.c b/ext/md5/md5init.c
index a825f96..e95e135 100644
--- a/ext/md5/md5init.c
+++ b/ext/md5/md5init.c
@@ -77,7 +77,7 @@ md5_new(argc, argv, class)
if (!NIL_P(arg)) {
md5_update(obj, arg);
}
- rb_obj_call_init(obj);
+ rb_obj_call_init(obj, argc, argv);
return obj;
}
diff --git a/ext/nkf/orig/nkf.c b/ext/nkf/orig/nkf.c
index 8de08a8..5a350ae 100644
--- a/ext/nkf/orig/nkf.c
+++ b/ext/nkf/orig/nkf.c
@@ -257,9 +257,9 @@ int line_fold();
# define DEFAULT_CONV e_oconv
#endif
-static void (*iconv)(int c2,int c1);
+static void (*iconv) _((int c2,int c1));
/* s_iconv or oconv */
-static void (*oconv)(int c2,int c1) = DEFAULT_CONV;
+static void (*oconv) _((int c2,int c1)) = DEFAULT_CONV;
/* [ejs]_oconv */
/* Global states */
@@ -464,7 +464,7 @@ main(argc, argv)
}
#endif
-void
+static void
arguments(cp)
char *cp;
{
@@ -1049,7 +1049,7 @@ h_conv(f, c2, c1)
-int
+static int
push_hold_buf(c2, c1)
int c2, c1;
{
@@ -1323,7 +1323,7 @@ j_oconv(c2, c1)
This is the main difference from fmt.
*/
-int
+static int
line_fold(c2,c1)
int c2,c1;
{
@@ -1446,7 +1446,7 @@ int c2,c1;
}
}
-int
+static int
pre_convert(c1,c2)
int c1,c2;
{
@@ -1513,7 +1513,7 @@ int iso8859_f_save;
#define nkf_toupper(c) (('a'<=c && c<='z')?(c-('a'-'A')):c)
/* I don't trust portablity of toupper */
-int
+static int
mime_begin(f)
FILE *f;
{
@@ -1620,7 +1620,7 @@ FILE *f;
#endif
-int
+static int
mime_getc(f)
FILE *f;
{
@@ -1778,7 +1778,7 @@ mime_integrity(f,p)
}
#endif
-int
+static int
base64decode(c)
int c;
{
@@ -1797,7 +1797,7 @@ base64decode(c)
return (i);
}
-void
+static void
reinit()
{
unbuf_f = FALSE;
diff --git a/ext/socket/socket.c b/ext/socket/socket.c
index 875c8aa..66bf56a 100644
--- a/ext/socket/socket.c
+++ b/ext/socket/socket.c
@@ -102,7 +102,7 @@ sock_new(class, fd)
fp->f2 = rb_fdopen(fd, "w");
fp->mode = FMODE_READWRITE;
rb_io_unbuffered(fp);
- rb_obj_call_init((VALUE)sock);
+ rb_obj_call_init((VALUE)sock, 0, 0);
return (VALUE)sock;
}
diff --git a/file.c b/file.c
index 8591023..857e807 100644
--- a/file.c
+++ b/file.c
@@ -1363,7 +1363,7 @@ test_check(n, argc, argv)
int i;
n+=1;
- if (n < argc) rb_raise(rb_eArgError, "Wrong # of arguments(%d for %d)", argc, n);
+ if (n < argc) rb_raise(rb_eArgError, "wrong # of arguments(%d for %d)", argc, n);
for (i=1; i<n; i++) {
switch (TYPE(argv[i])) {
case T_STRING:
@@ -1387,7 +1387,7 @@ rb_f_test(argc, argv)
{
int cmd;
- if (argc == 0) rb_raise(rb_eArgError, "Wrong # of arguments");
+ if (argc == 0) rb_raise(rb_eArgError, "wrong # of arguments");
cmd = NUM2CHR(argv[0]);
if (cmd == 0) return Qfalse;
if (strchr("bcdefgGkloOprRsSuwWxXz", cmd)) {
diff --git a/glob.c b/glob.c
index 09a47e0..57723d8 100644
--- a/glob.c
+++ b/glob.c
@@ -95,7 +95,11 @@
# endif /* !SHELL */
#endif /* OPENDIR_NOT_ROBUST */
-#include "fnmatch.h"
+#ifdef HAVE_FNMATCH_H
+#include <fnmatch.h>
+#else
+#include "missing/fnmatch.h"
+#endif
extern void *xmalloc (), *xrealloc ();
#if !defined (HAVE_STDLIB_H)
diff --git a/hash.c b/hash.c
index 66bf6e7..34e7213 100644
--- a/hash.c
+++ b/hash.c
@@ -192,7 +192,7 @@ rb_hash_s_new(argc, argv, klass)
VALUE *argv;
VALUE klass;
{
- VALUE sz, ifnone;
+ VALUE ifnone;
int size;
NEWOBJ(hash, struct RHash);
@@ -202,15 +202,11 @@ rb_hash_s_new(argc, argv, klass)
hash->ifnone = Qnil;
hash->tbl = 0; /* avoid GC crashing */
- rb_scan_args(argc, argv, "02", &ifnone, &sz);
- if (NIL_P(sz)) {
- size = 0;
- }
- else size = NUM2INT(sz);
+ rb_scan_args(argc, argv, "01", &ifnone);
hash->ifnone = ifnone;
- hash->tbl = st_init_table_with_size(&objhash, size);
- rb_obj_call_init((VALUE)hash);
+ hash->tbl = st_init_table(&objhash);
+ rb_obj_call_init((VALUE)hash, argc, argv);
return (VALUE)hash;
}
@@ -246,18 +242,16 @@ rb_hash_s_create(argc, argv, klass)
int i;
if (argc == 1 && TYPE(argv[0]) == T_HASH) {
- if (klass == CLASS_OF(argv[0])) return argv[0];
- else {
- NEWOBJ(hash, struct RHash);
- OBJSETUP(hash, klass, T_HASH);
+ NEWOBJ(hash, struct RHash);
+ OBJSETUP(hash, klass, T_HASH);
- hash->iter_lev = 0;
- hash->ifnone = Qnil;
- hash->tbl = 0; /* avoid GC crashing */
- hash->tbl = (st_table*)st_copy(RHASH(argv[0])->tbl);
- rb_obj_call_init((VALUE)hash);
- return (VALUE)hash;
- }
+ hash->iter_lev = 0;
+ hash->ifnone = Qnil;
+ hash->tbl = 0; /* avoid GC crashing */
+ hash->tbl = (st_table*)st_copy(RHASH(argv[0])->tbl);
+ rb_obj_call_init((VALUE)hash, argc, argv);
+
+ return (VALUE)hash;
}
if (argc % 2 != 0) {
@@ -268,7 +262,7 @@ rb_hash_s_create(argc, argv, klass)
for (i=0; i<argc; i+=2) {
st_insert(RHASH(hash)->tbl, argv[i], argv[i+1]);
}
- rb_obj_call_init(hash);
+ rb_obj_call_init(hash, argc, argv);
return hash;
}
@@ -918,7 +912,7 @@ rb_f_getenv(obj, name)
nam = str2cstr(name, &len);
if (strlen(nam) != len) {
- rb_raise(rb_eArgError, "Bad environment variable name");
+ rb_raise(rb_eArgError, "bad environment variable name");
}
env = getenv(nam);
if (env) {
@@ -1119,17 +1113,6 @@ ruby_setenv(name, value)
#endif /* WIN32 */
}
-void
-ruby_setenv2(name, value)
- char *name;
- char *value;
-{
- if (value == NULL) {
- ruby_unsetenv(name);
- }
- ruby_setenv(name, value);
-}
-
static VALUE
rb_f_setenv(obj, nm, val)
VALUE obj, nm, val;
@@ -1149,9 +1132,9 @@ rb_f_setenv(obj, nm, val)
name = str2cstr(nm, &nlen);
value = str2cstr(val, &vlen);
if (strlen(name) != nlen)
- rb_raise(rb_eArgError, "Bad environment name");
+ rb_raise(rb_eArgError, "bad environment variable name");
if (strlen(value) != vlen)
- rb_raise(rb_eArgError, "Bad environment value");
+ rb_raise(rb_eArgError, "bad environment variable value");
ruby_setenv(name, value);
if (strcmp(name, "PATH") == 0) {
diff --git a/intern.h b/intern.h
index 3a524c1..9c72f72 100644
--- a/intern.h
+++ b/intern.h
@@ -117,8 +117,7 @@ void rb_load_protect _((VALUE, int, int*));
void rb_jump_tag _((int)) NORETURN;
void rb_provide _((char*));
VALUE rb_f_require _((VALUE, VALUE));
-void rb_obj_call_init _((VALUE));
-void rb_obj_call_init2 _((VALUE, int, VALUE*));
+void rb_obj_call_init _((VALUE, int, VALUE*));
VALUE rb_class_new_instance _((int, VALUE*, VALUE));
VALUE rb_f_lambda _((void));
VALUE rb_protect _((VALUE (*)(), VALUE, int*));
diff --git a/io.c b/io.c
index 9eba04a..01c509c 100644
--- a/io.c
+++ b/io.c
@@ -1208,7 +1208,7 @@ rb_file_open(fname, mode)
fptr->mode = rb_io_mode_flags(mode);
fptr->f = rb_fopen(fname, mode);
fptr->path = strdup(fname);
- rb_obj_call_init((VALUE)port);
+ rb_obj_call_init((VALUE)port, 0, 0);
return (VALUE)port;
}
@@ -1236,7 +1236,7 @@ rb_file_sysopen(fname, flags, mode)
fptr->mode = rb_io_mode_flags2(flags);
fptr->f = rb_fdopen(fd, m);
fptr->path = strdup(fname);
- rb_obj_call_init((VALUE)port);
+ rb_obj_call_init((VALUE)port, 0, 0);
return (VALUE)port;
#endif
@@ -1351,7 +1351,7 @@ pipe_open(pname, mode)
fptr->f2 = f;
rb_io_unbuffered(fptr);
}
- rb_obj_call_init((VALUE)port);
+ rb_obj_call_init((VALUE)port, 0, 0);
return (VALUE)port;
}
#else
@@ -1439,7 +1439,7 @@ pipe_open(pname, mode)
fptr->finalize = pipe_finalize;
pipe_add_fptr(fptr);
#endif
- rb_obj_call_init((VALUE)port);
+ rb_obj_call_init((VALUE)port, 0, 0);
return (VALUE)port;
}
}
@@ -1504,7 +1504,7 @@ rb_file_s_open(argc, argv, klass)
}
RBASIC(file)->klass = klass;
- rb_obj_call_init(file);
+ rb_obj_call_init(file, 0, 0);
if (rb_iterator_p()) {
return rb_ensure(rb_yield, file, rb_io_close, file);
}
@@ -2016,7 +2016,7 @@ prep_stdio(f, mode, klass)
MakeOpenFile(io, fp);
fp->f = f;
fp->mode = mode;
- rb_obj_call_init((VALUE)io);
+ rb_obj_call_init((VALUE)io, 0, 0);
return (VALUE)io;
}
@@ -2655,6 +2655,13 @@ rb_io_s_pipe()
#endif
}
+static VALUE
+rb_f_pipe()
+{
+ rb_warn("pipe is obsolete; use IO::pipe instead");
+ return rb_io_s_pipe();
+}
+
struct foreach_arg {
int argc;
VALUE sep;
@@ -2954,7 +2961,7 @@ Init_IO()
rb_define_global_function("readlines", rb_f_readlines, -1);
rb_define_global_function("`", rb_f_backquote, 1);
- rb_define_global_function("pipe", rb_io_s_pipe, 0);
+ rb_define_global_function("pipe", rb_f_pipe, 0);
rb_define_global_function("p", rb_f_p, -1);
rb_define_method(rb_mKernel, "display", rb_obj_display, -1);
diff --git a/lib/cgi-lib.rb b/lib/cgi-lib.rb
index 83ea611..12c8502 100644
--- a/lib/cgi-lib.rb
+++ b/lib/cgi-lib.rb
@@ -1,54 +1,113 @@
-#
-# Get CGI String
-#
-# EXAMPLE:
-# require "cgi-lib.rb"
-# foo = CGI.new
-# foo['field'] <== value of 'field'
-# foo.keys <== array of fields
-# and foo has Hash class methods
-#
-# foo.cookie['name'] <== cookie value of 'name'
-# foo.cookie.keys <== all cookie names
-# and foo.cookie has Hash class methods
-#
-# make raw cookie string
-# cookie1 = CGI.cookie({'name' => 'name',
-# 'value' => 'value',
-# 'path' => 'path', # optional
-# 'domain' => 'domain', # optional
-# 'expires' => Time.now, # optional
-# 'secure' => true # optional
-# })
-#
-# print CGI.header("Content-Type: text/html", cookie1, cookie2)
-#
-# print CGI.header("HTTP/1.0 200 OK", "Content-Type: text/html")
-# print CGI.header # == print CGI.header("Content-Type: text/html")
-#
-# make HTML tag string
-# CGI.tag("element", {"attribute_name"=>"attribute_value"}){"content"}
-#
-# print CGI.tag("HTML"){
-# CGI.tag("HEAD"){ CGI.tag("TITLE"){"TITLE"} } +
-# CGI.tag("BODY"){
-# CGI.tag("FORM", {"ACTION"=>"test.rb", "METHOD"=>"POST"}){
-# CGI.tag("INPUT", {"TYPE"=>"submit", "VALUE"=>"submit"})
-# } +
-# CGI.tag("HR")
-# }
-# }
-#
-# print HTTP header and strings to STDOUT
-# CGI.print{ "string" } # add HTTP header "Content-Type: text/html"
-# CGI.print("Content-Type: text/plain"){ "string" }
-# CGI.print("HTTP/1.0 200 OK", "Content-Type: text/html"){ "string" }
-
-
-# if running on Windows(IIS or PWS) then change cwd.
-if ENV['SERVER_SOFTWARE'] =~ /^Microsoft-/ then
- Dir.chdir ENV['PATH_TRANSLATED'].sub(/[^\\]+$/, '')
-end
+=begin
+
+= simple CGI support library
+
+= example
+
+== get form values
+
+ require "cgi-lib.rb"
+ query = CGI.new
+ query['field'] # <== value of 'field'
+ query.keys # <== array of fields
+
+and query has Hash class methods
+
+
+== get cookie values
+
+ require "cgi-lib.rb"
+ query = CGI.new
+ query.cookie['name'] # <== cookie value of 'name'
+ query.cookie.keys # <== all cookie names
+
+and query.cookie has Hash class methods
+
+
+== print HTTP header and HTML string to $>
+
+ require "cgi-lib.rb"
+ CGI.print{
+ CGI.tag("HTML"){
+ CGI.tag("HEAD"){ CGI.tag("TITLE"){"TITLE"} } +
+ CGI.tag("BODY"){
+ CGI.tag("FORM", {"ACTION"=>"test.rb", "METHOD"=>"POST"}){
+ CGI.tag("INPUT", {"TYPE"=>"submit", "VALUE"=>"submit"})
+ } +
+ CGI.tag("HR")
+ }
+ }
+ }
+
+
+== make raw cookie string
+
+ require "cgi-lib.rb"
+ cookie1 = CGI.cookie({'name' => 'name',
+ 'value' => 'value',
+ 'path' => 'path', # optional
+ 'domain' => 'domain', # optional
+ 'expires' => Time.now, # optional
+ 'secure' => true # optional
+ })
+
+ CGI.print("Content-Type: text/html", cookie1, cookie2){ "string" }
+
+
+== print HTTP header and string to $>
+
+ require "cgi-lib.rb"
+ CGI.print{ "string" }
+ # == CGI.print("Content-Type: text/html"){ "string" }
+ CGI.print("Content-Type: text/html", cookie1, cookie2){ "string" }
+
+
+=== NPH (no-parse-header) mode
+
+ require "cgi-lib.rb"
+ CGI.print("nph"){ "string" }
+ # == CGI.print("nph", "Content-Type: text/html"){ "string" }
+ CGI.print("nph", "Content-Type: text/html", cookie1, cookie2){ "string" }
+
+
+== make HTML tag string
+
+ require "cgi-lib.rb"
+ CGI.tag("element", {"attribute_name"=>"attribute_value"}){"content"}
+
+
+== make HTTP header string
+
+ require "cgi-lib.rb"
+ CGI.header # == CGI.header("Content-Type: text/html")
+ CGI.header("Content-Type: text/html", cookie1, cookie2)
+
+
+=== NPH (no-parse-header) mode
+
+ CGI.header("nph") # == CGI.header("nph", "Content-Type: text/html")
+ CGI.header("nph", "Content-Type: text/html", cookie1, cookie2)
+
+
+== escape url encode
+
+ require "cgi-lib.rb"
+ url_encoded_string = CGI.escape("string")
+
+
+== unescape url encoded
+
+ require "cgi-lib.rb"
+ string = CGI.unescape("url encoded string")
+
+
+== escape HTML &"<>
+
+ require "cgi-lib.rb"
+ CGI.escapeHTML("string")
+
+
+=end
require "delegate"
@@ -58,33 +117,19 @@ class CGI < SimpleDelegator
LF = "\012"
EOL = CR + LF
- attr("inputs")
- attr("cookie")
-
- # original is CGI.pm
- def read_from_cmdline
- require "shellwords.rb"
- words = Shellwords.shellwords(if not ARGV.empty? then
- ARGV.join(' ')
- else
- STDERR.print "(offline mode: enter name=value pairs on standard input)\n" if STDIN.tty?
- readlines.join(' ').gsub(/\n/, '')
- end.gsub(/\\=/, '%3D').gsub(/\\&/, '%26'))
-
- if words.find{|x| x =~ /=/} then words.join('&') else words.join('+') end
+ # if running on Windows(IIS or PWS) then change cwd.
+ if ENV['SERVER_SOFTWARE'] =~ /^Microsoft-/
+ Dir.chdir(ENV['PATH_TRANSLATED'].sub(/[^\\]+$/, ''))
end
-
+
# escape url encode
def escape(str)
- str.gsub!(/[^a-zA-Z0-9_\-.]/n){ sprintf("%%%02X", $&.unpack("C")[0]) }
- str
+ str.gsub(/[^a-zA-Z0-9_\-.]/n){ sprintf("%%%02X", $&.unpack("C")[0]) }
end
# unescape url encoded
def unescape(str)
- str.gsub!(/\+/, ' ')
- str.gsub!(/%([0-9a-fA-F]{2})/){ [$1.hex].pack("c") }
- str
+ str.gsub(/\+/, ' ').gsub(/%([0-9a-fA-F]{2})/){ [$1.hex].pack("c") }
end
# escape HTML
@@ -94,17 +139,33 @@ class CGI < SimpleDelegator
module_function :escape, :unescape, :escapeHTML
+ # offline mode. read name=value pairs on standard input.
+ def read_from_cmdline
+ require "shellwords.rb"
+ words = Shellwords.shellwords(
+ if not ARGV.empty?
+ ARGV.join(' ')
+ else
+ STDERR.print "(offline mode: enter name=value pairs on standard input)\n" if STDIN.tty?
+ readlines.join(' ').gsub(/\n/, '')
+ end.gsub(/\\=/, '%3D').gsub(/\\&/, '%26'))
+
+ if words.find{|x| x =~ /=/} then words.join('&') else words.join('+') end
+ end
+
def initialize(input = $stdin)
@inputs = {}
+ @cookie = {}
+
case ENV['REQUEST_METHOD']
when "GET"
# exception messages should be printed to stdout.
- STDERR.reopen(STDOUT)
+ STDERR.reopen($>)
ENV['QUERY_STRING'] or ""
when "POST"
# exception messages should be printed to stdout.
- STDERR.reopen(STDOUT)
+ STDERR.reopen($>)
input.read Integer(ENV['CONTENT_LENGTH'])
else
read_from_cmdline
@@ -119,27 +180,32 @@ class CGI < SimpleDelegator
super(@inputs)
- if ENV.has_key?('HTTP_COOKIE')
- @cookie = {}
- ENV['HTTP_COOKIE'].split("; ").each do |x|
- key, val = x.split(/=/,2).collect{|x|unescape(x)}
+ if ENV.has_key?('HTTP_COOKIE') or ENV.has_key?('COOKIE')
+ (ENV['HTTP_COOKIE'] or ENV['COOKIE']).split("; ").each do |x|
+ key, val = x.split(/=/,2)
+ key = unescape(key)
+ val = val.split(/&/).collect{|x|unescape(x)}.join("\0")
if @cookie.include?(key)
- @cookie[key] += "\0" + (val or "")
+ @cookie[key] += "\0" + val
else
- @cookie[key] = (val or "")
+ @cookie[key] = val
end
end
end
end
- def CGI.header(*options)
- options.push("Content-Type: text/html") if options.empty?
- if options.find{|item| /^Expires: |^Set-Cookie: /i === item}
- options.push("Date: " + Time.now.gmtime.strftime("%a, %d %b %Y %X %Z"))
- end
- options.join(EOL) + EOL + EOL
+ attr("inputs")
+ attr("cookie")
+
+ # make HTML tag string
+ def CGI.tag(element, attributes = {})
+ "<" + escapeHTML(element) + attributes.collect{|name, value|
+ " " + escapeHTML(name) + '="' + escapeHTML(value) + '"'
+ }.to_s + ">" +
+ (iterator? ? yield.to_s + "</" + escapeHTML(element) + ">" : "")
end
+ # make raw cookie string
def CGI.cookie(options)
"Set-Cookie: " + options['name'] + '=' + escape(options['value']) +
(options['domain'] ? '; domain=' + options['domain'] : '') +
@@ -148,18 +214,35 @@ class CGI < SimpleDelegator
(options['secure'] ? '; secure' : '')
end
- def CGI.tag(element, attributes = {})
- "<" + escapeHTML(element) + attributes.collect{|name, value|
- " " + escapeHTML(name) + '="' + escapeHTML(value) + '"'
- }.to_s + ">" +
- (iterator? ? yield.to_s + "</" + escapeHTML(element) + ">" : "")
+ # make HTTP header string
+ def CGI.header(*options)
+ if ENV['MOD_RUBY']
+ options.each{|option|
+ option.sub(/(.*?): (.*)/){
+ Apache::request[$1] = $2
+ }
+ }
+ Apache::request.send_http_header
+ ''
+ else
+ if options.delete("nph") or (ENV['SERVER_SOFTWARE'] =~ /IIS/)
+ [(ENV['SERVER_PROTOCOL'] or "HTTP/1.0") + " 200 OK",
+ "Date: " + Time.now.gmtime.strftime("%a, %d %b %Y %X %Z"),
+ "Server: " + (ENV['SERVER_SOFTWARE'] or ""),
+ "Connection: close"] +
+ (options.empty? ? ["Content-Type: text/html"] : options)
+ else
+ options.empty? ? ["Content-Type: text/html"] : options
+ end.join(EOL) + EOL + EOL
+ end
end
- def CGI.print(*header)
- header.push("Content-Type: text/html") if header.empty?
- STDOUT.print CGI.header(*header) + yield.to_s
+ # print HTTP header and string to $>
+ def CGI.print(*options)
+ $>.print CGI.header(*options) + yield.to_s
end
+ # print message to $>
def CGI.message(message, title = "", header = ["Content-Type: text/html"])
if message.kind_of?(Hash)
title = message['title']
@@ -175,6 +258,7 @@ class CGI < SimpleDelegator
TRUE
end
+ # print error message to $> and exit
def CGI.error
CGI.message({'title'=>'ERROR', 'body'=>
CGI.tag("PRE"){
diff --git a/marshal.c b/marshal.c
index a22ddf2..7374fad 100644
--- a/marshal.c
+++ b/marshal.c
@@ -851,7 +851,7 @@ marshal_load(argc, argv)
v = rb_ensure(load, (VALUE)&arg, load_ensure, (VALUE)&arg);
}
else {
- rb_raise(rb_eTypeError, "Old marshal file format (can't read)");
+ rb_raise(rb_eTypeError, "old marshal file format (can't read)");
}
return v;
diff --git a/misc/ruby-mode.el b/misc/ruby-mode.el
index af59f70..e27102f 100644
--- a/misc/ruby-mode.el
+++ b/misc/ruby-mode.el
@@ -217,7 +217,7 @@ The variable ruby-indent-level controls the amount of indentation.
(progn
(goto-char (match-end 0))
(looking-at "\\>"))
- (looking-at "[a-zA-Z][a-zA-z0-9_]* /[^ \t]"))))))))
+ (looking-at "[a-zA-Z][a-zA-z0-9_]* +/[^ \t]"))))))))
(defun ruby-parse-region (start end)
(let ((indent-point end)
@@ -250,7 +250,6 @@ The variable ruby-indent-level controls the amount of indentation.
(setq in-string (point))
(goto-char indent-point))))
((looking-at "/")
- (echo "here %s" (ruby-expr-beg))
(cond
((and (not (eobp)) (ruby-expr-beg))
(if (re-search-forward "[^\\]/" indent-point t)
@@ -686,20 +685,15 @@ An end of a defun is found by moving forward from the beginning of one."
'("^\\s *def\\s *\\<\\(\\(\\w\\|\\s_\\)+\\.\\)?\\(\\(\\w\\|\\s_\\)+\\)\\>"
3 font-lock-function-name-face t))
"*Additional expressions to highlight in ruby mode.")
- (if (and (>= (string-to-int emacs-version) 19)
- (not (featurep 'xemacs)))
- (add-hook
- 'ruby-mode-hook
- (lambda ()
- (make-local-variable 'font-lock-syntactic-keywords)
- (setq font-lock-syntactic-keywords
- '(("\\$\\([#\"'$\\]\\)" 1 (1 . nil))
- ("\\(#\\)[{$@]" 1 (1 . nil))))
- (make-local-variable 'font-lock-defaults)
- (setq font-lock-defaults
- '((ruby-font-lock-keywords) nil nil ((?\_ . "w") (?$ . "/"))))))
- (add-hook 'ruby-mode-hook
- (lambda ()
- (setq font-lock-keywords ruby-font-lock-keywords))))))
+ (add-hook
+ 'ruby-mode-hook
+ (lambda ()
+ (make-local-variable 'font-lock-syntactic-keywords)
+ (setq font-lock-syntactic-keywords
+ '(("\\$\\([#\"'$\\]\\)" 1 (1 . nil))
+ ("\\(#\\)[{$@]" 1 (1 . nil))))
+ (make-local-variable 'font-lock-defaults)
+ (setq font-lock-defaults '((ruby-font-lock-keywords) nil nil))
+ (setq font-lock-keywords ruby-font-lock-keywords)))))
(provide 'ruby-mode)
diff --git a/missing/fnmatch.c b/missing/fnmatch.c
index 5bc8d7d..09f474b 100644
--- a/missing/fnmatch.c
+++ b/missing/fnmatch.c
@@ -48,11 +48,15 @@ static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94";
#define EOS '\0'
-static const char *rangematch(const char *, int, int);
+static char *rangematch(const char *, int, int);
-int fnmatch(const char *pattern, const char *string, int flags)
+int
+fnmatch(pattern, string, flags)
+ char *pattern;
+ char *string;
+ int flags;
{
- const char *stringstart;
+ char *stringstart;
char c, test;
for (stringstart = string;;) {
@@ -149,7 +153,10 @@ int fnmatch(const char *pattern, const char *string, int flags)
}
}
-static const char *rangematch(const char *pattern, int test, int flags)
+static char*
+rangematch(pattern, test, flags)
+ char *pattern;
+ int test, flags;
{
int negate, ok;
char c, c2;
diff --git a/missing/fnmatch.h b/missing/fnmatch.h
index 66f36a1..7738516 100644
--- a/missing/fnmatch.h
+++ b/missing/fnmatch.h
@@ -48,7 +48,7 @@ extern "C" {
#define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */
#define FNM_PERIOD 0x04 /* Period must be matched by period. */
-int fnmatch(const char *, const char *, int);
+int fnmatch();
#ifdef __cplusplus
}
diff --git a/object.c b/object.c
index 9e1840a..733f2ac 100644
--- a/object.c
+++ b/object.c
@@ -368,13 +368,6 @@ true_to_s(obj)
}
static VALUE
-true_to_i(obj)
- VALUE obj;
-{
- return INT2FIX(1);
-}
-
-static VALUE
true_type(obj)
VALUE obj;
{
@@ -410,13 +403,6 @@ false_to_s(obj)
}
static VALUE
-false_to_i(obj)
- VALUE obj;
-{
- return INT2FIX(0);
-}
-
-static VALUE
false_type(obj)
VALUE obj;
{
@@ -579,7 +565,7 @@ rb_module_s_new(klass)
VALUE mod = rb_module_new();
RBASIC(mod)->klass = klass;
- rb_obj_call_init(mod);
+ rb_obj_call_init(mod, 0, 0);
return mod;
}
@@ -601,7 +587,7 @@ rb_class_s_new(argc, argv)
/* make metaclass */
RBASIC(klass)->klass = rb_singleton_class_new(RBASIC(super)->klass);
rb_singleton_class_attached(RBASIC(klass)->klass, klass);
- rb_obj_call_init(klass);
+ rb_obj_call_init(klass, argc, argv);
return klass;
}
@@ -752,43 +738,6 @@ rb_obj_private_methods(obj)
return rb_class_private_instance_methods(1, argv, CLASS_OF(obj));
}
-VALUE
-rb_Integer(val)
- VALUE val;
-{
- long i;
-
- switch (TYPE(val)) {
- case T_FLOAT:
- if (RFLOAT(val)->value <= (double)FIXNUM_MAX
- && RFLOAT(val)->value >= (double)FIXNUM_MIN) {
- i = (long)RFLOAT(val)->value;
- break;
- }
- return rb_dbl2big(RFLOAT(val)->value);
-
- case T_BIGNUM:
- return val;
-
- case T_STRING:
- return rb_str2inum(RSTRING(val)->ptr, 0);
-
- case T_NIL:
- return INT2FIX(0);
-
- default:
- i = NUM2LONG(val);
- }
- return INT2NUM(i);
-}
-
-static VALUE
-rb_f_integer(obj, arg)
- VALUE obj, arg;
-{
- return rb_Integer(arg);
-}
-
struct arg_to {
VALUE val;
char *s;
@@ -830,6 +779,50 @@ rb_convert_type(val, type, tname, method)
return val;
}
+VALUE
+rb_Integer(val)
+ VALUE val;
+{
+ struct arg_to arg1, arg2;
+
+ switch (TYPE(val)) {
+ case T_FLOAT:
+ if (RFLOAT(val)->value <= (double)FIXNUM_MAX
+ && RFLOAT(val)->value >= (double)FIXNUM_MIN) {
+ break;
+ }
+ return rb_dbl2big(RFLOAT(val)->value);
+
+ case T_BIGNUM:
+ return val;
+
+ case T_STRING:
+ return rb_str2inum(RSTRING(val)->ptr, 0);
+
+ case T_NIL:
+ return INT2FIX(0);
+
+ default:
+ break;
+ }
+
+ arg1.val = arg2.val = val;
+ arg1.s = "to_i";
+ arg2.s = "Integer";
+ val = rb_rescue(to_type, (VALUE)&arg1, fail_to_type, (VALUE)&arg2);
+ if (!rb_obj_is_kind_of(val, rb_cInteger)) {
+ rb_raise(rb_eTypeError, "to_i should return Integer");
+ }
+ return val;
+}
+
+static VALUE
+rb_f_integer(obj, arg)
+ VALUE obj, arg;
+{
+ return rb_Integer(arg);
+}
+
double rb_big2dbl _((VALUE));
VALUE
@@ -846,6 +839,9 @@ rb_Float(val)
case T_BIGNUM:
return rb_float_new(rb_big2dbl(val));
+ case T_NIL:
+ return rb_float_new(0.0);
+
default:
return rb_convert_type(val, T_FLOAT, "Float", "to_f");
}
@@ -862,8 +858,23 @@ double
rb_num2dbl(val)
VALUE val;
{
- VALUE v = rb_Float(val);
- return RFLOAT(v)->value;
+ switch (TYPE(val)) {
+ case T_FLOAT:
+ return RFLOAT(val)->value;
+
+ case T_STRING:
+ rb_raise(rb_eTypeError, "no implicit conversion from String");
+ break;
+
+ case T_NIL:
+ rb_raise(rb_eTypeError, "no implicit conversion from nil");
+ break;
+
+ default:
+ break;
+ }
+
+ return RFLOAT(rb_Float(val))->value;
}
char*
@@ -1081,7 +1092,6 @@ Init_Object()
rb_cTrueClass = rb_define_class("TrueClass", rb_cObject);
rb_define_method(rb_cTrueClass, "to_s", true_to_s, 0);
- rb_define_method(rb_cTrueClass, "to_i", true_to_i, 0);
rb_define_method(rb_cTrueClass, "type", true_type, 0);
rb_define_method(rb_cTrueClass, "&", true_and, 1);
rb_define_method(rb_cTrueClass, "|", true_or, 1);
@@ -1091,7 +1101,6 @@ Init_Object()
rb_cFalseClass = rb_define_class("FalseClass", rb_cObject);
rb_define_method(rb_cFalseClass, "to_s", false_to_s, 0);
- rb_define_method(rb_cFalseClass, "to_i", false_to_i, 0);
rb_define_method(rb_cFalseClass, "type", false_type, 0);
rb_define_method(rb_cFalseClass, "&", false_and, 1);
rb_define_method(rb_cFalseClass, "|", false_or, 1);
diff --git a/parse.c b/parse.c
index 149c095..996adf6 100644
--- a/parse.c
+++ b/parse.c
@@ -399,7 +399,7 @@ static const short yyrhs[] = { -1,
0, 191, 194, 0, 192, 194, 0, 193, 0, 0,
47, 0, 189, 111, 47, 0, 47, 91, 140, 0,
190, 0, 191, 111, 190, 0, 88, 47, 0, 89,
- 47, 0, 111, 193, 0, 0, 183, 0, 85, 125,
+ 47, 0, 111, 193, 0, 0, 183, 0, 115, 125,
202, 110, 0, 0, 197, 203, 0, 150, 203, 0,
198, 0, 197, 111, 198, 0, 140, 84, 140, 0,
47, 0, 51, 0, 48, 0, 109, 0, 81, 0,
@@ -575,9 +575,9 @@ static const short yydefact[] = { 1,
111, 103, 120, 130, 122, 121, 114, 124, 108, 96,
116, 115, 110, 126, 129, 127, 95, 102, 93, 94,
91, 92, 56, 58, 57, 86, 87, 84, 68, 69,
- 70, 73, 75, 71, 64, 88, 89, 76, 77, 0,
- 81, 72, 74, 65, 66, 67, 78, 79, 80, 82,
- 83, 85, 90, 244, 59, 60, 311, 338, 0, 121,
+ 70, 73, 75, 71, 64, 88, 89, 76, 77, 81,
+ 72, 74, 65, 66, 67, 78, 79, 80, 82, 83,
+ 85, 90, 0, 244, 59, 60, 311, 338, 0, 121,
114, 124, 108, 91, 92, 56, 57, 61, 14, 290,
301, 226, 304, 0, 26, 228, 0, 0, 0, 0,
220, 223, 282, 353, 263, 262, 0, 0, 50, 53,
@@ -639,311 +639,286 @@ static const short yydefgoto[] = { 615,
};
static const short yypact[] = {-32768,
- 1581, 4673, 29, 135, 4070, 4379, 2015, 4763, 4763, 2487,
- 4763, 4763, 5841,-32768,-32768,-32768,-32768, 3427, 3517, 3607,
--32768,-32768,-32768,-32768, 4763, 4276, -45,-32768, 39,-32768,
--32768, 1679, 1898,-32768,-32768, 1793,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768, 5573, 5573, 135, 2578,
- 5573, 5573, 6105, 4173, 5663, 5573,-32768, -25, 338, 93,
- 136, 64,-32768, 59, 5929,-32768, 6104, 0, 147, 22,
--32768,-32768, 122,-32768, 168, 3067, 338,-32768,-32768, 4763,
- 41,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+ 1422, 4530, 39, 164, 2922, 4236, 1856, 4620, 4620, 2328,
+ 4620, 4620, 5698,-32768,-32768,-32768,-32768, 3387, 3477, 3567,
+-32768,-32768,-32768,-32768, 4620, 4133, -53,-32768, -41,-32768,
+-32768, 1520, 1739,-32768,-32768, 1634,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768, 5430, 5430, 164, 2419,
+ 5430, 5430, 5962, 4030, 5520, 5430,-32768, 158, 420, 322,
+ 88, 86,-32768, 82, 5786,-32768, 6041, -8, 160, 27,
+-32768,-32768, 105,-32768, 168, 3027, 420,-32768,-32768, 4620,
+ 50,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768, -9, 1, 2, 12,-32768,
+-32768,-32768,-32768,-32768,-32768, 1, 94, 146, 182,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
- 79, 85, 125,-32768, 130,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 4763,
+ 183, 196, 200,-32768, 201,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 175,-32768,
--32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 74, 212,
- 3157, 3247, 3337, 33,-32768, 118, 33, 221, 21, 21,
- 155, 172, 177, -45,-32768, 192, 62, 285, 71, 78,
- -17, 2686, 5573, 5573, 5573, 4483,-32768, 1089,-32768,-32768,
- 205,-32768, 80, 210, 222, 211,-32768, 4578,-32768, 4853,
--32768,-32768, 36,-32768,-32768, 215, 230, 2794, 284, 143,
- 284,-32768, 2578, 251, 257, 258, 6104, -22, 243, -22,
- 264, 92,-32768,-32768,-32768,-32768,-32768,-32768, 284, 284,
--32768,-32768,-32768,-32768, 2976, 4763, 4763, 4763, 4763, 4763,
- 4763, 5213,-32768, 2578, 6105,-32768, 268, 5573, 5573, 5573,
- 5573, 5573, 5573, 5573, 5573, 5573, 5573, 5573, 5573, 5573,
- 5573, 5573, 5573, 5573, 5573, 5573, 5573, 5573, 5573, 5573,
- 5573, 5573, 5573, 235, 280, 4853,-32768,-32768,-32768,-32768,
--32768,-32768, 5573, 5573, 4853,-32768,-32768, 31, -25,-32768,
--32768,-32768, 2885, 28, -2,-32768,-32768,-32768,-32768, 5573,
- 365,-32768, 2123, 382, 2305, 5303, 387,-32768, 2885,-32768,
- 2885, 215, 235, 306, 4853, 4763, 749, 6104,-32768, 288,
- 5573, 4943,-32768, 311, 4853, 5033,-32768,-32768, 290, 293,
- -45,-32768,-32768,-32768, 4379,-32768, 5573, 2794, 297, 311,
- 298,-32768, 299, 5573,-32768,-32768,-32768,-32768,-32768, 5573,
--32768,-32768, 338, 93, 93, 93, 93,-32768,-32768, 5573,
- 300,-32768, 302,-32768, 6017, 284, 670, 670, 670, 670,
- 286, 286, 1385, 6184, 670, 670, 6144, 6144, 129, 129,
- 1339, 286, 286, 99, 99, 291, 66, 66, 284, 284,
- 284, 3697,-32768, 3787, 3877, 197, 226, 3967, 296,-32768,
- 68, 68, 5573, 5573, 6104, 6104, 304,-32768,-32768, 4763,
- 2885, 391, 305, 326, 375, 376, 13, 2885, -25, 313,
--32768, 314, 315,-32768, 4379, 4379, 15, 318, 2396, 422,
- 246,-32768, 365, 5573, 321, 25,-32768, 423, 425, 322,
- 103,-32768, 324, 327, 21, 352,-32768,-32768, 6104, 5573,
- 1089,-32768, 333, 232, 332, 5573, 1089,-32768,-32768,-32768,
--32768,-32768, 4763, 6104, 339,-32768, 253, 6104, 6104, 5393,
--32768, 6105,-32768, 5573, 4853,-32768, 5573, 5573, 5573, 5573,
- 4853,-32768, 208,-32768, 5753, 2885, 2794, 6104, 6104,-32768,
- 2885, 31, 439,-32768,-32768, 5573,-32768,-32768, -45, 440,
--32768, 26,-32768, 30,-32768, 362,-32768,-32768,-32768, 2015,
- 5573,-32768, 2885, 443, 4763, 444,-32768, 445, 6104, 5483,
- 2214,-32768,-32768, 160, 2885, 749, 5123,-32768, 238, 749,
- 23,-32768, 5573,-32768, 6104, 346, 6104, 6104, 6104, 6104,
- 347, 5573, 5573,-32768, 363, 448, 353, 450,-32768,-32768,
- 6104, 355,-32768, 326, 351, 315,-32768, 326,-32768, 315,
- -2, 212,-32768,-32768, 33,-32768,-32768, 5573, 206, 457,
--32768, 5573,-32768,-32768, 6104,-32768,-32768, 6104, 6104,-32768,
--32768,-32768,-32768,-32768, 30,-32768,-32768,-32768, 2885,-32768,
- 2123, 6104,-32768,-32768,-32768,-32768, 749, 315, 458, 246,
--32768,-32768,-32768,-32768, 469, 470,-32768
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
+-32768,-32768, 4620,-32768,-32768,-32768,-32768,-32768, 235,-32768,
+-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 127, 244,
+ 3117, 3207, 3297, 46,-32768, 149, 46, 273, 42, 42,
+ 198, 202, 206, -53,-32768, 150, 10, 286, 92, 93,
+ 74, 2527, 5430, 5430, 5430, 4340,-32768, 5961,-32768,-32768,
+ 204,-32768, 111, 37, 44, 218,-32768, 4435,-32768, 4710,
+-32768,-32768, 270,-32768,-32768, 222, 242, 2635, 294, 116,
+ 294,-32768, 2419, 272, 275, 276, 6041, -27, 274, -27,
+ 282, 60,-32768,-32768,-32768,-32768,-32768,-32768, 294, 294,
+-32768,-32768,-32768,-32768, 2817, 4620, 4620, 4620, 4620, 4620,
+ 4620, 5070,-32768, 2419, 5962,-32768, 280, 5430, 5430, 5430,
+ 5430, 5430, 5430, 5430, 5430, 5430, 5430, 5430, 5430, 5430,
+ 5430, 5430, 5430, 5430, 5430, 5430, 5430, 5430, 5430, 5430,
+ 5430, 5430, 5430, 249, 285, 4710,-32768,-32768,-32768,-32768,
+-32768,-32768, 5430, 5430, 4710,-32768,-32768, 13, 158,-32768,
+-32768,-32768, 2726, 35, 18,-32768,-32768,-32768,-32768, 5430,
+ 368,-32768, 1964, 380, 2146, 5160, 391,-32768, 2726,-32768,
+ 2726, 222, 249, 303, 4710, 4620, 1206, 6041,-32768, 292,
+ 5430, 4800,-32768, 320, 4710, 4890,-32768,-32768, 295, 298,
+ -53,-32768,-32768,-32768, 4236,-32768, 5430, 2635, 301, 320,
+ 300,-32768, 306, 5430,-32768,-32768,-32768,-32768,-32768, 5430,
+-32768,-32768, 420, 322, 322, 322, 322,-32768,-32768, 5430,
+ 307,-32768, 312,-32768, 5874, 294, 6161, 6161, 6161, 6161,
+ 263, 263, 6201, 6121, 6161, 6161, 6081, 6081, -6, -6,
+ 6001, 263, 263, 134, 134, 475, 14, 14, 294, 294,
+ 294, 3657,-32768, 3747, 3837, 195, 117, 3927, 310,-32768,
+ 98, 98, 5430, 5430, 6041, 6041, 316,-32768,-32768, 4620,
+ 2726, 418, 324, 339, 388, 389, 20, 2726, 158, 330,
+-32768, 331, 333,-32768, 4236, 4236, 48, 335, 2237, 438,
+ 355,-32768, 368, 5430, 337, 30,-32768, 440, 451, 347,
+ 75,-32768, 348, 353, 42, 379,-32768,-32768, 6041, 5430,
+ 5961,-32768, 358, 135, 357, 5430, 5961,-32768,-32768,-32768,
+-32768,-32768, 4620, 6041, 363,-32768, 262, 6041, 6041, 5250,
+-32768, 5962,-32768, 5430, 4710,-32768, 5430, 5430, 5430, 5430,
+ 4710,-32768, 197,-32768, 5610, 2726, 2635, 6041, 6041,-32768,
+ 2726, 13, 463,-32768,-32768, 5430,-32768,-32768, -53, 464,
+-32768, 24,-32768, 36,-32768, 386,-32768,-32768,-32768, 1856,
+ 5430,-32768, 2726, 467, 4620, 469,-32768, 472, 6041, 5340,
+ 2055,-32768,-32768, 148, 2726, 1206, 4980,-32768, 216, 1206,
+ 26,-32768, 5430,-32768, 6041, 373, 6041, 6041, 6041, 6041,
+ 377, 5430, 5430,-32768, 392, 479, 383, 483,-32768,-32768,
+ 6041, 393,-32768, 339, 390, 333,-32768, 339,-32768, 333,
+ 18, 244,-32768,-32768, 46,-32768,-32768, 5430, 83, 487,
+-32768, 5430,-32768,-32768, 6041,-32768,-32768, 6041, 6041,-32768,
+-32768,-32768,-32768,-32768, 36,-32768,-32768,-32768, 2726,-32768,
+ 1964, 6041,-32768,-32768,-32768,-32768, 1206, 333, 489, 355,
+-32768,-32768,-32768,-32768, 502, 506,-32768
};
static const short yypgoto[] = {-32768,
--32768, 479,-32768, 32,-32768,-32768, 95, 1321, -10, -149,
- -27, -49,-32768,-32768, 16, 46, 7,-32768,-32768,-32768,
--32768, 1012,-32768,-32768,-32768, -247, -196, 8, -300, -201,
--32768, -12,-32768, 18,-32768, -1,-32768,-32768,-32768,-32768,
--32768,-32768,-32768, -173, -159, -139, -289, -20, 61,-32768,
--32768, -46,-32768,-32768, 115, -103,-32768,-32768, -95,-32768,
--32768,-32768,-32768, 616, 473, 698,-32768,-32768, -89, 56,
--32768, -444, -24, -461, -274, -389,-32768,-32768, -32, -301,
- 256,-32768,-32768, -169, 119, -56,-32768
+-32768, 345,-32768, 31,-32768,-32768, 19, 1162, -9, -151,
+ -24, -52,-32768,-32768, 3, 53, -4,-32768,-32768,-32768,
+-32768, 853,-32768,-32768,-32768, -214, -190, 16, -295, -201,
+-32768, -12,-32768, 23,-32768, -1,-32768,-32768,-32768,-32768,
+-32768,-32768,-32768, -162, -166, -103, -286, 22, 96,-32768,
+-32768, -47,-32768,-32768, 644, -70,-32768,-32768, -54,-32768,
+-32768,-32768,-32768, 387, 515, 503,-32768,-32768, -50, 99,
+-32768, -426, 15, -427, -284, -387,-32768,-32768, -29, -298,
+ 130,-32768,-32768, -181, 11, -26,-32768
};
-#define YYLAST 6287
+#define YYLAST 6304
static const short yytable[] = { 68,
- 68, 244, 185, 315, 337, 68, 68, 68, 68, 68,
- 68, 187, 168, 340, 322, 256, 203, 203, 203, 232,
- 321, 440, 226, 68, 302, 199, 199, 211, 186, 297,
- 434, 462, 214, 77, 468, 462, 209, 312, 228, 230,
- 318, 299, 515, 517, 424, 312, 318, -275, 68, 82,
- 566, 187, 570, 203, 250, 251, 250, 251, 468, 424,
- 236, 250, 251, 187, 250, 251, 250, 251, 233, 569,
- 215, -306, 564, 351, 203, 78, 568, 454, 68, 79,
- 284, -305, -307, 296, 342, 425, 426, 465, 354, 289,
- 241, 242, -308, 355, 222, 343, 344, 295, 417, -306,
- 425, 426, 174, 177, 373, 179, 180, 80, 285, -305,
- -307, 286, 427, 425, 426, 70, 70, 425, 426, 212,
- -308, 70, 320, 320, 70, 457, 250, 251, 289, 258,
- 241, 242, 584, 608, 423, 300, 241, 242, 68, 494,
- 241, 242, 323, 215, 297, 218, 241, 242, 241, 242,
- 569, -311, 434, 528, 252, 462, 241, 242, -214, -310,
- 284, -276, 258, 495, 70, -309, 281, 282, 283, 253,
- 324, 471, 287, 325, 298, 596, 597, 271, 272, -311,
- 598, 78, -311, -346, 309, 79, -214, -310, 334, -214,
- 68, 335, 258, -309, 203, 226, 278, 279, 280, 281,
- 282, 283, 360, 199, 291, -301, 203, 355, 203, -346,
- -304, -346, 292, 330, -346, 199, 68, -346, 612, 310,
- 439, 68, 316, 323, 289, 339, 226, 279, 280, 281,
- 282, 283, -50, -301, 304, 468, 462, 316, -304, 371,
- -215, 418, 419, 68, 68, 68, 68, 68, 68, 68,
- 293, 350, 68, 187, 335, 306, 76, 76, 294, 525,
- 439, 538, 76, 76, 76, 76, 76, 76, -215, 196,
- 374, -215, 531, 76, 76, 76, 363, 520, -53, 487,
- 76, 402, 403, 307, 203, 404, 208, 488, 546, 603,
- 552, 210, 291, 203, 551, 535, 434, 438, 553, 463,
- 292, 68, -45, 445, 293, 76, 70, -52, 489, 326,
- 76, 68, 294, 68, 487, 332, 490, 68, -51, 68,
- 552, 336, 488, 203, 68, 483, 406, 403, 553, 346,
- 407, 76, 70, 203, 581, 76, 348, 70, 583, 562,
- 364, 365, 366, 367, 368, 369, 68, 258, 358, 258,
- 361, 472, 451, 403, 258, 357, 452, 464, 403, 70,
- 352, 407, -39, -46, 271, 272, 353, -38, 70, 271,
- 272, 359, 511, 187, 246, 247, 248, 249, 375, 439,
- 320, 276, 277, 278, 279, 280, 281, 282, 283, 279,
- 280, 281, 282, 283, 442, 76, 447, 458, 320, 469,
- 504, 601, 470, 203, 476, 611, 203, 477, 493, -46,
- 480, 481, 486, 500, 505, 492, 506, 70, 68, 68,
- 455, 507, 508, 512, 514, 516, 68, 70, 521, 70,
- 523, 530, 532, 70, 533, 70, 485, 68, 491, 534,
- 194, 518, 519, 537, 539, 559, 542, 76, 560, 563,
- 426, 76, 574, 576, 577, 586, 587, 591, 590, 593,
- 592, 595, 70, 76, 594, 76, 606, 613, 616, 617,
- 614, 68, 497, 76, 555, 604, 600, 158, 76, 57,
- 187, 599, 509, 203, 185, 170, 0, 565, 178, 203,
- 0, 0, 0, 187, 68, 68, 0, 544, 0, 68,
- 76, 76, 76, 76, 76, 76, 76, 0, 0, 76,
- 186, 0, 0, 0, 502, 0, 0, 0, 68, 0,
- 0, 68, 0, 68, 0, 0, 0, 0, 0, 68,
- 0, 0, 0, 68, 0, 70, 0, 0, 0, 405,
- 408, 76, 70, 0, 0, 0, 0, 0, 0, 0,
- 76, 0, 0, 70, 0, 0, 0, 0, 76, 0,
- 0, 0, 0, 0, 0, 0, 0, 541, 76, 0,
- 76, 0, 0, 0, 76, 0, 76, 0, 450, 453,
- 76, 76, 0, 0, 0, 0, 0, 0, 0, 408,
- 76, 0, 0, 0, 0, 0, 0, 68, 0, 68,
- 0, 0, 0, 76, 0, 453, 0, 0, 0, 0,
- 70, 70, 0, 0, 0, 70, 73, 73, 0, 575,
- 157, 0, 73, 73, 73, 73, 73, 73, 189, 0,
- 0, 0, 0, 0, 70, 0, 0, 70, 0, 0,
- 73, 0, 0, 0, 0, 70, 0, 0, 0, 70,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 0, 0, 76, 0, 73, 0, 0, 189, 0,
- 0, 0, 0, 0, 0, 76, 76, 0, 0, 0,
- 189, 0, 0, 76, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 76, 73, 349, 0, 75, 75,
- 0, 0, 0, 0, 75, 75, 75, 75, 75, 75,
- 190, 0, 0, 70, 0, 70, 0, 0, 0, 0,
- 0, 0, 75, 0, 0, 0, 0, 0, 76, 0,
- 0, 0, 0, 258,-32768,-32768,-32768,-32768, 263, 264,
- 76, 0,-32768,-32768, 0, 0, 76, 75, 271, 272,
- 190, 76, 76, 0, 0, 73, 76, 0, 0, 0,
- 0, 0, 190, 274, 275, 276, 277, 278, 279, 280,
- 281, 282, 283, 0, 0, 76, 0, 75, 76, 0,
- 76, 422, 0, 0, 0, 0, 76, 0, 0, 0,
- 76, 441, 0, 443, 0, 0, 0, 448, 0, 449,
- 0, 0, 0, 0, 0, 0, 0, 73, 0, 0,
- 0, 0, 258, 259, 260, 261, 262, 263, 264, 265,
- 266, 267, 268, 269, 270, 0, 475, 271, 272, 0,
- 0, 0, 0, 73, 0, 0, 0, 75, 73, 0,
- 273, 0, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 0, 0, 76, 0, 76, 0, 0, 456,
- 73, 73, 73, 73, 73, 73, 73, 0, 0, 73,
- 189, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 75,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 503,
- 0, 0, 0, 0, 0, 0, 510, 0, 0, 0,
- 0, 0, 0, 0, 0, 75, 0, 522, 73, 0,
- 75, 0, 0, 0, 0, 0, 0, 0, 73, 0,
- 73, 0, 0, 0, 73, 0, 73, 0, 0, 0,
- 0, 73, 75, 75, 75, 75, 75, 75, 75, 0,
- 0, 75, 190, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 73, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 556, 557, 0, 0, 0, 558,
+ 68, 168, 322, 185, 337, 68, 68, 68, 68, 68,
+ 68, 187, 256, 321, 315, 186, 203, 203, 203, 340,
+ 434, 214, 232, 68, 440, 226, 174, 177, 297, 179,
+ 180, 244, 77, 199, 199, 211, 462, 468, 228, 230,
+ 462, 209, 312, 212, 515, 517, 250, 251, 68, 236,
+ 299, 187, -275, 203, 302, 233, 82, 258, 312, 250,
+ 251, 468, 215, 187, 424, 218, 424, 318, 250, 251,
+ 564, 351, 284, 318, 203, 250, 251, 258, 68, 250,
+ 251, -306, 568, 354, 566, 78, 570, 569, 355, 79,
+ 323, 296, 279, 280, 281, 282, 283, 439, 298, 316,
+ 285, 222, 373, 286, 417, 425, 426, 425, 426, -306,
+ 454, 425, 426, -276, 281, 282, 283, 80, 324, 291,
+ 465, 325, 423, 425, 426, 457, 293, 292, 241, 242,
+ 76, 76, 427, 289, 294, 584, 76, 76, 76, 76,
+ 76, 76, 434, 297, 300, 241, 242, 76, 76, 76,
+ 215, 68, 320, 320, 76, -346, 528, 241, 242, 471,
+ 462, 241, 242, 241, 242, 241, 242, 608, 569, 494,
+ 360, 304, -311, -214, -305, 355, 252, 596, 597, 76,
+ 289, -346, 598, -346, 76, 287, -346, 291, 295, -346,
+ 68, 284, 253, 495, 203, 292, 323, 258, 226, 489,
+ -311, -214, -305, -311, -214, 76, 203, 490, 203, 76,
+ 78, 199, 271, 272, 79, -50, 68, 487, 330, 334,
+ 612, 68, 335, 199, 350, 488, -307, 335, -215, 226,
+ 339, 278, 279, 280, 281, 282, 283, 309, 468, 371,
+ 358, 462, 361, 68, 68, 68, 68, 68, 68, 68,
+ 293, 310, 68, 187, -307, 289, -215, 374, 294, -215,
+ -45, 538, -308, -310, 364, 365, 366, 367, 368, 369,
+ 520, 418, 419, 241, 242, 363, -309, 487, -53, 552,
+ -301, -304, 76, 531, 203, 488, 434, 553, 535, 316,
+ -308, -310, 603, 203, 546, 402, 403, 438, 552, 404,
+ 551, 68, 463, 445, -309, -52, 553, -51, -301, -304,
+ 326, 68, 196, 68, 332, 306, 208, 68, 342, 68,
+ 210, 76, 483, 203, 68, 76, 258, 562, 336, 343,
+ 344, 406, 403, 203, 581, 407, 346, 76, 583, 76,
+ 472, 271, 272, 307, 455, 57, 68, 76, 348, 451,
+ 403, 170, 76, 452, 178, 250, 251, 258, 276, 277,
+ 278, 279, 280, 281, 282, 283, 464, 403, 525, 439,
+ 407, -39, -46, 187, 76, 76, 76, 76, 76, 76,
+ 76, 352, 439, 76, 353, -38, 357, 73, 73, 359,
+ 375, 157, 442, 73, 73, 73, 73, 73, 73, 189,
+ 447, 458, 511, 203, 469, 611, 203, 470, 476, 477,
+ 320, 73, 601, 405, 408, 76, -46, 480, 68, 68,
+ 486, 481, 493, 492, 76, 500, 68, 504, 320, 506,
+ 518, 519, 76, 505, 507, 508, 73, 68, 502, 189,
+ 512, 514, 76, 516, 76, 521, 523, 530, 76, 532,
+ 76, 189, 450, 453, 76, 76, 246, 247, 248, 249,
+ 533, 485, 491, 408, 76, 534, 73, 194, 537, 539,
+ 542, 68, 560, 563, 426, 559, 574, 76, 576, 453,
+ 187, 577, 586, 203, 544, 185, 587, 590, 591, 203,
+ 592, 541, 593, 187, 68, 68, 606, 186, 613, 68,
+ 595, 616, 594, 75, 75, 617, 614, 497, 604, 75,
+ 75, 75, 75, 75, 75, 190, 555, 600, 68, 158,
+ 599, 68, 0, 68, 0, 509, 565, 75, 0, 68,
+ 0, 0, 0, 68, 76, 0, 0, 76, 258, 73,
+ 0, 0, 0, 575, 0, 0, 0, 0, 0, 76,
+ 76, 0, 75, 271, 272, 190, 0, 76, 0, 0,
+ 0, 0, 349, 0, 0, 0, 0, 190, 76, 0,
+ 0, 0, 0, 279, 280, 281, 282, 283, 73, 0,
+ 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 68, 0, 68,
+ 0, 0, 76, 0, 73, 0, 0, 0, 0, 73,
+ 0, 0, 0, 0, 76, 0, 0, 0, 0, 0,
+ 76, 0, 0, 0, 0, 76, 76, 0, 0, 0,
+ 76, 73, 73, 73, 73, 73, 73, 73, 0, 0,
+ 73, 189, 0, 0, 70, 70, 0, 422, 0, 76,
+ 70, 0, 76, 70, 76, 75, 0, 441, 0, 443,
+ 76, 0, 0, 448, 76, 449, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 189, 0, 0, 0, 0, 0, 0, 0, 572, 0,
- 75, 573, 0, 0, 0, 0, 0, 0, 0, 579,
- 75, 0, 75, 580, 0, 0, 75, 0, 75, 0,
- 0, 0, 0, 75, 0, 0, 0, 0, 0, 198,
- 198, 198, 0, 0, 0, 73, 73, 0, 0, 0,
- 0, 0, 0, 73, 0, 75, 0, 0, 0, 0,
- 0, 0, 0, 0, 73, 0, 0, 0, 219, 221,
- 0, 0, 227, 198, 0, 0, 239, 240, 0, 0,
- 0, 0, 190, 0, 0, 0, 0, 609, 0, 610,
- 0, 0, 0, 0, 0, 0, 0, 198, 73, 0,
- 0, 0, 0, 0, 0, 0, 0, 189, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,
+ 0, 0, 475, 70, 75, 0, 0, 0, 0, 73,
+ 0, 73, 0, 0, 0, 73, 0, 73, 0, 0,
+ 0, 0, 73, 0, 0, 0, 0, 0, 0, 0,
+ 75, 0, 0, 0, 0, 75, 0, 0, 76, 0,
+ 76, 0, 0, 0, 73, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 75, 75, 75,
+ 75, 75, 75, 75, 0, 0, 75, 190, 0, 0,
+ 0, 189, 0, 0, 0, 503, 0, 0, 0, 0,
+ 0, 0, 510, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 522, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 189, 73, 73, 0, 0, 0, 73, 75, 75, 0,
+ 0, 0, 0, 0, 0, 75, 73, 73, 0, 0,
+ 0, 0, 0, 0, 73, 75, 0, 75, 0, 0,
+ 0, 75, 0, 75, 0, 73, 0, 0, 75, 0,
+ 0, 0, 0, 0, 0, 70, 0, 0, 0, 0,
+ 556, 557, 0, 0, 0, 558, 0, 0, 0, 0,
+ 75, 0, 0, 0, 0, 0, 0, 0, 0, 73,
+ 0, 70, 0, 0, 572, 0, 70, 573, 189, 0,
+ 198, 198, 198, 0, 0, 579, 0, 190, 0, 580,
+ 0, 189, 73, 73, 0, 0, 0, 73, 70, 0,
+ 0, 0, 0, 0, 0, 0, 0, 70, 0, 219,
+ 221, 0, 0, 227, 198, 0, 73, 239, 240, 73,
+ 0, 73, 0, 0, 0, 0, 0, 73, 0, 0,
+ 0, 73, 75, 75, 0, 0, 0, 0, 198, 0,
+ 75, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 75, 0, 609, 0, 610, 70, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 70, 0, 70, 0,
+ 0, 0, 70, 0, 70, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 75, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 73, 75, 0, 73, 0,
- 73, 0, 0, 0, 0, 0, 73, 0, 0, 0,
- 73, 0, 258, 259, 260, 261, 262, 263, 264, 265,
- 266, 267, 268, 269, 270, 0, 0, 271, 272, 0,
- 75, 0, 331, 0, 0, 0, 0, 0, 0, 190,
- 273, 0, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 190, 75, 75, 0, 0, 0, 75, 0,
- 0, 0, 0, 0, 327, 328, 239, 198, 0, 0,
- 0, 0, 0, 0, 73, 0, 73, 75, 0, 198,
- 75, 198, 75, 0, 0, 0, 0, 0, 75, 0,
- 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 190, 73, 0, 73, 0, 0,
+ 0, 70, 0, 0, 0, 0, 0, 190, 75, 75,
+ 0, 0, 0, 75, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 75, 0, 0, 75, 0, 75, 0, 0,
+ 0, 0, 0, 75, 0, 0, 0, 75, 0, 0,
+ 0, 0, 0, 0, 0, 327, 328, 239, 198, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 227, 0, 0, 0, 0, 0, 376,
- 377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
- 387, 388, 389, 390, 391, 392, 393, 394, 395, 396,
- 397, 398, 399, 400, 401, 0, 75, 198, 75, 0,
- 0, 0, 0, 0, 415, 416, 198, 0, 0, 0,
+ 198, 0, 198, 0, 70, 0, 0, 0, 0, 0,
+ 0, 70, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 70, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 75, 0, 75, 227, 0, 0, 0, 0, 0,
+ 376, 377, 378, 379, 380, 381, 382, 383, 384, 385,
+ 386, 387, 388, 389, 390, 391, 392, 393, 394, 395,
+ 396, 397, 398, 399, 400, 401, 0, 0, 198, 70,
+ 70, 0, 0, 0, 70, 415, 416, 198, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 227, 70, 0, 0, 70, 0, 227, 175,
+ 175, 0, 175, 175, 70, 0, 0, 198, 70, 197,
+ 197, 197, 0, 459, 461, 0, 175, 198, 467, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 474,
+ 0, 0, 0, 0, 0, 0, 478, 0, 0, 0,
+ 0, 0, 467, 0, 0, 0, 238, 0, 0, 0,
+ 0, 0, 479, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 197, 0, 0,
+ 0, 175, 70, 0, 70, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 198, 0, 0,
+ 198, 0, 0, 0, 0, 498, 499, 0, 0, 258,
+ 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
+ 269, 270, 0, 0, 271, 272, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 529, 273, 0, 274,
+ 275, 276, 277, 278, 279, 280, 281, 282, 283, 0,
+ 0, 0, 536, 0, 175, 0, 456, 0, 540, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 227, 0, 0, 0, 0, 0, 227, 175, 175,
- 0, 175, 175, 0, 0, 0, 198, 0, 197, 197,
- 197, 0, 459, 461, 0, 175, 198, 467, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 474, 0,
- 0, 0, 0, 0, 0, 478, 0, 0, 0, 0,
- 0, 467, 0, 0, 0, 238, 0, 0, 0, 0,
- 0, 479, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 478, 0, 0, 0, 545, 198, 0, 547,
+ 548, 549, 550, 198, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 197, 561, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 197,
+ 0, 197, 0, 478, 0, 0, 0, 0, 0, 0,
+ 0, 0, 478, 0, 0, 0, 0, 0, 0, 467,
+ 0, 0, 0, 0, 0, 585, 0, 0, 0, 0,
+ 0, 0, 0, 0, 588, 589, 0, 175, 175, 175,
+ 175, 175, 175, 0, 0, 0, 0, 0, 0, 0,
+ 0, -4, 2, 0, 3, 4, 5, 6, 7, 0,
+ 602, 0, 8, 9, 607, 0, 0, 10, 0, 11,
+ 12, 13, 14, 15, 16, 17, 0, 197, 18, 19,
+ 20, 21, 22, 23, 24, 0, 197, 25, 0, 0,
+ 0, 0, 26, 27, 28, 29, 30, 31, 32, 33,
+ 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 47, 48, 0, 197, 175, 0, 0,
0, 0, 0, 0, 0, 0, 197, 0, 0, 0,
- 175, 0, 258, 259, 260, 261, 262, 263, 264, 265,
- 266, 267, 268, 269, 270, 0, 198, 271, 272, 198,
- 0, 0, 0, 0, 498, 499, 0, 0, 0, 0,
- 273, 484, 274, 275, 276, 277, 278, 279, 280, 281,
- 282, 283, 0, 0, 0, 0, 0, 0, 258, 259,
- 260, 261, 262, 263, 264, 529, 0, 267, 268, 0,
- 175, 0, 0, 271, 272, 0, 0, 0, 0, 0,
- 0, 536, 0, 0, 0, 0, 0, 540, 274, 275,
- 276, 277, 278, 279, 280, 281, 282, 283, 0, 0,
- 0, 478, 0, 0, 0, 545, 198, 0, 547, 548,
- 549, 550, 198, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 197, 561, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 197, 0,
- 197, 0, 478, 0, 0, 0, 0, 0, 0, 0,
- 0, 478, 0, 0, 0, 0, 0, 0, 467, 0,
- 0, 0, 0, 0, 585, 0, 0, 0, 0, 0,
- 0, 0, 0, 588, 589, 0, 175, 175, 175, 175,
- 175, 175, 0, 0, 0, 0, 0, 0, 0, 0,
- -4, 2, 0, 3, 4, 5, 6, 7, 0, 602,
- 0, 8, 9, 607, 0, 0, 10, 0, 11, 12,
- 13, 14, 15, 16, 17, 0, 197, 18, 19, 20,
- 21, 22, 23, 24, 0, 197, 25, 0, 0, 0,
- 0, 26, 27, 28, 29, 30, 31, 32, 33, 34,
- 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 0, 197, 175, 0, 0, 0,
- 0, 0, 0, 0, 0, 197, 0, 0, 0, 0,
- 0, 0, 49, 0, 0, 50, 51, 52, 53, 0,
- 54, 0, 0, 0, 0, 0, 0, 0, -301, 0,
- 0, 0, 0, 0, 55, 56, -301, -301, -301, 0,
- 0, 0, -301, -301, 0, -301, -4, -4, 0, 0,
- 0, 0, 0, 0, -272, 0, 0, 0, 0, 0,
- 0, 0, -301, -301, 0, -301, -301, -301, -301, 0,
- 0, 0, 0, 0, 0, 197, 0, 0, 197, 0,
+ 0, 0, 0, 49, 0, 0, 50, 51, 52, 53,
+ 0, 54, 0, 0, 0, 0, 0, 0, 0, -301,
+ 0, 0, 0, 0, 0, 55, 56, -301, -301, -301,
+ 0, 0, 0, -301, -301, 0, -301, -4, -4, 0,
+ 0, 0, 0, 0, 0, -272, 0, 0, 0, 0,
+ 0, 0, 0, -301, -301, 0, -301, -301, -301, -301,
+ 0, 0, 0, 0, 0, 0, 197, 0, 0, 197,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 175, 0, -301, -301, -301, -301, -301, -301, -301, -301,
- -301, -301, -301, -301, -301, 0, 0, -301, -301, -301,
- 0, -301, 0, 0, 0, 0, 0, 0, 0, -301,
- -301, 0, -301, -301, -301, -301, -301, -301, -301, -301,
- -301, -301, 0, 0, 0, 0, -301, -301, -301, -301,
- -301, 0, -304, 175, -301, -301, 0, 0, 0, 0,
- -304, -304, -304, 0, 0, 197, -304, -304, 0, -304,
- 0, 197, 0, 0, 0, 0, 0, 0, -273, 0,
- 0, 0, 0, 0, 0, 0, -304, -304, 0, -304,
- -304, -304, -304, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 175, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, -304, -304, -304, -304,
- -304, -304, -304, -304, -304, -304, -304, -304, -304, 0,
- 0, -304, -304, -304, 0, -304, 0, 0, 0, 0,
- 0, 0, 0, -304, -304, 0, -304, -304, -304, -304,
- -304, -304, -304, -304, -304, -304, 0, -226, 0, 0,
- -304, -304, -304, -304, -304, -226, -226, -226, -304, -304,
- 0, -226, -226, 0, -226, 0, 0, 0, 0, 0,
- 0, 0, 0, -274, 0, 0, 0, 0, 0, 0,
- 0, -226, -226, 0, -226, -226, -226, -226, 0, 0,
+ 0, 175, 0, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, -301, -301, -301, 0, 0, -301, -301,
+ -301, 0, -301, 0, 0, 0, 0, 0, 0, 0,
+ -301, -301, 0, -301, -301, -301, -301, -301, -301, -301,
+ -301, -301, -301, 0, 0, 0, 0, -301, -301, -301,
+ -301, -301, 0, -304, 175, -301, -301, 0, 0, 0,
+ 0, -304, -304, -304, 0, 0, 197, -304, -304, 0,
+ -304, 0, 197, 0, 0, 0, 0, 0, 0, -273,
+ 0, 0, 0, 0, 0, 0, 0, -304, -304, 0,
+ -304, -304, -304, -304, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 175, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, -304, -304, -304,
+ 0, 0, -304, -304, -304, 0, -304, 0, 0, 0,
+ 0, 0, 0, 0, -304, -304, 0, -304, -304, -304,
+ -304, -304, -304, -304, -304, -304, -304, 0, -226, 0,
+ 0, -304, -304, -304, -304, -304, -226, -226, -226, -304,
+ -304, 0, -226, -226, 0, -226, 0, 0, 0, 0,
+ 0, 0, 0, 0, -274, 0, 0, 0, 0, 0,
+ 0, 0, -226, -226, 0, -226, -226, -226, -226, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -226, -226, -226, -226, -226, -226, -226, -226, -226,
- -226, -226, -226, -226, 0, 0, -226, -226, -226, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, -226,
- 0, -226, -226, -226, -226, -226, -226, -226, -226, -226,
- -226, 0, 0, 0, 0, -226, -226, -226, 0, -226,
- 0, 0, 0, -226, -226, 2, 0, 3, 4, 5,
- 6, 7, -4, -4, -4, 8, 9, 0, 0, -4,
- 10, 0, 11, 12, 13, 14, 15, 16, 17, 0,
- 0, 18, 19, 20, 21, 22, 23, 24, 0, 0,
- 25, 0, 0, 0, 0, 26, 27, 28, 29, 30,
- 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 47, 48, 0, 0,
+ 0, 0, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, -226, -226, -226, 0, 0, -226, -226, -226,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 49, 0, 0, 50,
- 51, 52, 53, 0, 54, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 55, 56,
- 0, 0, 0, 2, 0, 3, 4, 5, 6, 7,
- -4, -4, -4, 8, 9, 0, -4, -4, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 18,
- 19, 20, 21, 22, 23, 24, 0, 0, 25, 0,
- 0, 0, 0, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ -226, 0, -226, -226, -226, -226, -226, -226, -226, -226,
+ -226, -226, 0, 0, 0, 0, -226, -226, -226, 0,
+ -226, 0, 0, 0, -226, -226, 2, 0, 3, 4,
+ 5, 6, 7, -4, -4, -4, 8, 9, 0, 0,
+ -4, 10, 0, 11, 12, 13, 14, 15, 16, 17,
+ 0, 0, 18, 19, 20, 21, 22, 23, 24, 0,
+ 0, 25, 0, 0, 0, 0, 26, 27, 28, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47, 48, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 50, 51, 52,
- 53, 0, 54, 0, 2, 0, 3, 4, 5, 6,
- 7, 0, 0, -4, 8, 9, 55, 56, -4, 10,
- -4, 11, 12, 13, 14, 15, 16, 17, -4, -4,
+ 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
+ 50, 51, 52, 53, 0, 54, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,
+ 56, 0, 0, 0, 2, 0, 3, 4, 5, 6,
+ 7, -4, -4, -4, 8, 9, 0, -4, -4, 10,
+ 0, 11, 12, 13, 14, 15, 16, 17, 0, 0,
18, 19, 20, 21, 22, 23, 24, 0, 0, 25,
0, 0, 0, 0, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
@@ -952,7 +927,7 @@ static const short yytable[] = { 68,
0, 0, 0, 0, 0, 49, 0, 0, 50, 51,
52, 53, 0, 54, 0, 2, 0, 3, 4, 5,
6, 7, 0, 0, -4, 8, 9, 55, 56, -4,
- 10, 0, 11, 12, 13, 14, 15, 16, 17, -4,
+ 10, -4, 11, 12, 13, 14, 15, 16, 17, -4,
-4, 18, 19, 20, 21, 22, 23, 24, 0, 0,
25, 0, 0, 0, 0, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
@@ -960,8 +935,8 @@ static const short yytable[] = { 68,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 49, 0, 0, 50,
51, 52, 53, 0, 54, 0, 2, 0, 3, 4,
- 5, 6, 7, 0, -4, -4, 8, 9, 55, 56,
- 0, 10, 0, 11, 12, 13, 14, 15, 16, 17,
+ 5, 6, 7, 0, 0, -4, 8, 9, 55, 56,
+ -4, 10, 0, 11, 12, 13, 14, 15, 16, 17,
-4, -4, 18, 19, 20, 21, 22, 23, 24, 0,
0, 25, 0, 0, 0, 0, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
@@ -969,8 +944,8 @@ static const short yytable[] = { 68,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
50, 51, 52, 53, 0, 54, 0, 2, 0, 3,
- 4, 5, 6, 7, 0, 0, 0, 8, 9, 55,
- 56, 0, 10, -4, 11, 12, 13, 14, 15, 16,
+ 4, 5, 6, 7, 0, -4, -4, 8, 9, 55,
+ 56, 0, 10, 0, 11, 12, 13, 14, 15, 16,
17, -4, -4, 18, 19, 20, 21, 22, 23, 24,
0, 0, 25, 0, 0, 0, 0, 26, 27, 28,
29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
@@ -979,47 +954,47 @@ static const short yytable[] = { 68,
0, 0, 0, 0, 0, 0, 0, 0, 49, 0,
0, 50, 51, 52, 53, 0, 54, 0, 2, 0,
3, 4, 5, 6, 7, 0, 0, 0, 8, 9,
- 55, 56, 0, 10, 0, 11, 12, 13, 14, 15,
+ 55, 56, 0, 10, -4, 11, 12, 13, 14, 15,
16, 17, -4, -4, 18, 19, 20, 21, 22, 23,
24, 0, 0, 25, 0, 0, 0, 0, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
- 0, 0, 223, 51, 52, 53, 0, 54, 0, 0,
+ 0, 0, 50, 51, 52, 53, 0, 54, 0, 2,
+ 0, 3, 4, 5, 6, 7, 0, 0, 0, 8,
+ 9, 55, 56, 0, 10, 0, 11, 12, 13, 14,
+ 15, 16, 17, -4, -4, 18, 19, 20, 21, 22,
+ 23, 24, 0, 0, 25, 0, 0, 0, 0, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
+ 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 47, 48, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 55, 56, 0, 0, 0, 2, -4, 3, 4,
- 5, 6, 7, -4, -4, 0, 8, 9, 0, 0,
- 0, 10, 0, 11, 12, 13, 14, 15, 16, 17,
- 0, 0, 18, 19, 20, 21, 22, 23, 24, 0,
- 0, 25, 0, 0, 0, 0, 26, 27, 28, 29,
- 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47, 48, 0,
+ 49, 0, 0, 223, 51, 52, 53, 0, 54, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
- 50, 51, 52, 53, 0, 54, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 55,
- 56, 0, 0, 0, 2, -4, 3, 4, 5, 6,
- 7, -4, -4, 0, 8, 9, 0, 0, 0, 10,
- 0, 11, 12, 13, 14, 15, 16, 17, 0, 0,
- 18, 19, 20, 21, 22, 23, 24, 0, 0, 25,
- 0, 0, 0, 0, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, 0, 0, 0,
+ 0, 0, 55, 56, 0, 0, 0, 2, -4, 3,
+ 4, 5, 6, 7, -4, -4, 0, 8, 9, 0,
+ 0, 0, 10, 0, 11, 12, 13, 14, 15, 16,
+ 17, 0, 0, 18, 19, 20, 21, 22, 23, 24,
+ 0, 0, 25, 0, 0, 0, 0, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 49, 0, 0, 50, 51,
- 52, 53, 0, 54, 0, 2, 0, 3, 4, 5,
- 6, 7, 0, 0, -4, 8, 9, 55, 56, 0,
- 10, -4, 11, 12, 13, 14, 15, 16, 17, -4,
- -4, 18, 19, 20, 21, 22, 23, 24, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 49, 0,
+ 0, 50, 51, 52, 53, 0, 54, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 55, 56, 0, 0, 0, 2, -4, 3, 4, 5,
+ 6, 7, -4, -4, 0, 8, 9, 0, 0, 0,
+ 10, 0, 11, 12, 13, 14, 15, 16, 17, 0,
+ 0, 18, 19, 20, 21, 22, 23, 24, 0, 0,
25, 0, 0, 0, 0, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 49, 0, 0, 50,
- 51, 52, 53, 0, 54, 0, 0, 0, 3, 4,
- 5, 6, 7, 0, 0, 0, 8, 9, 55, 56,
- 0, 10, 0, 11, 12, 13, 14, 15, 16, 17,
+ 51, 52, 53, 0, 54, 0, 2, 0, 3, 4,
+ 5, 6, 7, 0, 0, -4, 8, 9, 55, 56,
+ 0, 10, -4, 11, 12, 13, 14, 15, 16, 17,
-4, -4, 18, 19, 20, 21, 22, 23, 24, 0,
0, 25, 0, 0, 0, 0, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
@@ -1027,9 +1002,30 @@ static const short yytable[] = { 68,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
50, 51, 52, 53, 0, 54, 0, 0, 0, 3,
- 4, 5, 0, 7, 0, 0, 0, 8, 9, 55,
+ 4, 5, 6, 7, 0, 0, 0, 8, 9, 55,
56, 0, 10, 0, 11, 12, 13, 14, 15, 16,
- 17, 0, 362, 181, 182, 20, 21, 22, 23, 24,
+ 17, -4, -4, 18, 19, 20, 21, 22, 23, 24,
+ 0, 0, 25, 0, 0, 0, 0, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 49, 0,
+ 0, 50, 51, 52, 53, 0, 54, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 55, 56, 0, 0, 83, 84, 85, 86, 87, 88,
+ 89, 90, 0, 362, 91, 92, 93, 94, 95, 0,
+ 0, 96, 97, 98, 99, 100, 101, 102, 103, 104,
+ 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+ 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
+ 34, 35, 125, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 126, 127, 128, 129, 130, 131, 0,
+ 132, 133, 0, 0, 134, 0, 135, 0, 136, 137,
+ 138, 139, 0, 0, 0, 0, 0, 0, 0, 140,
+ 0, 0, 0, 0, 0, 141, 142, 143, 144, 145,
+ 146, 147, 148, 149, 150, 0, 151, 0, 0, 3,
+ 4, 5, 0, 7, 0, 152, 153, 8, 9, 0,
+ 0, 0, 10, 0, 11, 12, 13, 14, 15, 16,
+ 17, 0, 0, 181, 182, 20, 21, 22, 23, 24,
0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
0, 30, 31, 171, 172, 34, 35, 173, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
@@ -1129,453 +1125,434 @@ static const short yytable[] = { 68,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
195, 56, 83, 84, 85, 86, 87, 88, 89, 90,
0, 491, 91, 92, 93, 94, 95, 0, 0, 96,
- 97, 98, 99, 100, 101, 102, 103, 104, 105, 106,
- 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,
- 117, 118, 119, 120, 121, 122, 123, 124, 34, 35,
- 125, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 160,
+ 161, 162, 163, 110, 111, 112, 113, 114, 115, 116,
+ 117, 118, 119, 120, 164, 165, 166, 124, 234, 235,
+ 167, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 126, 127, 128, 129, 130, 131, 0, 132, 133,
0, 0, 134, 0, 135, 0, 136, 137, 138, 139,
- 0, 0, 0, 0, 140, 0, 0, 141, 0, 0,
- 0, 0, 0, 142, 143, 144, 145, 146, 147, 148,
- 149, 150, 151, 0, 152, 83, 84, 85, 86, 87,
- 88, 89, 90, 153, 0, 91, 92, 93, 94, 95,
+ 0, 0, 0, 0, 0, 0, 0, 140, 0, 0,
+ 0, 0, 0, 141, 142, 143, 144, 145, 146, 147,
+ 148, 149, 150, 0, 151, 83, 84, 85, 86, 87,
+ 88, 89, 90, 152, 0, 91, 92, 93, 94, 95,
0, 0, 96, 97, 98, 99, 100, 101, 102, 103,
104, 105, 160, 161, 162, 163, 110, 111, 112, 113,
114, 115, 116, 117, 118, 119, 120, 164, 165, 166,
- 124, 234, 235, 167, 0, 0, 0, 0, 0, 0,
+ 124, 213, 0, 167, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 126, 127, 128, 129, 130, 131,
0, 132, 133, 0, 0, 134, 0, 135, 0, 136,
137, 138, 139, 0, 0, 0, 0, 0, 0, 0,
- 141, 0, 0, 0, 0, 0, 142, 143, 144, 145,
- 146, 147, 148, 149, 150, 151, 0, 152, 83, 84,
- 85, 86, 87, 88, 89, 90, 153, 0, 91, 92,
+ 140, 0, 0, 0, 0, 0, 141, 142, 143, 144,
+ 145, 146, 147, 148, 149, 150, 0, 151, 83, 84,
+ 85, 86, 87, 88, 89, 90, 152, 0, 91, 92,
93, 94, 95, 0, 0, 96, 97, 98, 99, 100,
101, 102, 103, 104, 105, 160, 161, 162, 163, 110,
111, 112, 113, 114, 115, 116, 117, 118, 119, 120,
- 164, 165, 166, 124, 213, 0, 167, 0, 0, 0,
+ 164, 165, 166, 124, 0, 0, 167, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 126, 127, 128,
129, 130, 131, 0, 132, 133, 0, 0, 134, 0,
135, 0, 136, 137, 138, 139, 0, 0, 0, 0,
- 0, 0, 0, 141, 0, 0, 0, 0, 0, 142,
- 143, 144, 145, 146, 147, 148, 149, 150, 151, 0,
- 152, 83, 84, 85, 86, 87, 88, 89, 90, 153,
- 0, 91, 92, 93, 94, 95, 0, 0, 96, 97,
- 98, 99, 100, 101, 102, 103, 104, 105, 160, 161,
- 162, 163, 110, 111, 112, 113, 114, 115, 116, 117,
- 118, 119, 120, 164, 165, 166, 124, 0, 0, 167,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 126, 127, 128, 129, 130, 131, 0, 132, 133, 0,
- 0, 134, 0, 135, 0, 136, 137, 138, 139, 0,
- 0, 0, 0, 0, 0, 0, 141, 0, 0, 0,
- 0, 0, 142, 143, 144, 145, 146, 147, 148, 149,
- 150, 151, 0, 152, 0, 3, 4, 5, 0, 7,
- 0, 0, 153, 8, 9, 0, 0, 0, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 20, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 0, 0, 140, 0, 0, 0, 0, 0, 141,
+ 142, 143, 144, 145, 146, 147, 148, 149, 150, 0,
+ 151, 0, 3, 4, 5, 0, 7, 0, 0, 152,
+ 8, 9, 0, 0, 0, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 20, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 193, 194, 54, 0, 0, 0, 0, 0, 0, 0,
- 3, 4, 5, 0, 7, 0, 195, 56, 8, 9,
- 0, 0, 329, 10, 0, 11, 12, 13, 14, 15,
- 16, 17, 0, 0, 181, 182, 20, 21, 22, 23,
- 24, 0, 0, 0, 0, 0, 0, 0, 0, 27,
- 0, 0, 30, 31, 171, 172, 34, 35, 173, 37,
- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
- 0, 0, 192, 51, 52, 193, 194, 54, 0, 0,
- 0, 0, 0, 0, 0, 3, 4, 5, 6, 7,
- 0, 195, 56, 8, 9, 0, 0, 338, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 18,
- 19, 20, 21, 22, 23, 24, 0, 0, 25, 0,
- 0, 0, 0, 26, 27, 28, 29, 30, 31, 32,
- 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 193, 194, 54,
+ 0, 0, 0, 0, 0, 0, 0, 3, 4, 5,
+ 0, 7, 0, 195, 56, 8, 9, 0, 0, 329,
+ 10, 0, 11, 12, 13, 14, 15, 16, 17, 0,
+ 0, 181, 182, 20, 21, 22, 23, 24, 0, 0,
+ 0, 0, 0, 0, 0, 0, 27, 0, 0, 30,
+ 31, 171, 172, 34, 35, 173, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 50, 51, 52,
- 53, 0, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 55, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 18,
- 19, 20, 21, 22, 23, 24, 0, 0, 25, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 49, 0, 0, 192,
+ 51, 52, 193, 194, 54, 0, 0, 0, 0, 0,
+ 0, 0, 3, 4, 5, 6, 7, 0, 195, 56,
+ 8, 9, 0, 0, 338, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 18, 19, 20, 21,
+ 22, 23, 24, 0, 0, 25, 0, 0, 0, 0,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 50, 51, 52,
- 53, 0, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 55, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 20, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 50, 51, 52, 53, 0, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 55, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 18, 19, 20, 21,
+ 22, 23, 24, 0, 0, 25, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 193, 194, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 195, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 183, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 50, 51, 52, 53, 0, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 55, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 20, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 460, 194, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 195, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 183, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 193, 194, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 195, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 183, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 466, 194, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 195, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 183, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 460, 194, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 195, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 183, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 582, 194, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 195, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 183, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 466, 194, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 195, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 183, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 370, 0, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 195, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 183, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 582, 194, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 195, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 183, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 444, 0, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 195, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 183, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 370, 0, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 195, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 183, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 543, 0, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 195, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 183, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 444, 0, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 195, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 183, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 578, 0, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 195, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 183, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 543, 0, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 195, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 183, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 0, 0, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 195, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 20, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 27, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 47, 48, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 578, 0, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 195, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 183, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 192, 51, 52,
- 0, 0, 54, 0, 0, 3, 4, 5, 0, 7,
- 0, 0, 0, 8, 9, 0, 195, 56, 10, 0,
- 11, 12, 13, 14, 15, 16, 17, 0, 0, 181,
- 182, 183, 21, 22, 23, 24, 0, 0, 0, 0,
- 0, 0, 0, 0, 184, 0, 0, 30, 31, 171,
- 172, 34, 35, 173, 37, 38, 39, 40, 41, 42,
- 43, 44, 45, 46, 0, 0, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 0, 0, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 195, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 20, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 27, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 47, 48, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 49, 0, 0, 50, 51, 52,
- 53, 0, 54, 3, 4, 5, 0, 7, 554, 0,
- 0, 8, 9, 0, 0, 0, 10, 0, 11, 12,
- 13, 14, 15, 16, 17, 0, 0, 181, 182, 183,
- 21, 22, 23, 24, 0, 0, 0, 0, 0, 0,
- 0, 0, 184, 0, 0, 30, 31, 171, 172, 34,
- 35, 173, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 49, 0, 0, 192, 51, 52, 0, 0, 54,
+ 0, 0, 3, 4, 5, 0, 7, 0, 0, 0,
+ 8, 9, 0, 195, 56, 10, 0, 11, 12, 13,
+ 14, 15, 16, 17, 0, 0, 181, 182, 183, 21,
+ 22, 23, 24, 0, 0, 0, 0, 0, 0, 0,
+ 0, 184, 0, 0, 30, 31, 171, 172, 34, 35,
+ 173, 37, 38, 39, 40, 41, 42, 43, 44, 45,
+ 46, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 49, 0, 0, 50, 51, 52, 53, 0,
- 54, 3, 4, 5, 0, 7, 0, 0, 0, 8,
- 9, 0, 0, 0, 10, 0, 11, 12, 13, 14,
- 15, 16, 17, 0, 0, 181, 182, 183, 21, 22,
- 23, 24, 0, 0, 0, 0, 0, 0, 0, 0,
- 184, 0, 0, 30, 31, 171, 172, 34, 35, 173,
- 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,
+ 0, 49, 0, 0, 50, 51, 52, 53, 0, 54,
+ 3, 4, 5, 0, 7, 554, 0, 0, 8, 9,
+ 0, 0, 0, 10, 0, 11, 12, 13, 14, 15,
+ 16, 17, 0, 0, 181, 182, 183, 21, 22, 23,
+ 24, 0, 0, 0, 0, 0, 0, 0, 0, 184,
+ 0, 0, 30, 31, 171, 172, 34, 35, 173, 37,
+ 38, 39, 40, 41, 42, 43, 44, 45, 46, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
+ 0, 0, 50, 51, 52, 53, 0, 54, 3, 4,
+ 5, 0, 7, 0, 0, 0, 8, 9, 0, 0,
+ 0, 10, 0, 11, 12, 13, 14, 15, 16, 17,
+ 0, 0, 181, 182, 183, 21, 22, 23, 24, 0,
+ 0, 0, 0, 0, 0, 0, 0, 184, 0, 0,
+ 30, 31, 171, 172, 34, 35, 173, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 49, 0, 0, 254, 51, 52, 255, 0, 54, 3,
- 4, 5, 0, 7, 0, 0, 0, 8, 9, 0,
- 0, 0, 10, 0, 11, 12, 13, 14, 15, 16,
- 17, 0, 0, 181, 182, 183, 21, 22, 23, 24,
- 0, 0, 0, 0, 0, 0, 0, 0, 184, 0,
- 0, 30, 31, 171, 172, 34, 35, 173, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, 46, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 49, 0, 0,
+ 254, 51, 52, 255, 0, 54, 3, 4, 5, 0,
+ 7, 0, 0, 0, 8, 9, 0, 0, 0, 10,
+ 0, 11, 12, 13, 14, 15, 16, 17, 0, 0,
+ 181, 182, 183, 21, 22, 23, 24, 0, 0, 0,
+ 0, 0, 0, 0, 0, 184, 0, 0, 30, 31,
+ 171, 172, 34, 35, 173, 37, 38, 39, 40, 41,
+ 42, 43, 44, 45, 46, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 49, 0,
- 0, 254, 51, 52, 482, 0, 54, 3, 4, 5,
- 0, 7, 0, 0, 0, 8, 9, 0, 0, 0,
- 10, 0, 11, 12, 13, 14, 15, 16, 17, 0,
- 0, 181, 182, 183, 21, 22, 23, 24, 0, 0,
- 0, 0, 0, 0, 0, 0, 184, 0, 0, 30,
- 31, 171, 172, 34, 35, 173, 37, 38, 39, 40,
- 41, 42, 43, 44, 45, 46, 0, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268, 269, 270,
- 0, 0, 271, 272, 0, 0, 49, 0, 0, 192,
- 51, 52, 0, 0, 54, 273, 0, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 258, 259, 260,
- 261, 262, 263, 264, 265, 266, 267, 268,-32768,-32768,
- 0, 0, 271, 272, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283, 258, 259, 260,
- 261, 262, 263, 264, 265, 0, 267, 268, 0, 0,
- 0, 0, 271, 272, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 274, 275, 276,
- 277, 278, 279, 280, 281, 282, 283
+ 0, 0, 0, 0, 0, 49, 0, 0, 254, 51,
+ 52, 482, 0, 54, 3, 4, 5, 0, 7, 0,
+ 0, 0, 8, 9, 0, 0, 0, 10, 0, 11,
+ 12, 13, 14, 15, 16, 17, 0, 0, 181, 182,
+ 183, 21, 22, 23, 24, 0, 0, 0, 0, 0,
+ 0, 0, 0, 184, 0, 0, 30, 31, 171, 172,
+ 34, 35, 173, 37, 38, 39, 40, 41, 42, 43,
+ 44, 45, 46, 0, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 0, 0, 271,
+ 272, 0, 0, 49, 331, 0, 192, 51, 52, 0,
+ 0, 54, 273, 0, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 0, 0, 271,
+ 272, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 273, 484, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268, 269, 270, 0, 0, 271,
+ 272, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 273, 0, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 258, 259, 260, 261, 262, 263,
+ 264, 265, 266, 267, 268,-32768,-32768, 0, 0, 271,
+ 272, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 258, 259, 260, 261, 262, 263,
+ 264, 265, 0, 267, 268, 0, 0, 0, 0, 271,
+ 272, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 258,-32768,-32768,-32768,-32768, 263,
+ 264, 0, 0,-32768,-32768, 0, 0, 0, 0, 271,
+ 272, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283, 258, 259, 260, 261, 262, 263,
+ 264, 0, 0, 267, 268, 0, 0, 0, 0, 271,
+ 272, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 274, 275, 276, 277, 278, 279,
+ 280, 281, 282, 283
};
static const short yycheck[] = { 1,
- 2, 58, 13, 177, 206, 7, 8, 9, 10, 11,
- 12, 13, 6, 210, 184, 65, 18, 19, 20, 52,
- 180, 311, 50, 25, 81, 18, 19, 20, 13, 76,
- 305, 332, 26, 2, 336, 336, 19, 13, 51, 52,
- 26, 1, 432, 433, 47, 13, 26, 26, 50, 4,
- 512, 53, 514, 55, 34, 35, 34, 35, 360, 47,
- 54, 34, 35, 65, 34, 35, 34, 35, 53, 514,
- 116, 81, 47, 223, 76, 47, 47, 325, 80, 51,
- 81, 81, 81, 76, 49, 88, 89, 335, 111, 107,
- 116, 117, 81, 116, 49, 60, 61, 115, 295, 109,
- 88, 89, 8, 9, 254, 11, 12, 79, 109, 109,
- 109, 112, 115, 88, 89, 1, 2, 88, 89, 25,
- 109, 7, 179, 180, 10, 327, 34, 35, 107, 64,
- 116, 117, 110, 595, 304, 95, 116, 117, 140, 72,
- 116, 117, 81, 116, 191, 107, 116, 117, 116, 117,
- 595, 81, 427, 443, 91, 456, 116, 117, 81, 81,
- 81, 26, 64, 96, 50, 81, 101, 102, 103, 111,
- 109, 341, 26, 112, 80, 565, 566, 79, 80, 109,
- 570, 47, 112, 81, 111, 51, 109, 109, 109, 112,
- 192, 112, 64, 109, 196, 223, 98, 99, 100, 101,
- 102, 103, 111, 196, 83, 81, 208, 116, 210, 107,
- 81, 109, 91, 196, 112, 208, 218, 115, 608, 8,
- 15, 223, 17, 81, 107, 208, 254, 99, 100, 101,
- 102, 103, 111, 109, 140, 537, 537, 17, 109, 252,
- 81, 298, 299, 245, 246, 247, 248, 249, 250, 251,
- 83, 109, 254, 255, 112, 81, 1, 2, 91, 14,
- 15, 463, 7, 8, 9, 10, 11, 12, 109, 115,
- 255, 112, 446, 18, 19, 20, 245, 437, 111, 83,
- 25, 47, 48, 109, 286, 51, 115, 91, 485, 579,
- 83, 115, 83, 295, 491, 455, 571, 310, 91, 332,
- 91, 303, 111, 316, 83, 50, 192, 111, 83, 25,
- 55, 313, 91, 315, 83, 111, 91, 319, 111, 321,
- 83, 111, 91, 325, 326, 375, 47, 48, 91, 115,
- 51, 76, 218, 335, 536, 80, 107, 223, 540, 509,
- 246, 247, 248, 249, 250, 251, 348, 64, 230, 64,
- 232, 345, 47, 48, 64, 113, 51, 47, 48, 245,
- 110, 51, 110, 111, 79, 80, 110, 110, 254, 79,
- 80, 108, 429, 375, 37, 38, 39, 40, 111, 15,
- 437, 96, 97, 98, 99, 100, 101, 102, 103, 99,
- 100, 101, 102, 103, 13, 140, 10, 110, 455, 110,
- 10, 575, 110, 405, 108, 607, 408, 110, 113, 111,
- 111, 110, 405, 110, 110, 408, 91, 303, 420, 421,
- 326, 47, 47, 111, 111, 111, 428, 313, 111, 315,
- 9, 111, 10, 319, 10, 321, 115, 439, 115, 113,
- 89, 435, 436, 111, 113, 502, 108, 192, 10, 10,
- 89, 196, 10, 10, 10, 110, 110, 10, 96, 10,
- 108, 111, 348, 208, 110, 210, 10, 10, 0, 0,
- 610, 473, 412, 218, 495, 579, 572, 5, 223, 1,
- 482, 571, 427, 485, 495, 7, -1, 512, 10, 491,
- -1, -1, -1, 495, 496, 497, -1, 482, -1, 501,
- 245, 246, 247, 248, 249, 250, 251, -1, -1, 254,
- 495, -1, -1, -1, 420, -1, -1, -1, 520, -1,
- -1, 523, -1, 525, -1, -1, -1, -1, -1, 531,
- -1, -1, -1, 535, -1, 421, -1, -1, -1, 284,
- 285, 286, 428, -1, -1, -1, -1, -1, -1, -1,
- 295, -1, -1, 439, -1, -1, -1, -1, 303, -1,
- -1, -1, -1, -1, -1, -1, -1, 473, 313, -1,
- 315, -1, -1, -1, 319, -1, 321, -1, 323, 324,
- 325, 326, -1, -1, -1, -1, -1, -1, -1, 334,
- 335, -1, -1, -1, -1, -1, -1, 599, -1, 601,
- -1, -1, -1, 348, -1, 350, -1, -1, -1, -1,
- 496, 497, -1, -1, -1, 501, 1, 2, -1, 525,
- 5, -1, 7, 8, 9, 10, 11, 12, 13, -1,
- -1, -1, -1, -1, 520, -1, -1, 523, -1, -1,
- 25, -1, -1, -1, -1, 531, -1, -1, -1, 535,
+ 2, 6, 184, 13, 206, 7, 8, 9, 10, 11,
+ 12, 13, 65, 180, 177, 13, 18, 19, 20, 210,
+ 305, 26, 52, 25, 311, 50, 8, 9, 76, 11,
+ 12, 58, 2, 18, 19, 20, 332, 336, 51, 52,
+ 336, 19, 13, 25, 432, 433, 34, 35, 50, 54,
+ 1, 53, 26, 55, 81, 53, 4, 64, 13, 34,
+ 35, 360, 116, 65, 47, 107, 47, 26, 34, 35,
+ 47, 223, 81, 26, 76, 34, 35, 64, 80, 34,
+ 35, 81, 47, 111, 512, 47, 514, 514, 116, 51,
+ 81, 76, 99, 100, 101, 102, 103, 15, 80, 17,
+ 109, 49, 254, 112, 295, 88, 89, 88, 89, 109,
+ 325, 88, 89, 26, 101, 102, 103, 79, 109, 83,
+ 335, 112, 304, 88, 89, 327, 83, 91, 116, 117,
+ 1, 2, 115, 107, 91, 110, 7, 8, 9, 10,
+ 11, 12, 427, 191, 95, 116, 117, 18, 19, 20,
+ 116, 153, 179, 180, 25, 81, 443, 116, 117, 341,
+ 456, 116, 117, 116, 117, 116, 117, 595, 595, 72,
+ 111, 153, 81, 81, 81, 116, 91, 565, 566, 50,
+ 107, 107, 570, 109, 55, 26, 112, 83, 115, 115,
+ 192, 81, 111, 96, 196, 91, 81, 64, 223, 83,
+ 109, 109, 109, 112, 112, 76, 208, 91, 210, 80,
+ 47, 196, 79, 80, 51, 111, 218, 83, 196, 109,
+ 608, 223, 112, 208, 109, 91, 81, 112, 81, 254,
+ 208, 98, 99, 100, 101, 102, 103, 111, 537, 252,
+ 230, 537, 232, 245, 246, 247, 248, 249, 250, 251,
+ 83, 8, 254, 255, 109, 107, 109, 255, 91, 112,
+ 111, 463, 81, 81, 246, 247, 248, 249, 250, 251,
+ 437, 298, 299, 116, 117, 245, 81, 83, 111, 83,
+ 81, 81, 153, 446, 286, 91, 571, 91, 455, 17,
+ 109, 109, 579, 295, 485, 47, 48, 310, 83, 51,
+ 491, 303, 332, 316, 109, 111, 91, 111, 109, 109,
+ 25, 313, 115, 315, 111, 81, 115, 319, 49, 321,
+ 115, 192, 375, 325, 326, 196, 64, 509, 111, 60,
+ 61, 47, 48, 335, 536, 51, 115, 208, 540, 210,
+ 345, 79, 80, 109, 326, 1, 348, 218, 107, 47,
+ 48, 7, 223, 51, 10, 34, 35, 64, 96, 97,
+ 98, 99, 100, 101, 102, 103, 47, 48, 14, 15,
+ 51, 110, 111, 375, 245, 246, 247, 248, 249, 250,
+ 251, 110, 15, 254, 110, 110, 113, 1, 2, 108,
+ 111, 5, 13, 7, 8, 9, 10, 11, 12, 13,
+ 10, 110, 429, 405, 110, 607, 408, 110, 108, 110,
+ 437, 25, 575, 284, 285, 286, 111, 111, 420, 421,
+ 405, 110, 113, 408, 295, 110, 428, 10, 455, 91,
+ 435, 436, 303, 110, 47, 47, 50, 439, 420, 53,
+ 111, 111, 313, 111, 315, 111, 9, 111, 319, 10,
+ 321, 65, 323, 324, 325, 326, 37, 38, 39, 40,
+ 10, 115, 115, 334, 335, 113, 80, 89, 111, 113,
+ 108, 473, 10, 10, 89, 502, 10, 348, 10, 350,
+ 482, 10, 110, 485, 482, 495, 110, 96, 10, 491,
+ 108, 473, 10, 495, 496, 497, 10, 495, 10, 501,
+ 111, 0, 110, 1, 2, 0, 610, 412, 579, 7,
+ 8, 9, 10, 11, 12, 13, 495, 572, 520, 5,
+ 571, 523, -1, 525, -1, 427, 512, 25, -1, 531,
+ -1, -1, -1, 535, 405, -1, -1, 408, 64, 153,
+ -1, -1, -1, 525, -1, -1, -1, -1, -1, 420,
+ 421, -1, 50, 79, 80, 53, -1, 428, -1, -1,
+ -1, -1, 218, -1, -1, -1, -1, 65, 439, -1,
+ -1, -1, -1, 99, 100, 101, 102, 103, 192, -1,
+ -1, -1, 80, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 599, -1, 601,
+ -1, -1, 473, -1, 218, -1, -1, -1, -1, 223,
+ -1, -1, -1, -1, 485, -1, -1, -1, -1, -1,
+ 491, -1, -1, -1, -1, 496, 497, -1, -1, -1,
+ 501, 245, 246, 247, 248, 249, 250, 251, -1, -1,
+ 254, 255, -1, -1, 1, 2, -1, 303, -1, 520,
+ 7, -1, 523, 10, 525, 153, -1, 313, -1, 315,
+ 531, -1, -1, 319, 535, 321, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 405, -1, -1, 408, -1, 50, -1, -1, 53, -1,
- -1, -1, -1, -1, -1, 420, 421, -1, -1, -1,
- 65, -1, -1, 428, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 439, 80, 218, -1, 1, 2,
- -1, -1, -1, -1, 7, 8, 9, 10, 11, 12,
- 13, -1, -1, 599, -1, 601, -1, -1, -1, -1,
- -1, -1, 25, -1, -1, -1, -1, -1, 473, -1,
- -1, -1, -1, 64, 65, 66, 67, 68, 69, 70,
- 485, -1, 73, 74, -1, -1, 491, 50, 79, 80,
- 53, 496, 497, -1, -1, 140, 501, -1, -1, -1,
- -1, -1, 65, 94, 95, 96, 97, 98, 99, 100,
- 101, 102, 103, -1, -1, 520, -1, 80, 523, -1,
- 525, 303, -1, -1, -1, -1, 531, -1, -1, -1,
- 535, 313, -1, 315, -1, -1, -1, 319, -1, 321,
- -1, -1, -1, -1, -1, -1, -1, 192, -1, -1,
- -1, -1, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, -1, 348, 79, 80, -1,
- -1, -1, -1, 218, -1, -1, -1, 140, 223, -1,
- 92, -1, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, -1, -1, 599, -1, 601, -1, -1, 111,
- 245, 246, 247, 248, 249, 250, 251, -1, -1, 254,
- 255, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 192,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 421,
- -1, -1, -1, -1, -1, -1, 428, -1, -1, -1,
- -1, -1, -1, -1, -1, 218, -1, 439, 303, -1,
- 223, -1, -1, -1, -1, -1, -1, -1, 313, -1,
- 315, -1, -1, -1, 319, -1, 321, -1, -1, -1,
- -1, 326, 245, 246, 247, 248, 249, 250, 251, -1,
- -1, 254, 255, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 348, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 496, 497, -1, -1, -1, 501,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 303,
+ -1, -1, 348, 50, 192, -1, -1, -1, -1, 313,
+ -1, 315, -1, -1, -1, 319, -1, 321, -1, -1,
+ -1, -1, 326, -1, -1, -1, -1, -1, -1, -1,
+ 218, -1, -1, -1, -1, 223, -1, -1, 599, -1,
+ 601, -1, -1, -1, 348, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 245, 246, 247,
+ 248, 249, 250, 251, -1, -1, 254, 255, -1, -1,
+ -1, 375, -1, -1, -1, 421, -1, -1, -1, -1,
+ -1, -1, 428, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 439, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 375, -1, -1, -1, -1, -1, -1, -1, 520, -1,
- 303, 523, -1, -1, -1, -1, -1, -1, -1, 531,
- 313, -1, 315, 535, -1, -1, 319, -1, 321, -1,
- -1, -1, -1, 326, -1, -1, -1, -1, -1, 18,
- 19, 20, -1, -1, -1, 420, 421, -1, -1, -1,
- -1, -1, -1, 428, -1, 348, -1, -1, -1, -1,
- -1, -1, -1, -1, 439, -1, -1, -1, 47, 48,
- -1, -1, 51, 52, -1, -1, 55, 56, -1, -1,
- -1, -1, 375, -1, -1, -1, -1, 599, -1, 601,
- -1, -1, -1, -1, -1, -1, -1, 76, 473, -1,
- -1, -1, -1, -1, -1, -1, -1, 482, -1, -1,
+ -1, -1, -1, -1, -1, 303, 420, 421, -1, -1,
+ -1, -1, -1, -1, 428, 313, -1, 315, -1, -1,
+ -1, 319, -1, 321, -1, 439, -1, -1, 326, -1,
+ -1, -1, -1, -1, -1, 192, -1, -1, -1, -1,
+ 496, 497, -1, -1, -1, 501, -1, -1, -1, -1,
+ 348, -1, -1, -1, -1, -1, -1, -1, -1, 473,
+ -1, 218, -1, -1, 520, -1, 223, 523, 482, -1,
+ 18, 19, 20, -1, -1, 531, -1, 375, -1, 535,
+ -1, 495, 496, 497, -1, -1, -1, 501, 245, -1,
+ -1, -1, -1, -1, -1, -1, -1, 254, -1, 47,
+ 48, -1, -1, 51, 52, -1, 520, 55, 56, 523,
+ -1, 525, -1, -1, -1, -1, -1, 531, -1, -1,
+ -1, 535, 420, 421, -1, -1, -1, -1, 76, -1,
+ 428, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 439, -1, 599, -1, 601, 303, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 313, -1, 315, -1,
+ -1, -1, 319, -1, 321, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, 473, -1, -1, -1, -1,
+ -1, -1, -1, -1, 482, 599, -1, 601, -1, -1,
+ -1, 348, -1, -1, -1, -1, -1, 495, 496, 497,
+ -1, -1, -1, 501, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 495, 496, 497, -1, -1, -1, 501, 420, 421, -1,
- -1, -1, -1, -1, -1, 428, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 520, 439, -1, 523, -1,
- 525, -1, -1, -1, -1, -1, 531, -1, -1, -1,
- 535, -1, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, -1, -1, 79, 80, -1,
- 473, -1, 84, -1, -1, -1, -1, -1, -1, 482,
- 92, -1, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, 495, 496, 497, -1, -1, -1, 501, -1,
- -1, -1, -1, -1, 193, 194, 195, 196, -1, -1,
- -1, -1, -1, -1, 599, -1, 601, 520, -1, 208,
- 523, 210, 525, -1, -1, -1, -1, -1, 531, -1,
- -1, -1, 535, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 520, -1, -1, 523, -1, 525, -1, -1,
+ -1, -1, -1, 531, -1, -1, -1, 535, -1, -1,
+ -1, -1, -1, -1, -1, 193, 194, 195, 196, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 208, -1, 210, -1, 421, -1, -1, -1, -1, -1,
+ -1, 428, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 439, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 252, -1, -1, -1, -1, -1, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 268,
- 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
- 279, 280, 281, 282, 283, -1, 599, 286, 601, -1,
- -1, -1, -1, -1, 293, 294, 295, -1, -1, -1,
+ -1, 599, -1, 601, 252, -1, -1, -1, -1, -1,
+ 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
+ 268, 269, 270, 271, 272, 273, 274, 275, 276, 277,
+ 278, 279, 280, 281, 282, 283, -1, -1, 286, 496,
+ 497, -1, -1, -1, 501, 293, 294, 295, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 310, -1, -1, -1, -1, -1, 316, 8, 9,
- -1, 11, 12, -1, -1, -1, 325, -1, 18, 19,
- 20, -1, 331, 332, -1, 25, 335, 336, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 347, -1,
- -1, -1, -1, -1, -1, 354, -1, -1, -1, -1,
- -1, 360, -1, -1, -1, 55, -1, -1, -1, -1,
- -1, 370, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 76, -1, -1, -1,
- 80, -1, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, -1, 405, 79, 80, 408,
- -1, -1, -1, -1, 413, 414, -1, -1, -1, -1,
- 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, -1, -1, -1, -1, -1, -1, 64, 65,
- 66, 67, 68, 69, 70, 444, -1, 73, 74, -1,
- 140, -1, -1, 79, 80, -1, -1, -1, -1, -1,
- -1, 460, -1, -1, -1, -1, -1, 466, 94, 95,
- 96, 97, 98, 99, 100, 101, 102, 103, -1, -1,
- -1, 480, -1, -1, -1, 484, 485, -1, 487, 488,
- 489, 490, 491, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 196, 506, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 208, -1,
- 210, -1, 521, -1, -1, -1, -1, -1, -1, -1,
- -1, 530, -1, -1, -1, -1, -1, -1, 537, -1,
- -1, -1, -1, -1, 543, -1, -1, -1, -1, -1,
- -1, -1, -1, 552, 553, -1, 246, 247, 248, 249,
- 250, 251, -1, -1, -1, -1, -1, -1, -1, -1,
- 0, 1, -1, 3, 4, 5, 6, 7, -1, 578,
- -1, 11, 12, 582, -1, -1, 16, -1, 18, 19,
- 20, 21, 22, 23, 24, -1, 286, 27, 28, 29,
- 30, 31, 32, 33, -1, 295, 36, -1, -1, -1,
- -1, 41, 42, 43, 44, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, 62, 63, -1, 325, 326, -1, -1, -1,
- -1, -1, -1, -1, -1, 335, -1, -1, -1, -1,
- -1, -1, 82, -1, -1, 85, 86, 87, 88, -1,
- 90, -1, -1, -1, -1, -1, -1, -1, 0, -1,
- -1, -1, -1, -1, 104, 105, 8, 9, 10, -1,
- -1, -1, 14, 15, -1, 17, 116, 117, -1, -1,
+ -1, -1, 310, 520, -1, -1, 523, -1, 316, 8,
+ 9, -1, 11, 12, 531, -1, -1, 325, 535, 18,
+ 19, 20, -1, 331, 332, -1, 25, 335, 336, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 347,
+ -1, -1, -1, -1, -1, -1, 354, -1, -1, -1,
+ -1, -1, 360, -1, -1, -1, 55, -1, -1, -1,
+ -1, -1, 370, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 76, -1, -1,
+ -1, 80, 599, -1, 601, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 405, -1, -1,
+ 408, -1, -1, -1, -1, 413, 414, -1, -1, 64,
+ 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
+ 75, 76, -1, -1, 79, 80, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 444, 92, -1, 94,
+ 95, 96, 97, 98, 99, 100, 101, 102, 103, -1,
+ -1, -1, 460, -1, 153, -1, 111, -1, 466, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 480, -1, -1, -1, 484, 485, -1, 487,
+ 488, 489, 490, 491, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 196, 506, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 208,
+ -1, 210, -1, 521, -1, -1, -1, -1, -1, -1,
+ -1, -1, 530, -1, -1, -1, -1, -1, -1, 537,
+ -1, -1, -1, -1, -1, 543, -1, -1, -1, -1,
+ -1, -1, -1, -1, 552, 553, -1, 246, 247, 248,
+ 249, 250, 251, -1, -1, -1, -1, -1, -1, -1,
+ -1, 0, 1, -1, 3, 4, 5, 6, 7, -1,
+ 578, -1, 11, 12, 582, -1, -1, 16, -1, 18,
+ 19, 20, 21, 22, 23, 24, -1, 286, 27, 28,
+ 29, 30, 31, 32, 33, -1, 295, 36, -1, -1,
+ -1, -1, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, 62, 63, -1, 325, 326, -1, -1,
+ -1, -1, -1, -1, -1, -1, 335, -1, -1, -1,
+ -1, -1, -1, 82, -1, -1, 85, 86, 87, 88,
+ -1, 90, -1, -1, -1, -1, -1, -1, -1, 0,
+ -1, -1, -1, -1, -1, 104, 105, 8, 9, 10,
+ -1, -1, -1, 14, 15, -1, 17, 116, 117, -1,
+ -1, -1, -1, -1, -1, 26, -1, -1, -1, -1,
+ -1, -1, -1, 34, 35, -1, 37, 38, 39, 40,
+ -1, -1, -1, -1, -1, -1, 405, -1, -1, 408,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 420, -1, 64, 65, 66, 67, 68, 69, 70,
+ 71, 72, 73, 74, 75, 76, -1, -1, 79, 80,
+ 81, -1, 83, -1, -1, -1, -1, -1, -1, -1,
+ 91, 92, -1, 94, 95, 96, 97, 98, 99, 100,
+ 101, 102, 103, -1, -1, -1, -1, 108, 109, 110,
+ 111, 112, -1, 0, 473, 116, 117, -1, -1, -1,
+ -1, 8, 9, 10, -1, -1, 485, 14, 15, -1,
+ 17, -1, 491, -1, -1, -1, -1, -1, -1, 26,
+ -1, -1, -1, -1, -1, -1, -1, 34, 35, -1,
+ 37, 38, 39, 40, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 525, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 64, 65, 66,
+ 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
+ -1, -1, 79, 80, 81, -1, 83, -1, -1, -1,
+ -1, -1, -1, -1, 91, 92, -1, 94, 95, 96,
+ 97, 98, 99, 100, 101, 102, 103, -1, 0, -1,
+ -1, 108, 109, 110, 111, 112, 8, 9, 10, 116,
+ 117, -1, 14, 15, -1, 17, -1, -1, -1, -1,
-1, -1, -1, -1, 26, -1, -1, -1, -1, -1,
-1, -1, 34, 35, -1, 37, 38, 39, 40, -1,
- -1, -1, -1, -1, -1, 405, -1, -1, 408, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 420, -1, 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, -1, -1, 79, 80, 81,
- -1, 83, -1, -1, -1, -1, -1, -1, -1, 91,
- 92, -1, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, -1, -1, -1, -1, 108, 109, 110, 111,
- 112, -1, 0, 473, 116, 117, -1, -1, -1, -1,
- 8, 9, 10, -1, -1, 485, 14, 15, -1, 17,
- -1, 491, -1, -1, -1, -1, -1, -1, 26, -1,
- -1, -1, -1, -1, -1, -1, 34, 35, -1, 37,
- 38, 39, 40, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 525, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 64, 65, 66, 67,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, -1,
- -1, 79, 80, 81, -1, 83, -1, -1, -1, -1,
- -1, -1, -1, 91, 92, -1, 94, 95, 96, 97,
- 98, 99, 100, 101, 102, 103, -1, 0, -1, -1,
- 108, 109, 110, 111, 112, 8, 9, 10, 116, 117,
- -1, 14, 15, -1, 17, -1, -1, -1, -1, -1,
- -1, -1, -1, 26, -1, -1, -1, -1, -1, -1,
- -1, 34, 35, -1, 37, 38, 39, 40, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 64, 65, 66, 67, 68, 69, 70, 71, 72,
- 73, 74, 75, 76, -1, -1, 79, 80, 81, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 92,
- -1, 94, 95, 96, 97, 98, 99, 100, 101, 102,
- 103, -1, -1, -1, -1, 108, 109, 110, -1, 112,
- -1, -1, -1, 116, 117, 1, -1, 3, 4, 5,
- 6, 7, 8, 9, 10, 11, 12, -1, -1, 15,
- 16, -1, 18, 19, 20, 21, 22, 23, 24, -1,
- -1, 27, 28, 29, 30, 31, 32, 33, -1, -1,
- 36, -1, -1, -1, -1, 41, 42, 43, 44, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63, -1, -1,
+ -1, -1, 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, -1, -1, 79, 80, 81,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, 82, -1, -1, 85,
- 86, 87, 88, -1, 90, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 104, 105,
- -1, -1, -1, 1, -1, 3, 4, 5, 6, 7,
- 116, 117, 10, 11, 12, -1, 14, 15, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, 36, -1,
- -1, -1, -1, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ 92, -1, 94, 95, 96, 97, 98, 99, 100, 101,
+ 102, 103, -1, -1, -1, -1, 108, 109, 110, -1,
+ 112, -1, -1, -1, 116, 117, 1, -1, 3, 4,
+ 5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
+ 15, 16, -1, 18, 19, 20, 21, 22, 23, 24,
+ -1, -1, 27, 28, 29, 30, 31, 32, 33, -1,
+ -1, 36, -1, -1, -1, -1, 41, 42, 43, 44,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, 62, 63, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, -1, 90, -1, 1, -1, 3, 4, 5, 6,
- 7, -1, -1, 10, 11, 12, 104, 105, 15, 16,
- 17, 18, 19, 20, 21, 22, 23, 24, 116, 117,
+ -1, -1, -1, -1, -1, -1, -1, 82, -1, -1,
+ 85, 86, 87, 88, -1, 90, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 104,
+ 105, -1, -1, -1, 1, -1, 3, 4, 5, 6,
+ 7, 116, 117, 10, 11, 12, -1, 14, 15, 16,
+ -1, 18, 19, 20, 21, 22, 23, 24, -1, -1,
27, 28, 29, 30, 31, 32, 33, -1, -1, 36,
-1, -1, -1, -1, 41, 42, 43, 44, 45, 46,
47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
@@ -1584,7 +1561,7 @@ static const short yycheck[] = { 1,
-1, -1, -1, -1, -1, 82, -1, -1, 85, 86,
87, 88, -1, 90, -1, 1, -1, 3, 4, 5,
6, 7, -1, -1, 10, 11, 12, 104, 105, 15,
- 16, -1, 18, 19, 20, 21, 22, 23, 24, 116,
+ 16, 17, 18, 19, 20, 21, 22, 23, 24, 116,
117, 27, 28, 29, 30, 31, 32, 33, -1, -1,
36, -1, -1, -1, -1, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
@@ -1592,8 +1569,8 @@ static const short yycheck[] = { 1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 82, -1, -1, 85,
86, 87, 88, -1, 90, -1, 1, -1, 3, 4,
- 5, 6, 7, -1, 9, 10, 11, 12, 104, 105,
- -1, 16, -1, 18, 19, 20, 21, 22, 23, 24,
+ 5, 6, 7, -1, -1, 10, 11, 12, 104, 105,
+ 15, 16, -1, 18, 19, 20, 21, 22, 23, 24,
116, 117, 27, 28, 29, 30, 31, 32, 33, -1,
-1, 36, -1, -1, -1, -1, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
@@ -1601,8 +1578,8 @@ static const short yycheck[] = { 1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 82, -1, -1,
85, 86, 87, 88, -1, 90, -1, 1, -1, 3,
- 4, 5, 6, 7, -1, -1, -1, 11, 12, 104,
- 105, -1, 16, 17, 18, 19, 20, 21, 22, 23,
+ 4, 5, 6, 7, -1, 9, 10, 11, 12, 104,
+ 105, -1, 16, -1, 18, 19, 20, 21, 22, 23,
24, 116, 117, 27, 28, 29, 30, 31, 32, 33,
-1, -1, 36, -1, -1, -1, -1, 41, 42, 43,
44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
@@ -1611,47 +1588,47 @@ static const short yycheck[] = { 1,
-1, -1, -1, -1, -1, -1, -1, -1, 82, -1,
-1, 85, 86, 87, 88, -1, 90, -1, 1, -1,
3, 4, 5, 6, 7, -1, -1, -1, 11, 12,
- 104, 105, -1, 16, -1, 18, 19, 20, 21, 22,
+ 104, 105, -1, 16, 17, 18, 19, 20, 21, 22,
23, 24, 116, 117, 27, 28, 29, 30, 31, 32,
33, -1, -1, 36, -1, -1, -1, -1, 41, 42,
43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 82,
- -1, -1, 85, 86, 87, 88, -1, 90, -1, -1,
+ -1, -1, 85, 86, 87, 88, -1, 90, -1, 1,
+ -1, 3, 4, 5, 6, 7, -1, -1, -1, 11,
+ 12, 104, 105, -1, 16, -1, 18, 19, 20, 21,
+ 22, 23, 24, 116, 117, 27, 28, 29, 30, 31,
+ 32, 33, -1, -1, 36, -1, -1, -1, -1, 41,
+ 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ 62, 63, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 104, 105, -1, -1, -1, 1, 110, 3, 4,
- 5, 6, 7, 116, 117, -1, 11, 12, -1, -1,
- -1, 16, -1, 18, 19, 20, 21, 22, 23, 24,
- -1, -1, 27, 28, 29, 30, 31, 32, 33, -1,
- -1, 36, -1, -1, -1, -1, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
- 55, 56, 57, 58, 59, 60, 61, 62, 63, -1,
+ 82, -1, -1, 85, 86, 87, 88, -1, 90, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 82, -1, -1,
- 85, 86, 87, 88, -1, 90, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 104,
- 105, -1, -1, -1, 1, 110, 3, 4, 5, 6,
- 7, 116, 117, -1, 11, 12, -1, -1, -1, 16,
- -1, 18, 19, 20, 21, 22, 23, 24, -1, -1,
- 27, 28, 29, 30, 31, 32, 33, -1, -1, 36,
- -1, -1, -1, -1, 41, 42, 43, 44, 45, 46,
- 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
- 57, 58, 59, 60, 61, 62, 63, -1, -1, -1,
+ -1, -1, 104, 105, -1, -1, -1, 1, 110, 3,
+ 4, 5, 6, 7, 116, 117, -1, 11, 12, -1,
+ -1, -1, 16, -1, 18, 19, 20, 21, 22, 23,
+ 24, -1, -1, 27, 28, 29, 30, 31, 32, 33,
+ -1, -1, 36, -1, -1, -1, -1, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 82, -1, -1, 85, 86,
- 87, 88, -1, 90, -1, 1, -1, 3, 4, 5,
- 6, 7, -1, -1, 10, 11, 12, 104, 105, -1,
- 16, 108, 18, 19, 20, 21, 22, 23, 24, 116,
- 117, 27, 28, 29, 30, 31, 32, 33, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 82, -1,
+ -1, 85, 86, 87, 88, -1, 90, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 104, 105, -1, -1, -1, 1, 110, 3, 4, 5,
+ 6, 7, 116, 117, -1, 11, 12, -1, -1, -1,
+ 16, -1, 18, 19, 20, 21, 22, 23, 24, -1,
+ -1, 27, 28, 29, 30, 31, 32, 33, -1, -1,
36, -1, -1, -1, -1, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 82, -1, -1, 85,
- 86, 87, 88, -1, 90, -1, -1, -1, 3, 4,
- 5, 6, 7, -1, -1, -1, 11, 12, 104, 105,
- -1, 16, -1, 18, 19, 20, 21, 22, 23, 24,
+ 86, 87, 88, -1, 90, -1, 1, -1, 3, 4,
+ 5, 6, 7, -1, -1, 10, 11, 12, 104, 105,
+ -1, 16, 108, 18, 19, 20, 21, 22, 23, 24,
116, 117, 27, 28, 29, 30, 31, 32, 33, -1,
-1, 36, -1, -1, -1, -1, 41, 42, 43, 44,
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
@@ -1659,9 +1636,30 @@ static const short yycheck[] = { 1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 82, -1, -1,
85, 86, 87, 88, -1, 90, -1, -1, -1, 3,
- 4, 5, -1, 7, -1, -1, -1, 11, 12, 104,
+ 4, 5, 6, 7, -1, -1, -1, 11, 12, 104,
105, -1, 16, -1, 18, 19, 20, 21, 22, 23,
- 24, -1, 117, 27, 28, 29, 30, 31, 32, 33,
+ 24, 116, 117, 27, 28, 29, 30, 31, 32, 33,
+ -1, -1, 36, -1, -1, -1, -1, 41, 42, 43,
+ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
+ 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 82, -1,
+ -1, 85, 86, 87, 88, -1, 90, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 104, 105, -1, -1, 3, 4, 5, 6, 7, 8,
+ 9, 10, -1, 117, 13, 14, 15, 16, 17, -1,
+ -1, 20, 21, 22, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+ 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+ 49, 50, 51, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, 62, 63, 64, 65, 66, 67, -1,
+ 69, 70, -1, -1, 73, -1, 75, -1, 77, 78,
+ 79, 80, -1, -1, -1, -1, -1, -1, -1, 88,
+ -1, -1, -1, -1, -1, 94, 95, 96, 97, 98,
+ 99, 100, 101, 102, 103, -1, 105, -1, -1, 3,
+ 4, 5, -1, 7, -1, 114, 115, 11, 12, -1,
+ -1, -1, 16, -1, 18, 19, 20, 21, 22, 23,
+ 24, -1, -1, 27, 28, 29, 30, 31, 32, 33,
-1, -1, -1, -1, -1, -1, -1, -1, 42, -1,
-1, 45, 46, 47, 48, 49, 50, 51, 52, 53,
54, 55, 56, 57, 58, 59, 60, 61, 62, 63,
@@ -1767,14 +1765,14 @@ static const short yycheck[] = { 1,
51, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 62, 63, 64, 65, 66, 67, -1, 69, 70,
-1, -1, 73, -1, 75, -1, 77, 78, 79, 80,
- -1, -1, -1, -1, 85, -1, -1, 88, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
-1, -1, -1, 94, 95, 96, 97, 98, 99, 100,
101, 102, 103, -1, 105, 3, 4, 5, 6, 7,
8, 9, 10, 114, -1, 13, 14, 15, 16, 17,
-1, -1, 20, 21, 22, 23, 24, 25, 26, 27,
28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, -1, -1, -1, -1, -1, -1,
+ 48, 49, -1, 51, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 62, 63, 64, 65, 66, 67,
-1, 69, 70, -1, -1, 73, -1, 75, -1, 77,
78, 79, 80, -1, -1, -1, -1, -1, -1, -1,
@@ -1784,203 +1782,209 @@ static const short yycheck[] = { 1,
15, 16, 17, -1, -1, 20, 21, 22, 23, 24,
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
- 45, 46, 47, 48, 49, -1, 51, -1, -1, -1,
+ 45, 46, 47, 48, -1, -1, 51, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 62, 63, 64,
65, 66, 67, -1, 69, 70, -1, -1, 73, -1,
75, -1, 77, 78, 79, 80, -1, -1, -1, -1,
-1, -1, -1, 88, -1, -1, -1, -1, -1, 94,
95, 96, 97, 98, 99, 100, 101, 102, 103, -1,
- 105, 3, 4, 5, 6, 7, 8, 9, 10, 114,
- -1, 13, 14, 15, 16, 17, -1, -1, 20, 21,
- 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
- 42, 43, 44, 45, 46, 47, 48, -1, -1, 51,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 62, 63, 64, 65, 66, 67, -1, 69, 70, -1,
- -1, 73, -1, 75, -1, 77, 78, 79, 80, -1,
- -1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
- -1, -1, 94, 95, 96, 97, 98, 99, 100, 101,
- 102, 103, -1, 105, -1, 3, 4, 5, -1, 7,
- -1, -1, 114, 11, 12, -1, -1, -1, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ 105, -1, 3, 4, 5, -1, 7, -1, -1, 114,
+ 11, 12, -1, -1, -1, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, 89, 90, -1, -1, -1, -1, -1, -1, -1,
- 3, 4, 5, -1, 7, -1, 104, 105, 11, 12,
- -1, -1, 110, 16, -1, 18, 19, 20, 21, 22,
- 23, 24, -1, -1, 27, 28, 29, 30, 31, 32,
- 33, -1, -1, -1, -1, -1, -1, -1, -1, 42,
- -1, -1, 45, 46, 47, 48, 49, 50, 51, 52,
- 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
- 63, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 82,
- -1, -1, 85, 86, 87, 88, 89, 90, -1, -1,
- -1, -1, -1, -1, -1, 3, 4, 5, 6, 7,
- -1, 104, 105, 11, 12, -1, -1, 110, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, 36, -1,
- -1, -1, -1, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, 89, 90,
+ -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
+ -1, 7, -1, 104, 105, 11, 12, -1, -1, 110,
+ 16, -1, 18, 19, 20, 21, 22, 23, 24, -1,
+ -1, 27, 28, 29, 30, 31, 32, 33, -1, -1,
+ -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
+ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, -1, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, 36, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 82, -1, -1, 85,
+ 86, 87, 88, 89, 90, -1, -1, -1, -1, -1,
+ -1, -1, 3, 4, 5, 6, 7, -1, 104, 105,
+ 11, 12, -1, -1, 110, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, 36, -1, -1, -1, -1,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, -1, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, -1, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, 36, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, 89, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, -1, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, 89, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, 89, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, 89, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, 89, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, 89, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, 89, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, -1, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, 89, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, -1, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, -1, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, -1, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, -1, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, -1, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, -1, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- -1, -1, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, 62, 63, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, 88, -1, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- -1, -1, 90, -1, -1, 3, 4, 5, -1, 7,
- -1, -1, -1, 11, 12, -1, 104, 105, 16, -1,
- 18, 19, 20, 21, 22, 23, 24, -1, -1, 27,
- 28, 29, 30, 31, 32, 33, -1, -1, -1, -1,
- -1, -1, -1, -1, 42, -1, -1, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
- 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, -1, -1, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, 62, 63, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, 82, -1, -1, 85, 86, 87,
- 88, -1, 90, 3, 4, 5, -1, 7, 96, -1,
- -1, 11, 12, -1, -1, -1, 16, -1, 18, 19,
- 20, 21, 22, 23, 24, -1, -1, 27, 28, 29,
- 30, 31, 32, 33, -1, -1, -1, -1, -1, -1,
- -1, -1, 42, -1, -1, 45, 46, 47, 48, 49,
- 50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
- 60, 61, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 82, -1, -1, 85, 86, 87, -1, -1, 90,
+ -1, -1, 3, 4, 5, -1, 7, -1, -1, -1,
+ 11, 12, -1, 104, 105, 16, -1, 18, 19, 20,
+ 21, 22, 23, 24, -1, -1, 27, 28, 29, 30,
+ 31, 32, 33, -1, -1, -1, -1, -1, -1, -1,
+ -1, 42, -1, -1, 45, 46, 47, 48, 49, 50,
+ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,
+ 61, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 82, -1, -1, 85, 86, 87, 88, -1,
- 90, 3, 4, 5, -1, 7, -1, -1, -1, 11,
- 12, -1, -1, -1, 16, -1, 18, 19, 20, 21,
- 22, 23, 24, -1, -1, 27, 28, 29, 30, 31,
- 32, 33, -1, -1, -1, -1, -1, -1, -1, -1,
- 42, -1, -1, 45, 46, 47, 48, 49, 50, 51,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
+ -1, 82, -1, -1, 85, 86, 87, 88, -1, 90,
+ 3, 4, 5, -1, 7, 96, -1, -1, 11, 12,
+ -1, -1, -1, 16, -1, 18, 19, 20, 21, 22,
+ 23, 24, -1, -1, 27, 28, 29, 30, 31, 32,
+ 33, -1, -1, -1, -1, -1, -1, -1, -1, 42,
+ -1, -1, 45, 46, 47, 48, 49, 50, 51, 52,
+ 53, 54, 55, 56, 57, 58, 59, 60, 61, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 82,
+ -1, -1, 85, 86, 87, 88, -1, 90, 3, 4,
+ 5, -1, 7, -1, -1, -1, 11, 12, -1, -1,
+ -1, 16, -1, 18, 19, 20, 21, 22, 23, 24,
+ -1, -1, 27, 28, 29, 30, 31, 32, 33, -1,
+ -1, -1, -1, -1, -1, -1, -1, 42, -1, -1,
+ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
+ 55, 56, 57, 58, 59, 60, 61, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 82, -1, -1, 85, 86, 87, 88, -1, 90, 3,
- 4, 5, -1, 7, -1, -1, -1, 11, 12, -1,
- -1, -1, 16, -1, 18, 19, 20, 21, 22, 23,
- 24, -1, -1, 27, 28, 29, 30, 31, 32, 33,
- -1, -1, -1, -1, -1, -1, -1, -1, 42, -1,
- -1, 45, 46, 47, 48, 49, 50, 51, 52, 53,
- 54, 55, 56, 57, 58, 59, 60, 61, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, 82, -1, -1,
+ 85, 86, 87, 88, -1, 90, 3, 4, 5, -1,
+ 7, -1, -1, -1, 11, 12, -1, -1, -1, 16,
+ -1, 18, 19, 20, 21, 22, 23, 24, -1, -1,
+ 27, 28, 29, 30, 31, 32, 33, -1, -1, -1,
+ -1, -1, -1, -1, -1, 42, -1, -1, 45, 46,
+ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
+ 57, 58, 59, 60, 61, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 82, -1,
- -1, 85, 86, 87, 88, -1, 90, 3, 4, 5,
- -1, 7, -1, -1, -1, 11, 12, -1, -1, -1,
- 16, -1, 18, 19, 20, 21, 22, 23, 24, -1,
- -1, 27, 28, 29, 30, 31, 32, 33, -1, -1,
- -1, -1, -1, -1, -1, -1, 42, -1, -1, 45,
- 46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, -1, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- -1, -1, 79, 80, -1, -1, 82, -1, -1, 85,
- 86, 87, -1, -1, 90, 92, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 64, 65, 66,
- 67, 68, 69, 70, 71, 72, 73, 74, 75, 76,
- -1, -1, 79, 80, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103, 64, 65, 66,
- 67, 68, 69, 70, 71, -1, 73, 74, -1, -1,
- -1, -1, 79, 80, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 94, 95, 96,
- 97, 98, 99, 100, 101, 102, 103
+ -1, -1, -1, -1, -1, 82, -1, -1, 85, 86,
+ 87, 88, -1, 90, 3, 4, 5, -1, 7, -1,
+ -1, -1, 11, 12, -1, -1, -1, 16, -1, 18,
+ 19, 20, 21, 22, 23, 24, -1, -1, 27, 28,
+ 29, 30, 31, 32, 33, -1, -1, -1, -1, -1,
+ -1, -1, -1, 42, -1, -1, 45, 46, 47, 48,
+ 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+ 59, 60, 61, -1, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, -1, -1, 79,
+ 80, -1, -1, 82, 84, -1, 85, 86, 87, -1,
+ -1, 90, 92, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, -1, -1, 79,
+ 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 92, 93, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, -1, -1, 79,
+ 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 92, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 64, 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74, 75, 76, -1, -1, 79,
+ 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 64, 65, 66, 67, 68, 69,
+ 70, 71, -1, 73, 74, -1, -1, -1, -1, 79,
+ 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 64, 65, 66, 67, 68, 69,
+ 70, -1, -1, 73, 74, -1, -1, -1, -1, 79,
+ 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103, 64, 65, 66, 67, 68, 69,
+ 70, -1, -1, 73, 74, -1, -1, -1, -1, 79,
+ 80, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 94, 95, 96, 97, 98, 99,
+ 100, 101, 102, 103
};
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/usr/share/misc/bison.simple"
@@ -4237,7 +4241,7 @@ case 339:
case NODE_LIT:
case NODE_ARRAY:
case NODE_ZARRAY:
- yyerror("Can't define single method for literals.");
+ yyerror("can't define single method for literals.");
default:
break;
}
@@ -4694,7 +4698,9 @@ nextc()
normalize_newline(v);
while (RSTRING(v)->len >= 2 &&
RSTRING(v)->ptr[RSTRING(v)->len-1] == '\n' &&
- RSTRING(v)->ptr[RSTRING(v)->len-2] == '\\') {
+ RSTRING(v)->ptr[RSTRING(v)->len-2] == '\\' &&
+ (RSTRING(v)->len == 2 ||
+ RSTRING(v)->ptr[RSTRING(v)->len-3] != '\\')) {
VALUE v2 = (*lex_gets)(lex_input);
if (!NIL_P(v2)) {
@@ -5297,8 +5303,7 @@ here_document(term, indent)
case 0:
goto error;
}
- if (lex_lastline != line) {
- line = lex_lastline;
+ if (lex_p != lex_pend) {
goto retry;
}
}
@@ -5371,10 +5376,6 @@ retry:
while ((c = nextc()) != '\n') {
if (c == -1)
return 0;
- if (c == '\\') { /* skip a char */
- c = nextc();
- if (c == '\n') ruby_sourceline++;
- }
if (ismbchar(c)) {
int i, len = mbclen(c)-1;
@@ -5386,8 +5387,12 @@ retry:
}
}
}
- else if (c >= 0x80) {
- if ((c = nextc()) != '\\') {
+ else if (c == ' ') {
+ if ((c = nextc()) == '\\') {
+ c = nextc();
+ if (c == '\n') ruby_sourceline++;
+ }
+ else {
pushback(c);
}
}
diff --git a/parse.y b/parse.y
index 6f654df..2d5ecfb 100644
--- a/parse.y
+++ b/parse.y
@@ -1530,7 +1530,7 @@ singleton : var_ref
$$ = $1;
}
}
- | tLPAREN expr opt_nl ')'
+ | '(' expr opt_nl ')'
{
switch (nd_type($2)) {
case NODE_STR:
@@ -1541,7 +1541,7 @@ singleton : var_ref
case NODE_LIT:
case NODE_ARRAY:
case NODE_ZARRAY:
- yyerror("Can't define single method for literals.");
+ yyerror("can't define single method for literals.");
default:
break;
}
@@ -1783,7 +1783,9 @@ nextc()
normalize_newline(v);
while (RSTRING(v)->len >= 2 &&
RSTRING(v)->ptr[RSTRING(v)->len-1] == '\n' &&
- RSTRING(v)->ptr[RSTRING(v)->len-2] == '\\') {
+ RSTRING(v)->ptr[RSTRING(v)->len-2] == '\\' &&
+ (RSTRING(v)->len == 2 ||
+ RSTRING(v)->ptr[RSTRING(v)->len-3] != '\\')) {
VALUE v2 = (*lex_gets)(lex_input);
if (!NIL_P(v2)) {
@@ -2386,8 +2388,7 @@ here_document(term, indent)
case 0:
goto error;
}
- if (lex_lastline != line) {
- line = lex_lastline;
+ if (lex_p != lex_pend) {
goto retry;
}
}
@@ -2460,10 +2461,6 @@ retry:
while ((c = nextc()) != '\n') {
if (c == -1)
return 0;
- if (c == '\\') { /* skip a char */
- c = nextc();
- if (c == '\n') ruby_sourceline++;
- }
if (ismbchar(c)) {
int i, len = mbclen(c)-1;
@@ -2475,8 +2472,12 @@ retry:
}
}
}
- else if (c >= 0x80) {
- if ((c = nextc()) != '\\') {
+ else if (c == ' ') {
+ if ((c = nextc()) == '\\') {
+ c = nextc();
+ if (c == '\n') ruby_sourceline++;
+ }
+ else {
pushback(c);
}
}
diff --git a/process.c b/process.c
index 70f29ea..8a27565 100644
--- a/process.c
+++ b/process.c
@@ -117,7 +117,7 @@ rb_waitpid(pid, flags, st)
}
if (flags) {
- rb_raise(rb_eArgError, "Can't do waitpid with flags");
+ rb_raise(rb_eArgError, "can't do waitpid with flags");
}
for (;;) {
diff --git a/range.c b/range.c
index e3d44a4..30c9996 100644
--- a/range.c
+++ b/range.c
@@ -35,11 +35,10 @@ range_s_new(klass, beg, end)
VALUE klass, beg, end;
{
VALUE obj;
+ VALUE args[2];
+ args[0] = beg; args[1] = end;
if (!FIXNUM_P(beg) || !FIXNUM_P(end)) {
- VALUE args[2];
-
- args[0] = beg; args[1] = end;
rb_rescue(range_check, (VALUE)args, range_failed, 0);
}
@@ -47,7 +46,7 @@ range_s_new(klass, beg, end)
rb_ivar_set(obj, id_beg, beg);
rb_ivar_set(obj, id_end, end);
- rb_obj_call_init(obj);
+ rb_obj_call_init(obj, 2, args);
return obj;
}
diff --git a/re.c b/re.c
index 786e28f..f8c268e 100644
--- a/re.c
+++ b/re.c
@@ -720,7 +720,7 @@ rb_reg_new_1(klass, s, len, options)
if (options & ~0x3) {
kcode_reset_option();
}
- rb_obj_call_init((VALUE)re);
+ rb_obj_call_init((VALUE)re, 0, 0);
return (VALUE)re;
}
diff --git a/regex.c b/regex.c
index d508f67..4a33461 100644
--- a/regex.c
+++ b/regex.c
@@ -17,6 +17,9 @@
Boston, MA 02111-1307, USA. */
/* Multi-byte extension added May, 1993 by t^2 (Takahiro Tanimoto)
Last change: May 21, 1993 by t^2 */
+/* removed gapped buffer support, multiple syntax support by matz <matz@nts.co.jp> */
+/* Perl5 extension added by matz <matz@caelum.co.jp> */
+/* UTF-8 extension added Jan 16 1999 by Yoshida Masato <yoshidam@tau.bekkoame.ne.jp> */
#include "config.h"
#ifdef RUBY_PLATFORM
diff --git a/sample/mine.rb b/sample/mine.rb
index 96af32e..f18d6c6 100644
--- a/sample/mine.rb
+++ b/sample/mine.rb
@@ -143,7 +143,7 @@ bd=Board.new(10,10,10)
system("stty raw -echo")
begin
loop do
- case getc
+ case STDIN.getc
when ?n # new game
bd.reset
when ?m # mark
@@ -163,7 +163,7 @@ begin
break
end
if bd.over?
- if getc == ?q then break end
+ if STDIN.getc == ?q then break end
bd.reset
end
end
diff --git a/signal.c b/signal.c
index b9bc9b2..285cf07 100644
--- a/signal.c
+++ b/signal.c
@@ -200,7 +200,7 @@ rb_f_kill(argc, argv)
sig = FIX2UINT(argv[0]);
if (sig >= NSIG) {
s = rb_id2name(sig);
- if (!s) rb_raise(rb_eArgError, "Bad signal");
+ if (!s) rb_raise(rb_eArgError, "bad signal");
goto str_signal;
}
break;
@@ -216,7 +216,7 @@ rb_f_kill(argc, argv)
if (strncmp("SIG", s, 3) == 0)
s += 3;
if((sig = signm2signo(s)) == 0)
- rb_raise(rb_eArgError, "Unrecognized signal name `%s'", s);
+ rb_raise(rb_eArgError, "unrecognized signal name `%s'", s);
if (negative)
sig = -sig;
@@ -438,13 +438,13 @@ trap(arg)
s += 3;
sig = signm2signo(s);
if (sig == 0 && strcmp(s, "EXIT") != 0)
- rb_raise(rb_eArgError, "Invalid signal SIG%s", s);
+ rb_raise(rb_eArgError, "invalid signal SIG%s", s);
}
else {
sig = NUM2INT(arg->sig);
}
if (sig < 0 || sig > NSIG) {
- rb_raise(rb_eArgError, "Invalid signal no %d", sig);
+ rb_raise(rb_eArgError, "invalid signal number (%d)", sig);
}
#if defined(USE_THREAD) && defined(HAVE_SETITIMER) && !defined(__BOW__)
if (sig == SIGVTALRM) {
diff --git a/string.c b/string.c
index 4ba404d..e8afb55 100644
--- a/string.c
+++ b/string.c
@@ -214,7 +214,7 @@ rb_str_s_new(klass, orig)
if (rb_safe_level() >= 3) {
FL_SET(str, FL_TAINT);
}
- rb_obj_call_init((VALUE)str);
+ rb_obj_call_init((VALUE)str, 1, &orig);
return (VALUE)str;
}
@@ -625,7 +625,7 @@ rb_str_index_method(argc, argv, str)
}
default:
- rb_raise(rb_eTypeError, "Type mismatch: %s given",
+ rb_raise(rb_eTypeError, "type mismatch: %s given",
rb_class2name(CLASS_OF(sub)));
}
@@ -684,7 +684,7 @@ rb_str_rindex(argc, argv, str)
}
default:
- rb_raise(rb_eTypeError, "Type mismatch: %s given",
+ rb_raise(rb_eTypeError, "type mismatch: %s given",
rb_class2name(CLASS_OF(sub)));
}
return Qnil;
@@ -818,7 +818,7 @@ rb_str_aref(str, indx)
return rb_str_subseq(str, beg, end);
}
}
- rb_raise(rb_eIndexError, "Invalid index for string");
+ rb_raise(rb_eIndexError, "invalid index for string");
}
return Qnil; /* not reached */
}
@@ -947,7 +947,7 @@ rb_str_aset(str, indx, val)
return val;
}
}
- rb_raise(rb_eIndexError, "Invalid index for string");
+ rb_raise(rb_eIndexError, "invalid index for string");
}
}
@@ -1019,7 +1019,7 @@ rb_str_sub_bang(argc, argv, str)
repl = rb_obj_as_string(argv[1]);;
}
else {
- rb_raise(rb_eArgError, "Wrong # of arguments(%d for 2)", argc);
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)", argc);
}
pat = get_pat(argv[0]);
@@ -1088,7 +1088,7 @@ rb_str_gsub_bang(argc, argv, str)
repl = rb_obj_as_string(argv[1]);;
}
else {
- rb_raise(rb_eArgError, "Wrong # of arguments(%d for 2)", argc);
+ rb_raise(rb_eArgError, "wrong # of arguments(%d for 2)", argc);
}
pat = get_pat(argv[0]);
diff --git a/struct.c b/struct.c
index 5ed5038..ccdaa3a 100644
--- a/struct.c
+++ b/struct.c
@@ -218,7 +218,7 @@ rb_struct_s_def(argc, argv, klass)
RARRAY(rest)->ptr[i] = INT2FIX(id);
}
st = make_struct(name, rest, klass);
- rb_obj_call_init(st);
+ rb_obj_call_init(st, argc, argv);
return st;
}
@@ -259,7 +259,7 @@ struct_alloc(argc, argv, klass)
st->ptr = ALLOC_N(VALUE, n);
rb_mem_clear(st->ptr, n);
st->len = n;
- rb_obj_call_init2((VALUE)st, argc, argv);
+ rb_obj_call_init((VALUE)st, argc, argv);
return (VALUE)st;
}
diff --git a/time.c b/time.c
index e059273..92981b6 100644
--- a/time.c
+++ b/time.c
@@ -18,9 +18,10 @@
#ifdef HAVE_SYS_TIME_H
# include <sys/time.h>
#else
+#define time_t long
struct timeval {
- long tv_sec; /* seconds */
- long tv_usec; /* and microseconds */
+ time_t tv_sec; /* seconds */
+ time_t tv_usec; /* and microseconds */
};
#endif
#endif /* NT */
@@ -30,9 +31,9 @@ struct timeval {
#endif
#ifdef USE_CWGUSI
-typedef int time_t;
-time_t gettimeofday(struct timeval*, struct timezone*);
-time_t strcasecmp(char*, char*);
+#define time_t long
+int gettimeofday(struct timeval*, struct timezone*);
+int strcasecmp(char*, char*);
#endif
#if 0
@@ -70,7 +71,7 @@ time_s_now(klass)
if (gettimeofday(&(tobj->tv), 0) < 0) {
rb_sys_fail("gettimeofday");
}
- rb_obj_call_init(obj);
+ rb_obj_call_init(obj, 0, 0);
return obj;
}
@@ -120,8 +121,8 @@ rb_time_timeval(time)
case T_FLOAT:
if (RFLOAT(time)->value < 0.0)
rb_raise(rb_eArgError, "time must be positive");
- t.tv_sec = (long)floor(RFLOAT(time)->value);
- t.tv_usec = (long)((RFLOAT(time)->value - t.tv_sec) * 1000000.0);
+ t.tv_sec = (time_t)RFLOAT(time)->value;
+ t.tv_usec = (time_t)((RFLOAT(time)->value - (double)t.tv_sec)*1e6);
break;
case T_BIGNUM:
@@ -133,7 +134,7 @@ rb_time_timeval(time)
default:
if (!rb_obj_is_kind_of(time, rb_cTime)) {
- rb_raise(rb_eTypeError, "Can't convert %s into Time",
+ rb_raise(rb_eTypeError, "can't convert %s into Time",
rb_class2name(CLASS_OF(time)));
}
GetTimeval(time, tobj);
@@ -259,12 +260,14 @@ make_time_t(tptr, fn)
t = tptr->tm_year;
while (diff = t - (tm->tm_year)) {
guess += diff * 364 * 24 * 3600;
+ if (guess < 0) goto too_future;
tm = (*fn)(&guess);
if (!tm) goto error;
}
t = tptr->tm_mon;
while (diff = t - tm->tm_mon) {
guess += diff * 27 * 24 * 3600;
+ if (guess < 0) goto too_future;
tm = (*fn)(&guess);
if (!tm) goto error;
}
@@ -272,10 +275,13 @@ make_time_t(tptr, fn)
guess += (tptr->tm_hour - tm->tm_hour) * 3600;
guess += (tptr->tm_min - tm->tm_min) * 60;
guess += tptr->tm_sec - tm->tm_sec;
- if (guess < 0) rb_raise(rb_eArgError, "too far future");
+ if (guess < 0) goto too_future;
return guess;
+ too_future:
+ rb_raise(rb_eArgError, "too far future");
+
error:
rb_raise(rb_eArgError, "gmtime/localtime error");
return Qnil; /* not reached */
@@ -367,10 +373,13 @@ time_cmp(time1, time2)
{
double t;
- if (tobj1->tv.tv_sec == (long)RFLOAT(time2)->value) return INT2FIX(0);
+ if (tobj1->tv.tv_sec == (time_t)RFLOAT(time2)->value)
+ return INT2FIX(0);
t = (double)tobj1->tv.tv_sec + (double)tobj1->tv.tv_usec*1e-6;
- if (tobj1->tv.tv_sec == RFLOAT(time2)->value) return INT2FIX(0);
- if (tobj1->tv.tv_sec > RFLOAT(time2)->value) return INT2FIX(1);
+ if (tobj1->tv.tv_sec == (time_t)RFLOAT(time2)->value)
+ return INT2FIX(0);
+ if (tobj1->tv.tv_sec > (time_t)RFLOAT(time2)->value)
+ return INT2FIX(1);
return FIX2INT(-1);
}
}
@@ -499,14 +508,19 @@ time_plus(time1, time2)
VALUE time1, time2;
{
struct time_object *tobj1, *tobj2;
- long sec, usec;
+ time_t sec, usec;
double f;
GetTimeval(time1, tobj1);
+#if 0
+ if (rb_obj_is_kind_of(time2, rb_cTime)) {
+ rb_raise(rb_eTypeError, "time + time?");
+ }
+#endif
f = NUM2DBL(time2);
- sec = (long)f;
- usec = tobj1->tv.tv_usec + (long)((f - (double)sec)*1e6);
+ sec = (time_t)f;
+ usec = tobj1->tv.tv_usec + (time_t)((f - (double)sec)*1e6);
sec = tobj1->tv.tv_sec + sec;
if (usec >= 1000000) { /* usec overflow */
@@ -521,7 +535,7 @@ time_minus(time1, time2)
VALUE time1, time2;
{
struct time_object *tobj1, *tobj2;
- long sec, usec;
+ time_t sec, usec;
double f;
GetTimeval(time1, tobj1);
@@ -535,8 +549,8 @@ time_minus(time1, time2)
}
else {
f = NUM2DBL(time2);
- sec = (long)f;
- usec = tobj1->tv.tv_usec - (long)((f - (double)sec)*1e6);
+ sec = (time_t)f;
+ usec = tobj1->tv.tv_usec - (time_t)((f - (double)sec)*1e6);
sec = tobj1->tv.tv_sec - sec;
}
@@ -714,7 +728,7 @@ rb_strftime(buf, format, time)
volatile int size;
int len, flen;
- buf[0] = '\0';
+ (*buf)[0] = '\0';
flen = strlen(format);
if (flen == 0) {
return 0;
@@ -723,7 +737,7 @@ rb_strftime(buf, format, time)
if (len != 0) return len;
for (size=1024; ; size*=2) {
*buf = xmalloc(size);
- buf[0] = '\0';
+ (*buf)[0] = '\0';
len = strftime(*buf, size, format, time);
/*
* buflen can be zero EITHER because there's not enough
@@ -820,87 +834,74 @@ time_dump(argc, argv, time)
{
VALUE dummy;
struct time_object *tobj;
- time_t sec, usec;
struct tm *tm;
- unsigned char buf[11];
+ unsigned long p, s;
+ unsigned char buf[8];
int i;
rb_scan_args(argc, argv, "01", &dummy);
GetTimeval(time, tobj);
- sec = tobj->tv.tv_sec;
- usec = tobj->tv.tv_usec;
-
- tm = gmtime(&sec);
- i = tm->tm_year;
- buf[0] = i & 0xff;
- i = RSHIFT(i, 8);
- buf[1] = i & 0xff;
+ tm = gmtime(&tobj->tv.tv_sec);
- buf[2] = tm->tm_mon;
- buf[3] = tm->tm_mday;
- buf[4] = tm->tm_hour;
- buf[5] = tm->tm_min;
- buf[6] = tm->tm_sec;
+ p = 0x1 << 31 | /* 1 */
+ tm->tm_year << 14 | /* 17 */
+ tm->tm_mon << 10 | /* 4 */
+ tm->tm_mday << 5 | /* 5 */
+ tm->tm_hour; /* 5 */
+ s = tm->tm_min << 26 | /* 6 */
+ tm->tm_sec << 20 | /* 6 */
+ tobj->tv.tv_usec; /* 20 */
- for (i=7; i<11; i++) {
- buf[i] = usec & 0xff;
- usec = RSHIFT(usec, 8);
- }
- return rb_str_new(buf, 11);
-}
-
-static VALUE
-time_old_load(klass, buf)
- VALUE klass;
- unsigned char *buf;
-{
- time_t sec, usec;
- int i;
-
- sec = usec = 0;
for (i=0; i<4; i++) {
- sec |= buf[i]<<(8*i);
+ buf[i] = p & 0xff;
+ p = RSHIFT(p, 8);
}
for (i=4; i<8; i++) {
- usec |= buf[i]<<(8*(i-4));
+ buf[i] = s & 0xff;
+ s = RSHIFT(s, 8);
}
- return time_new_internal(klass, sec, usec);
+ return rb_str_new(buf, 8);
}
static VALUE
time_load(klass, str)
VALUE klass, str;
{
+ unsigned long p, s;
time_t sec, usec;
unsigned char *buf;
struct tm tm;
int i;
buf = str2cstr(str, &i);
- if (i == 8) {
- return time_old_load(klass, buf);
- }
- if (i != 11) {
+ if (i != 8) {
rb_raise(rb_eTypeError, "marshaled time format differ");
}
- tm.tm_year = buf[0];
- tm.tm_year |= buf[1]<<8;
- tm.tm_mon = buf[2];
- tm.tm_mday = buf[3];
- tm.tm_hour = buf[4];
- tm.tm_min = buf[5];
- tm.tm_sec = buf[6];
-
- sec = make_time_t(&tm, gmtime);
-
- usec = 0;
+ p = s = 0;
for (i=0; i<4; i++) {
- usec |= buf[i+7]<<(8*i);
+ p |= buf[i]<<(8*i);
+ }
+ for (i=4; i<8; i++) {
+ s |= buf[i]<<(8*(i-4));
}
+ if ((p & (1<<31)) == 0) {
+ return time_new_internal(klass, sec, usec);
+ }
+ p &= ~(1<<31);
+ tm.tm_year = (p >> 14) & 0x3ffff;
+ tm.tm_mon = (p >> 10) & 0xf;
+ tm.tm_mday = (p >> 5) & 0x1f;
+ tm.tm_hour = p & 0x1f;
+ tm.tm_min = (s >> 26) & 0x3f;
+ tm.tm_sec = (s >> 20) & 0x3f;
+
+ sec = make_time_t(&tm, gmtime);
+ usec = (time_t) s & 0xfffff;
+
return time_new_internal(klass, sec, usec);
}
diff --git a/util.h b/util.h
index f2b66b6..675df9a 100644
--- a/util.h
+++ b/util.h
@@ -36,7 +36,6 @@ void ruby_qsort _((void*, int, int, int (*)()));
#define qsort(b,n,s,c) ruby_qsort(b,n,s,c)
void ruby_setenv _((char*, char*));
-void ruby_setenv2 _((char*, char*));
void ruby_unsetenv _((char*));
#endif /* UTIL_H */
diff --git a/variable.c b/variable.c
index a8322b7..348b4d5 100644
--- a/variable.c
+++ b/variable.c
@@ -246,6 +246,9 @@ char *
rb_class2name(klass)
VALUE klass;
{
+ if (klass == rb_cNilClass) return "nil";
+ if (klass == rb_cTrueClass) return "true";
+ if (klass == rb_cFalseClass) return "false";
return RSTRING(rb_class_path(klass))->ptr;
}
@@ -384,7 +387,7 @@ readonly_setter(val, id, var)
ID id;
void *var;
{
- rb_raise(rb_eNameError, "Can't set variable %s", rb_id2name(id));
+ rb_raise(rb_eNameError, "can't set variable %s", rb_id2name(id));
}
static int
@@ -977,7 +980,7 @@ rb_const_get_at(klass, id)
if (klass == rb_cObject) {
return rb_const_get(klass, id);
}
- rb_raise(rb_eNameError, "Uninitialized constant %s::%s",
+ rb_raise(rb_eNameError, "uninitialized constant %s::%s",
RSTRING(rb_class_path(klass))->ptr,
rb_id2name(id));
return Qnil; /* not reached */
@@ -1020,11 +1023,11 @@ rb_const_get(klass, id)
/* Uninitialized constant */
if (klass && klass != rb_cObject)
- rb_raise(rb_eNameError, "Uninitialized constant %s::%s",
+ rb_raise(rb_eNameError, "uninitialized constant %s::%s",
RSTRING(rb_class_path(klass))->ptr,
rb_id2name(id));
else {
- rb_raise(rb_eNameError, "Uninitialized constant %s",rb_id2name(id));
+ rb_raise(rb_eNameError, "uninitialized constant %s",rb_id2name(id));
}
return Qnil; /* not reached */
}
diff --git a/version.h b/version.h
index c26df65..7d3f771 100644
--- a/version.h
+++ b/version.h
@@ -1,2 +1,2 @@
#define RUBY_VERSION "1.3.1"
-#define VERSION_DATE "99/02/24"
+#define VERSION_DATE "99/02/25"
diff --git a/win32/Makefile b/win32/Makefile
index ce9dbe6..b0d6ffe 100644
--- a/win32/Makefile
+++ b/win32/Makefile
@@ -20,7 +20,7 @@ LDFLAGS = $(CFLAGS) -Fm
#CFLAGS = -nologo -DNT=1 -Zi -MD
#LDFLAGS = $(CFLAGS) -Fm -MD
LIBS = $(EXTLIBS) advapi32.lib wsock32.lib
-MISSING = crypt.obj alloca.obj win32.obj
+MISSING = crypt.obj alloca.obj win32.obj fnmatch.obj isinf.obj isnan.obj
prefix =
binprefix =
@@ -50,7 +50,6 @@ OBJS = array.obj \
error.obj \
eval.obj \
file.obj \
- fnmatch.obj \
gc.obj \
glob.obj \
hash.obj \
@@ -175,6 +174,15 @@ strtol.obj: missing/strtol.c
strtoul.obj: missing/strtoul.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c missing/strtoul.c
+fnmatch.obj: missing/fnmatch.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c missing/fnmatch.c
+
+isinf.obj: missing/isinf.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c missing/isinf.c
+
+isnan.obj: missing/isnan.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c missing/isnan.c
+
# when I use -I., there is confliction at "OpenFile"
# so, set . into environment varible "include"
win32.obj: win32/win32.c
@@ -202,9 +210,8 @@ enum.obj: enum.c ruby.h config.h defines.h
error.obj: error.c ruby.h config.h defines.h env.h
eval.obj: eval.c ruby.h config.h defines.h env.h node.h rubysig.h st.h dln.h
file.obj: file.c ruby.h config.h defines.h rubyio.h rubysig.h
-fnmatch.obj: fnmatch.c config.h fnmatch.h
gc.obj: gc.c ruby.h config.h defines.h env.h rubysig.h st.h node.h re.h regex.h
-glob.obj: glob.c config.h fnmatch.h
+glob.obj: glob.c config.h missing/fnmatch.h
hash.obj: hash.c ruby.h config.h defines.h st.h
inits.obj: inits.c ruby.h config.h defines.h
io.obj: io.c ruby.h config.h defines.h rubyio.h rubysig.h