* ext/syck/syck.h: Added 'syck' yacc prefixes.
* ext/syck/gram.c: ditto. * ext/syck/token.c: ditto. * ext/syck: Added ruby.h reference to source files. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ea837fc6fe
commit
0a75581a37
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
Mon Jul 28 19:22:08 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
|
||||||
|
|
||||||
|
* ext/syck/syck.h: Added 'syck' yacc prefixes.
|
||||||
|
|
||||||
|
* ext/syck/gram.c: ditto.
|
||||||
|
|
||||||
|
* ext/syck/token.c: ditto.
|
||||||
|
|
||||||
|
* ext/syck: Added ruby.h reference to source files.
|
||||||
|
|
||||||
Tue Jul 29 03:53:28 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
|
Tue Jul 29 03:53:28 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
|
||||||
|
|
||||||
* ext/openssl/lib/net/https.rb (use_ssl=): raise ProtocolError if
|
* ext/openssl/lib/net/https.rb (use_ssl=): raise ProtocolError if
|
||||||
|
@ -13,9 +13,13 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "syck.h"
|
#include "syck.h"
|
||||||
|
#include "ruby.h"
|
||||||
|
|
||||||
#define DEFAULT_ANCHOR_FORMAT "id%03d"
|
#define DEFAULT_ANCHOR_FORMAT "id%03d"
|
||||||
|
|
||||||
|
static char b64_table[] =
|
||||||
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||||
|
|
||||||
struct adjust_arg {
|
struct adjust_arg {
|
||||||
/* Position to start adjusting */
|
/* Position to start adjusting */
|
||||||
long startpos;
|
long startpos;
|
||||||
@ -23,6 +27,85 @@ struct adjust_arg {
|
|||||||
int offset;
|
int offset;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Built-in base64 (from Ruby's pack.c)
|
||||||
|
*/
|
||||||
|
char *
|
||||||
|
syck_base64enc( char *s, long len )
|
||||||
|
{
|
||||||
|
long i = 0;
|
||||||
|
int padding = '=';
|
||||||
|
char *buff = S_ALLOCA_N(char, len * 4 / 3 + 6);
|
||||||
|
|
||||||
|
while (len >= 3) {
|
||||||
|
buff[i++] = b64_table[077 & (*s >> 2)];
|
||||||
|
buff[i++] = b64_table[077 & (((*s << 4) & 060) | ((s[1] >> 4) & 017))];
|
||||||
|
buff[i++] = b64_table[077 & (((s[1] << 2) & 074) | ((s[2] >> 6) & 03))];
|
||||||
|
buff[i++] = b64_table[077 & s[2]];
|
||||||
|
s += 3;
|
||||||
|
len -= 3;
|
||||||
|
}
|
||||||
|
if (len == 2) {
|
||||||
|
buff[i++] = b64_table[077 & (*s >> 2)];
|
||||||
|
buff[i++] = b64_table[077 & (((*s << 4) & 060) | ((s[1] >> 4) & 017))];
|
||||||
|
buff[i++] = b64_table[077 & (((s[1] << 2) & 074) | (('\0' >> 6) & 03))];
|
||||||
|
buff[i++] = padding;
|
||||||
|
}
|
||||||
|
else if (len == 1) {
|
||||||
|
buff[i++] = b64_table[077 & (*s >> 2)];
|
||||||
|
buff[i++] = b64_table[077 & (((*s << 4) & 060) | (('\0' >> 4) & 017))];
|
||||||
|
buff[i++] = padding;
|
||||||
|
buff[i++] = padding;
|
||||||
|
}
|
||||||
|
buff[i++] = '\n';
|
||||||
|
return buff;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *
|
||||||
|
syck_base64dec( char *s, long len )
|
||||||
|
{
|
||||||
|
int a = -1,b = -1,c = 0,d;
|
||||||
|
static int first = 1;
|
||||||
|
static int b64_xtable[256];
|
||||||
|
char *ptr = syck_strndup( s, len );
|
||||||
|
char *end = ptr;
|
||||||
|
char *send = s + len;
|
||||||
|
|
||||||
|
if (first) {
|
||||||
|
int i;
|
||||||
|
first = 0;
|
||||||
|
|
||||||
|
for (i = 0; i < 256; i++) {
|
||||||
|
b64_xtable[i] = -1;
|
||||||
|
}
|
||||||
|
for (i = 0; i < 64; i++) {
|
||||||
|
b64_xtable[(int)b64_table[i]] = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (s < send) {
|
||||||
|
while (s[0] == '\r' || s[0] == '\n') { s++; }
|
||||||
|
if ((a = b64_xtable[(int)s[0]]) == -1) break;
|
||||||
|
if ((b = b64_xtable[(int)s[1]]) == -1) break;
|
||||||
|
if ((c = b64_xtable[(int)s[2]]) == -1) break;
|
||||||
|
if ((d = b64_xtable[(int)s[3]]) == -1) break;
|
||||||
|
*end++ = a << 2 | b >> 4;
|
||||||
|
*end++ = b << 4 | c >> 2;
|
||||||
|
*end++ = c << 6 | d;
|
||||||
|
s += 4;
|
||||||
|
}
|
||||||
|
if (a != -1 && b != -1) {
|
||||||
|
if (s + 2 < send && s[2] == '=')
|
||||||
|
*end++ = a << 2 | b >> 4;
|
||||||
|
if (c != -1 && s + 3 < send && s[3] == '=') {
|
||||||
|
*end++ = a << 2 | b >> 4;
|
||||||
|
*end++ = b << 4 | c >> 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*end = '\0';
|
||||||
|
//RSTRING(buf)->len = ptr - RSTRING(buf)->ptr;
|
||||||
|
return ptr;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Allocate an emitter
|
* Allocate an emitter
|
||||||
*/
|
*/
|
||||||
|
@ -42,6 +42,15 @@
|
|||||||
/* Using locations. */
|
/* Using locations. */
|
||||||
#define YYLSP_NEEDED 0
|
#define YYLSP_NEEDED 0
|
||||||
|
|
||||||
|
/* If NAME_PREFIX is specified substitute the variables and functions
|
||||||
|
names. */
|
||||||
|
#define yyparse syckparse
|
||||||
|
#define yylex sycklex
|
||||||
|
#define yyerror syckerror
|
||||||
|
#define yylval sycklval
|
||||||
|
#define yychar syckchar
|
||||||
|
#define yydebug syckdebug
|
||||||
|
#define yynerrs sycknerrs
|
||||||
|
|
||||||
|
|
||||||
/* Tokens. */
|
/* Tokens. */
|
||||||
@ -88,7 +97,6 @@
|
|||||||
#define YYLEX_PARAM parser
|
#define YYLEX_PARAM parser
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Enabling traces. */
|
/* Enabling traces. */
|
||||||
#ifndef YYDEBUG
|
#ifndef YYDEBUG
|
||||||
# define YYDEBUG 1
|
# define YYDEBUG 1
|
||||||
@ -110,7 +118,7 @@ typedef union {
|
|||||||
char *name;
|
char *name;
|
||||||
} yystype;
|
} yystype;
|
||||||
/* Line 193 of /usr/local/share/bison/yacc.c. */
|
/* Line 193 of /usr/local/share/bison/yacc.c. */
|
||||||
#line 114 "y.tab.c"
|
#line 123 "y.tab.c"
|
||||||
# define YYSTYPE yystype
|
# define YYSTYPE yystype
|
||||||
# define YYSTYPE_IS_TRIVIAL 1
|
# define YYSTYPE_IS_TRIVIAL 1
|
||||||
#endif
|
#endif
|
||||||
@ -128,10 +136,11 @@ typedef struct yyltype
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Copy the second part of user declarations. */
|
/* Copy the second part of user declarations. */
|
||||||
|
int sycklex( YYSTYPE *, SyckParser * );
|
||||||
|
|
||||||
|
|
||||||
/* Line 213 of /usr/local/share/bison/yacc.c. */
|
/* Line 213 of /usr/local/share/bison/yacc.c. */
|
||||||
#line 135 "y.tab.c"
|
#line 144 "y.tab.c"
|
||||||
|
|
||||||
#if ! defined (yyoverflow) || YYERROR_VERBOSE
|
#if ! defined (yyoverflow) || YYERROR_VERBOSE
|
||||||
|
|
||||||
@ -1450,7 +1459,7 @@ yyreduce:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Line 1016 of /usr/local/share/bison/yacc.c. */
|
/* Line 1016 of /usr/local/share/bison/yacc.c. */
|
||||||
#line 1454 "y.tab.c"
|
#line 1463 "y.tab.c"
|
||||||
|
|
||||||
yyvsp -= yylen;
|
yyvsp -= yylen;
|
||||||
yyssp -= yylen;
|
yyssp -= yylen;
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "syck.h"
|
#include "syck.h"
|
||||||
|
#include "ruby.h"
|
||||||
|
|
||||||
SYMID
|
SYMID
|
||||||
syck_hdlr_add_node( SyckParser *p, SyckNode *n )
|
syck_hdlr_add_node( SyckParser *p, SyckNode *n )
|
||||||
@ -100,10 +101,6 @@ syck_hdlr_get_anchor( SyckParser *p, char *a )
|
|||||||
void
|
void
|
||||||
syck_add_transfer( char *uri, SyckNode *n, int taguri )
|
syck_add_transfer( char *uri, SyckNode *n, int taguri )
|
||||||
{
|
{
|
||||||
char *comma = NULL;
|
|
||||||
char *slash = uri;
|
|
||||||
char *domain = NULL;
|
|
||||||
|
|
||||||
if ( n->type_id != NULL )
|
if ( n->type_id != NULL )
|
||||||
{
|
{
|
||||||
S_FREE( n->type_id );
|
S_FREE( n->type_id );
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* Generated by re2c 0.5 on Mon Jun 9 18:21:19 2003 */
|
/* Generated by re2c 0.5 on Mon Jul 28 11:21:48 2003 */
|
||||||
#line 1 "implicit.re"
|
#line 1 "implicit.re"
|
||||||
/*
|
/*
|
||||||
* implicit.re
|
* implicit.re
|
||||||
@ -10,6 +10,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "syck.h"
|
#include "syck.h"
|
||||||
|
#include "ruby.h"
|
||||||
|
|
||||||
#define YYCTYPE char
|
#define YYCTYPE char
|
||||||
#define YYCURSOR cursor
|
#define YYCURSOR cursor
|
||||||
@ -20,7 +21,7 @@
|
|||||||
void
|
void
|
||||||
try_tag_implicit( SyckNode *n, int taguri )
|
try_tag_implicit( SyckNode *n, int taguri )
|
||||||
{
|
{
|
||||||
char *tid;
|
char *tid = "";
|
||||||
switch ( n->kind )
|
switch ( n->kind )
|
||||||
{
|
{
|
||||||
case syck_str_kind:
|
case syck_str_kind:
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "syck.h"
|
#include "syck.h"
|
||||||
|
#include "ruby.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Node allocation functions
|
* Node allocation functions
|
||||||
@ -296,7 +297,6 @@ syck_seq_read( SyckNode *seq, long idx )
|
|||||||
void
|
void
|
||||||
syck_free_members( SyckNode *n )
|
syck_free_members( SyckNode *n )
|
||||||
{
|
{
|
||||||
int i;
|
|
||||||
switch ( n->kind )
|
switch ( n->kind )
|
||||||
{
|
{
|
||||||
case syck_str_kind:
|
case syck_str_kind:
|
||||||
|
@ -37,6 +37,9 @@ typedef struct RVALUE {
|
|||||||
|
|
||||||
#define RUBY_DOMAIN "ruby.yaml.org,2002"
|
#define RUBY_DOMAIN "ruby.yaml.org,2002"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* symbols and constants
|
||||||
|
*/
|
||||||
static ID s_new, s_utc, s_at, s_to_f, s_read, s_binmode, s_call, s_transfer, s_update, s_dup, s_match;
|
static ID s_new, s_utc, s_at, s_to_f, s_read, s_binmode, s_call, s_transfer, s_update, s_dup, s_match;
|
||||||
static VALUE sym_model, sym_generic;
|
static VALUE sym_model, sym_generic;
|
||||||
static VALUE sym_scalar, sym_seq, sym_map;
|
static VALUE sym_scalar, sym_seq, sym_map;
|
||||||
@ -53,6 +56,9 @@ static double S_nan() { return S_zero() / S_zero(); }
|
|||||||
|
|
||||||
static VALUE syck_node_transform( VALUE );
|
static VALUE syck_node_transform( VALUE );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* handler prototypes
|
||||||
|
*/
|
||||||
SYMID rb_syck_parse_handler _((SyckParser *, SyckNode *));
|
SYMID rb_syck_parse_handler _((SyckParser *, SyckNode *));
|
||||||
SYMID rb_syck_load_handler _((SyckParser *, SyckNode *));
|
SYMID rb_syck_load_handler _((SyckParser *, SyckNode *));
|
||||||
void rb_syck_err_handler _((SyckParser *, char *));
|
void rb_syck_err_handler _((SyckParser *, char *));
|
||||||
@ -234,7 +240,7 @@ rb_syck_parse_handler(p, n)
|
|||||||
SyckParser *p;
|
SyckParser *p;
|
||||||
SyckNode *n;
|
SyckNode *n;
|
||||||
{
|
{
|
||||||
VALUE t, v, obj;
|
VALUE t, obj, v = Qnil;
|
||||||
int i;
|
int i;
|
||||||
struct parser_xtra *bonus;
|
struct parser_xtra *bonus;
|
||||||
|
|
||||||
@ -311,9 +317,8 @@ rb_syck_load_handler(p, n)
|
|||||||
SyckParser *p;
|
SyckParser *p;
|
||||||
SyckNode *n;
|
SyckNode *n;
|
||||||
{
|
{
|
||||||
VALUE obj;
|
VALUE obj = Qnil;
|
||||||
long i;
|
long i;
|
||||||
int str = 0;
|
|
||||||
int check_transfers = 0;
|
int check_transfers = 0;
|
||||||
struct parser_xtra *bonus;
|
struct parser_xtra *bonus;
|
||||||
|
|
||||||
@ -511,6 +516,9 @@ rb_syck_err_handler(p, msg)
|
|||||||
p->lineptr);
|
p->lineptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* provide bad anchor object to the parser.
|
||||||
|
*/
|
||||||
SyckNode *
|
SyckNode *
|
||||||
rb_syck_bad_anchor_handler(p, a)
|
rb_syck_bad_anchor_handler(p, a)
|
||||||
SyckParser *p;
|
SyckParser *p;
|
||||||
@ -546,26 +554,8 @@ syck_set_model( parser, model )
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wrap syck_parse().
|
* mark parser nodes
|
||||||
*/
|
*/
|
||||||
static VALUE
|
|
||||||
rb_run_syck_parse(parser)
|
|
||||||
SyckParser *parser;
|
|
||||||
{
|
|
||||||
return syck_parse(parser);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* free parser.
|
|
||||||
*/
|
|
||||||
static VALUE
|
|
||||||
rb_syck_ensure(parser)
|
|
||||||
SyckParser *parser;
|
|
||||||
{
|
|
||||||
syck_free_parser( parser );
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
syck_mark_parser(parser)
|
syck_mark_parser(parser)
|
||||||
SyckParser *parser;
|
SyckParser *parser;
|
||||||
@ -620,7 +610,7 @@ syck_parser_load(argc, argv, self)
|
|||||||
VALUE *argv;
|
VALUE *argv;
|
||||||
VALUE self;
|
VALUE self;
|
||||||
{
|
{
|
||||||
VALUE port, proc, v, model;
|
VALUE port, proc, model;
|
||||||
SyckParser *parser;
|
SyckParser *parser;
|
||||||
struct parser_xtra bonus;
|
struct parser_xtra bonus;
|
||||||
volatile VALUE hash; /* protect from GC */
|
volatile VALUE hash; /* protect from GC */
|
||||||
@ -638,10 +628,6 @@ syck_parser_load(argc, argv, self)
|
|||||||
|
|
||||||
parser->bonus = (void *)&bonus;
|
parser->bonus = (void *)&bonus;
|
||||||
|
|
||||||
#if 0
|
|
||||||
v = rb_ensure(rb_run_syck_parse, (VALUE)&parser, rb_syck_ensure, (VALUE)&parser);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return syck_parse( parser );
|
return syck_parse( parser );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -730,7 +716,7 @@ syck_loader_add_domain_type( argc, argv, self )
|
|||||||
VALUE *argv;
|
VALUE *argv;
|
||||||
VALUE self;
|
VALUE self;
|
||||||
{
|
{
|
||||||
VALUE domain, type_re, proc, families, ruby_yaml_org, domain_types;
|
VALUE domain, type_re, proc;
|
||||||
|
|
||||||
rb_scan_args(argc, argv, "2&", &domain, &type_re, &proc);
|
rb_scan_args(argc, argv, "2&", &domain, &type_re, &proc);
|
||||||
syck_loader_add_type_family( self, domain, type_re, proc );
|
syck_loader_add_type_family( self, domain, type_re, proc );
|
||||||
@ -747,7 +733,7 @@ syck_loader_add_builtin_type( argc, argv, self )
|
|||||||
VALUE *argv;
|
VALUE *argv;
|
||||||
VALUE self;
|
VALUE self;
|
||||||
{
|
{
|
||||||
VALUE type_re, proc, families, ruby_yaml_org, domain_types;
|
VALUE type_re, proc;
|
||||||
|
|
||||||
rb_scan_args(argc, argv, "1&", &type_re, &proc);
|
rb_scan_args(argc, argv, "1&", &type_re, &proc);
|
||||||
syck_loader_add_type_family( self, rb_str_new2( YAML_DOMAIN ), type_re, proc );
|
syck_loader_add_type_family( self, rb_str_new2( YAML_DOMAIN ), type_re, proc );
|
||||||
@ -763,7 +749,7 @@ syck_loader_add_ruby_type( argc, argv, self )
|
|||||||
VALUE *argv;
|
VALUE *argv;
|
||||||
VALUE self;
|
VALUE self;
|
||||||
{
|
{
|
||||||
VALUE type_re, proc, families, ruby_yaml_org, domain_types;
|
VALUE type_re, proc;
|
||||||
|
|
||||||
rb_scan_args(argc, argv, "1&", &type_re, &proc);
|
rb_scan_args(argc, argv, "1&", &type_re, &proc);
|
||||||
syck_loader_add_type_family( self, rb_str_new2( RUBY_DOMAIN ), type_re, proc );
|
syck_loader_add_type_family( self, rb_str_new2( RUBY_DOMAIN ), type_re, proc );
|
||||||
@ -858,7 +844,7 @@ syck_loader_transfer( self, type, val )
|
|||||||
|
|
||||||
if ( taguri != NULL )
|
if ( taguri != NULL )
|
||||||
{
|
{
|
||||||
VALUE scheme, domain, name, type_hash, type_proc = Qnil;
|
VALUE scheme, name, type_hash, domain = Qnil, type_proc = Qnil;
|
||||||
VALUE type_uri = rb_str_new2( taguri );
|
VALUE type_uri = rb_str_new2( taguri );
|
||||||
VALUE str_taguri = rb_str_new2("taguri");
|
VALUE str_taguri = rb_str_new2("taguri");
|
||||||
VALUE str_xprivate = rb_str_new2("x-private");
|
VALUE str_xprivate = rb_str_new2("x-private");
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "syck.h"
|
#include "syck.h"
|
||||||
|
#include "ruby.h"
|
||||||
|
|
||||||
void syck_parser_pop_level( SyckParser * );
|
void syck_parser_pop_level( SyckParser * );
|
||||||
|
|
||||||
@ -44,7 +45,6 @@ syck_strndup( char *buf, long len )
|
|||||||
long
|
long
|
||||||
syck_io_file_read( char *buf, SyckIoFile *file, long max_size, long skip )
|
syck_io_file_read( char *buf, SyckIoFile *file, long max_size, long skip )
|
||||||
{
|
{
|
||||||
char *beg;
|
|
||||||
long len = 0;
|
long len = 0;
|
||||||
|
|
||||||
ASSERT( file != NULL );
|
ASSERT( file != NULL );
|
||||||
@ -233,9 +233,6 @@ syck_st_free( SyckParser *p )
|
|||||||
void
|
void
|
||||||
syck_free_parser( SyckParser *p )
|
syck_free_parser( SyckParser *p )
|
||||||
{
|
{
|
||||||
char *key;
|
|
||||||
SyckNode *node;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Free tables, levels
|
* Free tables, levels
|
||||||
*/
|
*/
|
||||||
@ -477,13 +474,11 @@ syck_parser_readlen( SyckParser *p, long max_size )
|
|||||||
SYMID
|
SYMID
|
||||||
syck_parse( SyckParser *p )
|
syck_parse( SyckParser *p )
|
||||||
{
|
{
|
||||||
char *line;
|
|
||||||
|
|
||||||
ASSERT( p != NULL );
|
ASSERT( p != NULL );
|
||||||
|
|
||||||
syck_st_free( p );
|
syck_st_free( p );
|
||||||
syck_parser_reset_levels( p );
|
syck_parser_reset_levels( p );
|
||||||
yyparse( p );
|
syckparse( p );
|
||||||
return p->root;
|
return p->root;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
#define YAML_DOMAIN "yaml.org,2002"
|
#define YAML_DOMAIN "yaml.org,2002"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <ctype.h>
|
||||||
#include "st.h"
|
#include "st.h"
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
#if defined(__cplusplus)
|
||||||
@ -302,11 +303,14 @@ char *syck_match_implicit( char *, size_t );
|
|||||||
char *syck_strndup( char *, long );
|
char *syck_strndup( char *, long );
|
||||||
long syck_io_file_read( char *, SyckIoFile *, long, long );
|
long syck_io_file_read( char *, SyckIoFile *, long, long );
|
||||||
long syck_io_str_read( char *, SyckIoStr *, long, long );
|
long syck_io_str_read( char *, SyckIoStr *, long, long );
|
||||||
|
char *syck_base64enc( char *, long );
|
||||||
|
char *syck_base64dec( char *, long );
|
||||||
SyckEmitter *syck_new_emitter();
|
SyckEmitter *syck_new_emitter();
|
||||||
void syck_emitter_ignore_id( SyckEmitter *, SYMID );
|
void syck_emitter_ignore_id( SyckEmitter *, SYMID );
|
||||||
void syck_emitter_handler( SyckEmitter *, SyckOutputHandler );
|
void syck_emitter_handler( SyckEmitter *, SyckOutputHandler );
|
||||||
void syck_free_emitter( SyckEmitter * );
|
void syck_free_emitter( SyckEmitter * );
|
||||||
void syck_emitter_clear( SyckEmitter * );
|
void syck_emitter_clear( SyckEmitter * );
|
||||||
|
void syck_emitter_simple( SyckEmitter *, char *, long );
|
||||||
void syck_emitter_write( SyckEmitter *, char *, long );
|
void syck_emitter_write( SyckEmitter *, char *, long );
|
||||||
void syck_emitter_flush( SyckEmitter *, long );
|
void syck_emitter_flush( SyckEmitter *, long );
|
||||||
char *syck_emitter_start_obj( SyckEmitter *, SYMID );
|
char *syck_emitter_start_obj( SyckEmitter *, SYMID );
|
||||||
@ -357,6 +361,12 @@ long syck_seq_count( SyckNode * );
|
|||||||
|
|
||||||
void apply_seq_in_map( SyckParser *, SyckNode * );
|
void apply_seq_in_map( SyckParser *, SyckNode * );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Lexer prototypes
|
||||||
|
*/
|
||||||
|
int syckparse( void * );
|
||||||
|
void syckerror( char *msg );
|
||||||
|
|
||||||
#ifndef ST_DATA_T_DEFINED
|
#ifndef ST_DATA_T_DEFINED
|
||||||
typedef long st_data_t;
|
typedef long st_data_t;
|
||||||
#endif
|
#endif
|
||||||
|
168
ext/syck/token.c
168
ext/syck/token.c
@ -1,4 +1,4 @@
|
|||||||
/* Generated by re2c 0.5 on Thu Jul 24 10:01:15 2003 */
|
/* Generated by re2c 0.5 on Mon Jul 28 11:21:46 2003 */
|
||||||
#line 1 "token.re"
|
#line 1 "token.re"
|
||||||
/*
|
/*
|
||||||
* token.re
|
* token.re
|
||||||
@ -9,6 +9,7 @@
|
|||||||
* Copyright (C) 2003 why the lucky stiff
|
* Copyright (C) 2003 why the lucky stiff
|
||||||
*/
|
*/
|
||||||
#include "syck.h"
|
#include "syck.h"
|
||||||
|
#include "ruby.h"
|
||||||
#include "gram.h"
|
#include "gram.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -49,7 +50,7 @@
|
|||||||
#define CURRENT_LEVEL() syck_parser_current_level( parser )
|
#define CURRENT_LEVEL() syck_parser_current_level( parser )
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Force a token next time around yylex()
|
* Force a token next time around sycklex()
|
||||||
*/
|
*/
|
||||||
#define FORCE_NEXT_TOKEN(tok) parser->force_token = tok;
|
#define FORCE_NEXT_TOKEN(tok) parser->force_token = tok;
|
||||||
|
|
||||||
@ -117,15 +118,14 @@
|
|||||||
*/
|
*/
|
||||||
#define RETURN_IMPLICIT() \
|
#define RETURN_IMPLICIT() \
|
||||||
{ \
|
{ \
|
||||||
SyckLevel *i_lvl = CURRENT_LEVEL(); \
|
|
||||||
SyckNode *n = syck_alloc_str(); \
|
SyckNode *n = syck_alloc_str(); \
|
||||||
YYCURSOR = YYTOKTMP; \
|
YYCURSOR = YYTOKTMP; \
|
||||||
n->data.str->ptr = qstr; \
|
n->data.str->ptr = qstr; \
|
||||||
n->data.str->len = qidx; \
|
n->data.str->len = qidx; \
|
||||||
yylval->nodeData = n; \
|
sycklval->nodeData = n; \
|
||||||
if ( parser->implicit_typing == 1 ) \
|
if ( parser->implicit_typing == 1 ) \
|
||||||
{ \
|
{ \
|
||||||
try_tag_implicit( yylval->nodeData, parser->taguri_expansion ); \
|
try_tag_implicit( sycklval->nodeData, parser->taguri_expansion ); \
|
||||||
} \
|
} \
|
||||||
return PLAIN; \
|
return PLAIN; \
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@
|
|||||||
n->data.str->len = fc - n->data.str->ptr + 1; \
|
n->data.str->len = fc - n->data.str->ptr + 1; \
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
yylval->nodeData = n; \
|
sycklval->nodeData = n; \
|
||||||
return BLOCK; \
|
return BLOCK; \
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -196,7 +196,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Argjh! I hate globals! Here for yyerror() only!
|
* Argjh! I hate globals! Here for syckerror() only!
|
||||||
*/
|
*/
|
||||||
SyckParser *syck_parser_ptr = NULL;
|
SyckParser *syck_parser_ptr = NULL;
|
||||||
|
|
||||||
@ -204,14 +204,16 @@ SyckParser *syck_parser_ptr = NULL;
|
|||||||
* Accessory funcs later in this file.
|
* Accessory funcs later in this file.
|
||||||
*/
|
*/
|
||||||
void eat_comments( SyckParser * );
|
void eat_comments( SyckParser * );
|
||||||
|
int is_newline( char *ptr );
|
||||||
|
int yywrap();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* My own re-entrant yylex() using re2c.
|
* My own re-entrant sycklex() using re2c.
|
||||||
* You really get used to the limited regexp.
|
* You really get used to the limited regexp.
|
||||||
* It's really nice to not rely on backtracking and such.
|
* It's really nice to not rely on backtracking and such.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
yylex( YYSTYPE *yylval, SyckParser *parser )
|
sycklex( YYSTYPE *sycklval, SyckParser *parser )
|
||||||
{
|
{
|
||||||
syck_parser_ptr = parser;
|
syck_parser_ptr = parser;
|
||||||
if ( YYCURSOR == NULL )
|
if ( YYCURSOR == NULL )
|
||||||
@ -226,7 +228,7 @@ yylex( YYSTYPE *yylval, SyckParser *parser )
|
|||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 245
|
#line 246
|
||||||
|
|
||||||
|
|
||||||
if ( YYLINEPTR != YYCURSOR )
|
if ( YYLINEPTR != YYCURSOR )
|
||||||
@ -262,7 +264,7 @@ yy2: yyaccept = 0;
|
|||||||
default: goto yy3;
|
default: goto yy3;
|
||||||
}
|
}
|
||||||
yy3:
|
yy3:
|
||||||
#line 301
|
#line 302
|
||||||
{ YYPOS(0);
|
{ YYPOS(0);
|
||||||
goto Document;
|
goto Document;
|
||||||
}
|
}
|
||||||
@ -274,13 +276,13 @@ yy4: yyaccept = 0;
|
|||||||
}
|
}
|
||||||
yy5: yych = *++YYCURSOR;
|
yy5: yych = *++YYCURSOR;
|
||||||
yy6:
|
yy6:
|
||||||
#line 286
|
#line 287
|
||||||
{ eat_comments( parser );
|
{ eat_comments( parser );
|
||||||
goto Header;
|
goto Header;
|
||||||
}
|
}
|
||||||
yy7: yych = *++YYCURSOR;
|
yy7: yych = *++YYCURSOR;
|
||||||
yy8:
|
yy8:
|
||||||
#line 290
|
#line 291
|
||||||
{ SyckLevel *lvl = CURRENT_LEVEL();
|
{ SyckLevel *lvl = CURRENT_LEVEL();
|
||||||
ENSURE_IEND(lvl, -1);
|
ENSURE_IEND(lvl, -1);
|
||||||
YYPOS(0);
|
YYPOS(0);
|
||||||
@ -290,7 +292,7 @@ yy9: yyaccept = 1;
|
|||||||
yych = *(YYMARKER = ++YYCURSOR);
|
yych = *(YYMARKER = ++YYCURSOR);
|
||||||
goto yy14;
|
goto yy14;
|
||||||
yy10:
|
yy10:
|
||||||
#line 296
|
#line 297
|
||||||
{ int indt_len;
|
{ int indt_len;
|
||||||
GOBBLE_UP_INDENT( indt_len, YYTOKEN );
|
GOBBLE_UP_INDENT( indt_len, YYTOKEN );
|
||||||
goto Header;
|
goto Header;
|
||||||
@ -337,7 +339,7 @@ yy18: yych = *++YYCURSOR;
|
|||||||
}
|
}
|
||||||
yy19: yych = *++YYCURSOR;
|
yy19: yych = *++YYCURSOR;
|
||||||
yy20:
|
yy20:
|
||||||
#line 272
|
#line 273
|
||||||
{ SyckLevel *lvl = CURRENT_LEVEL();
|
{ SyckLevel *lvl = CURRENT_LEVEL();
|
||||||
if ( lvl->status == syck_lvl_header )
|
if ( lvl->status == syck_lvl_header )
|
||||||
{
|
{
|
||||||
@ -377,7 +379,7 @@ yy25: yych = *++YYCURSOR;
|
|||||||
}
|
}
|
||||||
yy26: yych = *++YYCURSOR;
|
yy26: yych = *++YYCURSOR;
|
||||||
yy27:
|
yy27:
|
||||||
#line 258
|
#line 259
|
||||||
{ SyckLevel *lvl = CURRENT_LEVEL();
|
{ SyckLevel *lvl = CURRENT_LEVEL();
|
||||||
if ( lvl->status == syck_lvl_header )
|
if ( lvl->status == syck_lvl_header )
|
||||||
{
|
{
|
||||||
@ -404,7 +406,7 @@ yy30: yych = *++YYCURSOR;
|
|||||||
default: goto yy16;
|
default: goto yy16;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#line 305
|
#line 306
|
||||||
|
|
||||||
|
|
||||||
Document:
|
Document:
|
||||||
@ -447,7 +449,7 @@ yy33: yyaccept = 0;
|
|||||||
yych = *(YYMARKER = ++YYCURSOR);
|
yych = *(YYMARKER = ++YYCURSOR);
|
||||||
goto yy86;
|
goto yy86;
|
||||||
yy34:
|
yy34:
|
||||||
#line 319
|
#line 320
|
||||||
{ /* Isolate spaces */
|
{ /* Isolate spaces */
|
||||||
int indt_len;
|
int indt_len;
|
||||||
GOBBLE_UP_INDENT( indt_len, YYTOKEN );
|
GOBBLE_UP_INDENT( indt_len, YYTOKEN );
|
||||||
@ -468,13 +470,13 @@ yy35: yych = *++YYCURSOR;
|
|||||||
default: goto yy36;
|
default: goto yy36;
|
||||||
}
|
}
|
||||||
yy36:
|
yy36:
|
||||||
#line 406
|
#line 407
|
||||||
{ ENSURE_IOPEN(lvl, 0, 1);
|
{ ENSURE_IOPEN(lvl, 0, 1);
|
||||||
goto Plain;
|
goto Plain;
|
||||||
}
|
}
|
||||||
yy37: yych = *++YYCURSOR;
|
yy37: yych = *++YYCURSOR;
|
||||||
yy38:
|
yy38:
|
||||||
#line 334
|
#line 335
|
||||||
{ ENSURE_IOPEN(lvl, 0, 1);
|
{ ENSURE_IOPEN(lvl, 0, 1);
|
||||||
lvl = CURRENT_LEVEL();
|
lvl = CURRENT_LEVEL();
|
||||||
ADD_LEVEL(lvl->spaces + 1, syck_lvl_inline);
|
ADD_LEVEL(lvl->spaces + 1, syck_lvl_inline);
|
||||||
@ -482,7 +484,7 @@ yy38:
|
|||||||
}
|
}
|
||||||
yy39: yych = *++YYCURSOR;
|
yy39: yych = *++YYCURSOR;
|
||||||
yy40:
|
yy40:
|
||||||
#line 340
|
#line 341
|
||||||
{ POP_LEVEL();
|
{ POP_LEVEL();
|
||||||
return YYTOKEN[0];
|
return YYTOKEN[0];
|
||||||
}
|
}
|
||||||
@ -632,17 +634,17 @@ yy44: yych = *++YYCURSOR;
|
|||||||
}
|
}
|
||||||
yy45: yych = *++YYCURSOR;
|
yy45: yych = *++YYCURSOR;
|
||||||
yy46:
|
yy46:
|
||||||
#line 379
|
#line 380
|
||||||
{ ENSURE_IOPEN(lvl, 0, 1);
|
{ ENSURE_IOPEN(lvl, 0, 1);
|
||||||
goto TransferMethod; }
|
goto TransferMethod; }
|
||||||
yy47: yych = *++YYCURSOR;
|
yy47: yych = *++YYCURSOR;
|
||||||
yy48:
|
yy48:
|
||||||
#line 382
|
#line 383
|
||||||
{ ENSURE_IOPEN(lvl, 0, 1);
|
{ ENSURE_IOPEN(lvl, 0, 1);
|
||||||
goto SingleQuote; }
|
goto SingleQuote; }
|
||||||
yy49: yych = *++YYCURSOR;
|
yy49: yych = *++YYCURSOR;
|
||||||
yy50:
|
yy50:
|
||||||
#line 385
|
#line 386
|
||||||
{ ENSURE_IOPEN(lvl, 0, 1);
|
{ ENSURE_IOPEN(lvl, 0, 1);
|
||||||
goto DoubleQuote; }
|
goto DoubleQuote; }
|
||||||
yy51: yyaccept = 1;
|
yy51: yyaccept = 1;
|
||||||
@ -665,18 +667,18 @@ yy51: yyaccept = 1;
|
|||||||
}
|
}
|
||||||
yy52: yych = *++YYCURSOR;
|
yy52: yych = *++YYCURSOR;
|
||||||
yy53:
|
yy53:
|
||||||
#line 395
|
#line 396
|
||||||
{ eat_comments( parser );
|
{ eat_comments( parser );
|
||||||
goto Document;
|
goto Document;
|
||||||
}
|
}
|
||||||
yy54: yych = *++YYCURSOR;
|
yy54: yych = *++YYCURSOR;
|
||||||
goto yy60;
|
goto yy60;
|
||||||
yy55:
|
yy55:
|
||||||
#line 399
|
#line 400
|
||||||
{ goto Document; }
|
{ goto Document; }
|
||||||
yy56: yych = *++YYCURSOR;
|
yy56: yych = *++YYCURSOR;
|
||||||
yy57:
|
yy57:
|
||||||
#line 401
|
#line 402
|
||||||
{ ENSURE_IEND(lvl, -1);
|
{ ENSURE_IEND(lvl, -1);
|
||||||
YYPOS(0);
|
YYPOS(0);
|
||||||
return 0;
|
return 0;
|
||||||
@ -716,7 +718,7 @@ yy63: YYCURSOR = YYMARKER;
|
|||||||
}
|
}
|
||||||
yy64: yych = *++YYCURSOR;
|
yy64: yych = *++YYCURSOR;
|
||||||
yy65:
|
yy65:
|
||||||
#line 388
|
#line 389
|
||||||
{ if ( is_newline( YYCURSOR - 1 ) )
|
{ if ( is_newline( YYCURSOR - 1 ) )
|
||||||
{
|
{
|
||||||
YYCURSOR--;
|
YYCURSOR--;
|
||||||
@ -802,9 +804,9 @@ yy70: switch(yych){
|
|||||||
default: goto yy71;
|
default: goto yy71;
|
||||||
}
|
}
|
||||||
yy71:
|
yy71:
|
||||||
#line 374
|
#line 375
|
||||||
{ ENSURE_IOPEN(lvl, 0, 1);
|
{ ENSURE_IOPEN(lvl, 0, 1);
|
||||||
yylval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
|
sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
|
||||||
return ALIAS;
|
return ALIAS;
|
||||||
}
|
}
|
||||||
yy72: ++YYCURSOR;
|
yy72: ++YYCURSOR;
|
||||||
@ -874,21 +876,21 @@ yy73: switch(yych){
|
|||||||
default: goto yy74;
|
default: goto yy74;
|
||||||
}
|
}
|
||||||
yy74:
|
yy74:
|
||||||
#line 362
|
#line 363
|
||||||
{ ENSURE_IOPEN(lvl, 0, 1);
|
{ ENSURE_IOPEN(lvl, 0, 1);
|
||||||
yylval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
|
sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Remove previous anchors of the same name. Since the parser will likely
|
* Remove previous anchors of the same name. Since the parser will likely
|
||||||
* construct deeper nodes first, we want those nodes to be placed in the
|
* construct deeper nodes first, we want those nodes to be placed in the
|
||||||
* queue for matching at a higher level of indentation.
|
* queue for matching at a higher level of indentation.
|
||||||
*/
|
*/
|
||||||
syck_hdlr_remove_anchor(parser, yylval->name);
|
syck_hdlr_remove_anchor(parser, sycklval->name);
|
||||||
return ANCHOR;
|
return ANCHOR;
|
||||||
}
|
}
|
||||||
yy75: yych = *++YYCURSOR;
|
yy75: yych = *++YYCURSOR;
|
||||||
yy76:
|
yy76:
|
||||||
#line 348
|
#line 349
|
||||||
{ ENSURE_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1);
|
{ ENSURE_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1);
|
||||||
FORCE_NEXT_TOKEN(IOPEN);
|
FORCE_NEXT_TOKEN(IOPEN);
|
||||||
if ( is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) )
|
if ( is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) )
|
||||||
@ -916,7 +918,7 @@ yy79: yych = *++YYCURSOR;
|
|||||||
}
|
}
|
||||||
yy80: yych = *++YYCURSOR;
|
yy80: yych = *++YYCURSOR;
|
||||||
yy81:
|
yy81:
|
||||||
#line 344
|
#line 345
|
||||||
{ YYPOS(1);
|
{ YYPOS(1);
|
||||||
return YYTOKEN[0];
|
return YYTOKEN[0];
|
||||||
}
|
}
|
||||||
@ -949,7 +951,7 @@ yy87: ++YYCURSOR;
|
|||||||
default: goto yy63;
|
default: goto yy63;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#line 410
|
#line 411
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1056,14 +1058,14 @@ yy91: yyaccept = 0;
|
|||||||
default: goto yy92;
|
default: goto yy92;
|
||||||
}
|
}
|
||||||
yy92:
|
yy92:
|
||||||
#line 423
|
#line 424
|
||||||
{ YYCURSOR = YYTOKTMP;
|
{ YYCURSOR = YYTOKTMP;
|
||||||
return DOCSEP;
|
return DOCSEP;
|
||||||
}
|
}
|
||||||
yy93: yych = *++YYCURSOR;
|
yy93: yych = *++YYCURSOR;
|
||||||
goto yy97;
|
goto yy97;
|
||||||
yy94:
|
yy94:
|
||||||
#line 421
|
#line 422
|
||||||
{ goto Directive; }
|
{ goto Directive; }
|
||||||
yy95: yych = *++YYCURSOR;
|
yy95: yych = *++YYCURSOR;
|
||||||
goto yy92;
|
goto yy92;
|
||||||
@ -1315,10 +1317,10 @@ yy102: switch(yych){
|
|||||||
default: goto yy103;
|
default: goto yy103;
|
||||||
}
|
}
|
||||||
yy103:
|
yy103:
|
||||||
#line 419
|
#line 420
|
||||||
{ goto Directive; }
|
{ goto Directive; }
|
||||||
}
|
}
|
||||||
#line 426
|
#line 427
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1362,7 +1364,7 @@ yy106: yyaccept = 0;
|
|||||||
yych = *(YYMARKER = ++YYCURSOR);
|
yych = *(YYMARKER = ++YYCURSOR);
|
||||||
goto yy132;
|
goto yy132;
|
||||||
yy107:
|
yy107:
|
||||||
#line 449
|
#line 450
|
||||||
{ int indt_len, nl_count = 0;
|
{ int indt_len, nl_count = 0;
|
||||||
SyckLevel *lvl;
|
SyckLevel *lvl;
|
||||||
char *tok = YYTOKTMP;
|
char *tok = YYTOKTMP;
|
||||||
@ -1400,7 +1402,7 @@ yy108: yych = *++YYCURSOR;
|
|||||||
default: goto yy109;
|
default: goto yy109;
|
||||||
}
|
}
|
||||||
yy109:
|
yy109:
|
||||||
#line 503
|
#line 504
|
||||||
{ QUOTECATS(qstr, qcapa, qidx, YYTOKTMP, YYCURSOR - YYTOKTMP);
|
{ QUOTECATS(qstr, qcapa, qidx, YYTOKTMP, YYCURSOR - YYTOKTMP);
|
||||||
goto Plain2;
|
goto Plain2;
|
||||||
}
|
}
|
||||||
@ -1414,7 +1416,7 @@ yy110: yyaccept = 1;
|
|||||||
}
|
}
|
||||||
yy111: yych = *++YYCURSOR;
|
yy111: yych = *++YYCURSOR;
|
||||||
yy112:
|
yy112:
|
||||||
#line 483
|
#line 484
|
||||||
{ if ( plvl->status != syck_lvl_inline )
|
{ if ( plvl->status != syck_lvl_inline )
|
||||||
{
|
{
|
||||||
if ( *(YYCURSOR - 1) == ' ' || is_newline( YYCURSOR - 1 ) )
|
if ( *(YYCURSOR - 1) == ' ' || is_newline( YYCURSOR - 1 ) )
|
||||||
@ -1440,17 +1442,17 @@ yy114: yych = *++YYCURSOR;
|
|||||||
default: goto yy115;
|
default: goto yy115;
|
||||||
}
|
}
|
||||||
yy115:
|
yy115:
|
||||||
#line 501
|
#line 502
|
||||||
{ goto Plain3; }
|
{ goto Plain3; }
|
||||||
yy116: yych = *++YYCURSOR;
|
yy116: yych = *++YYCURSOR;
|
||||||
yy117:
|
yy117:
|
||||||
#line 499
|
#line 500
|
||||||
{ RETURN_IMPLICIT(); }
|
{ RETURN_IMPLICIT(); }
|
||||||
yy118: yych = *++YYCURSOR;
|
yy118: yych = *++YYCURSOR;
|
||||||
goto yy109;
|
goto yy109;
|
||||||
yy119: yych = *++YYCURSOR;
|
yy119: yych = *++YYCURSOR;
|
||||||
yy120:
|
yy120:
|
||||||
#line 495
|
#line 496
|
||||||
{ eat_comments( parser );
|
{ eat_comments( parser );
|
||||||
RETURN_IMPLICIT();
|
RETURN_IMPLICIT();
|
||||||
}
|
}
|
||||||
@ -1475,7 +1477,7 @@ yy125: YYCURSOR = YYMARKER;
|
|||||||
}
|
}
|
||||||
yy126: yych = *++YYCURSOR;
|
yy126: yych = *++YYCURSOR;
|
||||||
yy127:
|
yy127:
|
||||||
#line 481
|
#line 482
|
||||||
{ RETURN_IMPLICIT(); }
|
{ RETURN_IMPLICIT(); }
|
||||||
yy128: ++YYCURSOR;
|
yy128: ++YYCURSOR;
|
||||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||||
@ -1506,7 +1508,7 @@ yy133: ++YYCURSOR;
|
|||||||
default: goto yy125;
|
default: goto yy125;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#line 507
|
#line 508
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1538,7 +1540,7 @@ yy136: yyaccept = 0;
|
|||||||
yych = *(YYMARKER = ++YYCURSOR);
|
yych = *(YYMARKER = ++YYCURSOR);
|
||||||
goto yy147;
|
goto yy147;
|
||||||
yy137:
|
yy137:
|
||||||
#line 521
|
#line 522
|
||||||
{ int indt_len;
|
{ int indt_len;
|
||||||
int nl_count = 0;
|
int nl_count = 0;
|
||||||
SyckLevel *lvl;
|
SyckLevel *lvl;
|
||||||
@ -1580,7 +1582,7 @@ yy138: yych = *++YYCURSOR;
|
|||||||
default: goto yy139;
|
default: goto yy139;
|
||||||
}
|
}
|
||||||
yy139:
|
yy139:
|
||||||
#line 575
|
#line 576
|
||||||
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
|
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
|
||||||
goto SingleQuote2;
|
goto SingleQuote2;
|
||||||
}
|
}
|
||||||
@ -1590,7 +1592,7 @@ yy140: yych = *++YYCURSOR;
|
|||||||
default: goto yy141;
|
default: goto yy141;
|
||||||
}
|
}
|
||||||
yy141:
|
yy141:
|
||||||
#line 561
|
#line 562
|
||||||
{ SyckLevel *lvl;
|
{ SyckLevel *lvl;
|
||||||
SyckNode *n = syck_alloc_str();
|
SyckNode *n = syck_alloc_str();
|
||||||
lvl = CURRENT_LEVEL();
|
lvl = CURRENT_LEVEL();
|
||||||
@ -1601,7 +1603,7 @@ yy141:
|
|||||||
}
|
}
|
||||||
n->data.str->ptr = qstr;
|
n->data.str->ptr = qstr;
|
||||||
n->data.str->len = qidx;
|
n->data.str->len = qidx;
|
||||||
yylval->nodeData = n;
|
sycklval->nodeData = n;
|
||||||
return PLAIN;
|
return PLAIN;
|
||||||
}
|
}
|
||||||
yy142: yych = *++YYCURSOR;
|
yy142: yych = *++YYCURSOR;
|
||||||
@ -1610,7 +1612,7 @@ yy143: yych = *++YYCURSOR;
|
|||||||
goto yy139;
|
goto yy139;
|
||||||
yy144: yych = *++YYCURSOR;
|
yy144: yych = *++YYCURSOR;
|
||||||
yy145:
|
yy145:
|
||||||
#line 557
|
#line 558
|
||||||
{ QUOTECAT(qstr, qcapa, qidx, '\'');
|
{ QUOTECAT(qstr, qcapa, qidx, '\'');
|
||||||
goto SingleQuote2;
|
goto SingleQuote2;
|
||||||
}
|
}
|
||||||
@ -1635,7 +1637,7 @@ yy149: YYCURSOR = YYMARKER;
|
|||||||
case 0: goto yy137;
|
case 0: goto yy137;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#line 579
|
#line 580
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1672,7 +1674,7 @@ yy152: yyaccept = 0;
|
|||||||
yych = *(YYMARKER = ++YYCURSOR);
|
yych = *(YYMARKER = ++YYCURSOR);
|
||||||
goto yy174;
|
goto yy174;
|
||||||
yy153:
|
yy153:
|
||||||
#line 597
|
#line 598
|
||||||
{ int indt_len;
|
{ int indt_len;
|
||||||
int nl_count = 0;
|
int nl_count = 0;
|
||||||
SyckLevel *lvl;
|
SyckLevel *lvl;
|
||||||
@ -1718,7 +1720,7 @@ yy154: yych = *++YYCURSOR;
|
|||||||
default: goto yy155;
|
default: goto yy155;
|
||||||
}
|
}
|
||||||
yy155:
|
yy155:
|
||||||
#line 681
|
#line 682
|
||||||
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
|
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
|
||||||
goto DoubleQuote2;
|
goto DoubleQuote2;
|
||||||
}
|
}
|
||||||
@ -1736,7 +1738,7 @@ yy156: yyaccept = 1;
|
|||||||
}
|
}
|
||||||
yy157: yych = *++YYCURSOR;
|
yy157: yych = *++YYCURSOR;
|
||||||
yy158:
|
yy158:
|
||||||
#line 667
|
#line 668
|
||||||
{ SyckLevel *lvl;
|
{ SyckLevel *lvl;
|
||||||
SyckNode *n = syck_alloc_str();
|
SyckNode *n = syck_alloc_str();
|
||||||
lvl = CURRENT_LEVEL();
|
lvl = CURRENT_LEVEL();
|
||||||
@ -1747,7 +1749,7 @@ yy158:
|
|||||||
}
|
}
|
||||||
n->data.str->ptr = qstr;
|
n->data.str->ptr = qstr;
|
||||||
n->data.str->len = qidx;
|
n->data.str->len = qidx;
|
||||||
yylval->nodeData = n;
|
sycklval->nodeData = n;
|
||||||
return PLAIN;
|
return PLAIN;
|
||||||
}
|
}
|
||||||
yy159: yych = *++YYCURSOR;
|
yy159: yych = *++YYCURSOR;
|
||||||
@ -1770,7 +1772,7 @@ yy163: YYCURSOR = YYMARKER;
|
|||||||
}
|
}
|
||||||
yy164: yych = *++YYCURSOR;
|
yy164: yych = *++YYCURSOR;
|
||||||
yy165:
|
yy165:
|
||||||
#line 662
|
#line 663
|
||||||
{ keep_nl = 0;
|
{ keep_nl = 0;
|
||||||
YYCURSOR--;
|
YYCURSOR--;
|
||||||
goto DoubleQuote2;
|
goto DoubleQuote2;
|
||||||
@ -1806,7 +1808,7 @@ yy167: yych = *++YYCURSOR;
|
|||||||
}
|
}
|
||||||
yy168: yych = *++YYCURSOR;
|
yy168: yych = *++YYCURSOR;
|
||||||
yy169:
|
yy169:
|
||||||
#line 637
|
#line 638
|
||||||
{ char ch = *( YYCURSOR - 1 );
|
{ char ch = *( YYCURSOR - 1 );
|
||||||
switch ( ch )
|
switch ( ch )
|
||||||
{
|
{
|
||||||
@ -1848,7 +1850,7 @@ yy170: yych = *++YYCURSOR;
|
|||||||
}
|
}
|
||||||
yy171: yych = *++YYCURSOR;
|
yy171: yych = *++YYCURSOR;
|
||||||
yy172:
|
yy172:
|
||||||
#line 653
|
#line 654
|
||||||
{ long ch;
|
{ long ch;
|
||||||
char *chr_text = syck_strndup( YYTOKTMP, 4 );
|
char *chr_text = syck_strndup( YYTOKTMP, 4 );
|
||||||
chr_text[0] = '0';
|
chr_text[0] = '0';
|
||||||
@ -1874,7 +1876,7 @@ yy175: ++YYCURSOR;
|
|||||||
default: goto yy163;
|
default: goto yy163;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#line 685
|
#line 686
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1909,7 +1911,7 @@ yy178: YYCURSOR = YYMARKER;
|
|||||||
}
|
}
|
||||||
yy179: yych = *++YYCURSOR;
|
yy179: yych = *++YYCURSOR;
|
||||||
yy180:
|
yy180:
|
||||||
#line 699
|
#line 700
|
||||||
{ SyckLevel *lvl;
|
{ SyckLevel *lvl;
|
||||||
YYCURSOR = YYTOKTMP;
|
YYCURSOR = YYTOKTMP;
|
||||||
if ( YYCURSOR == YYTOKEN + 1 )
|
if ( YYCURSOR == YYTOKEN + 1 )
|
||||||
@ -1925,10 +1927,10 @@ yy180:
|
|||||||
*/
|
*/
|
||||||
if ( *qstr == '^' )
|
if ( *qstr == '^' )
|
||||||
{
|
{
|
||||||
yylval->name = S_ALLOC_N( char, qidx + strlen( lvl->domain ) );
|
sycklval->name = S_ALLOC_N( char, qidx + strlen( lvl->domain ) );
|
||||||
yylval->name[0] = '\0';
|
sycklval->name[0] = '\0';
|
||||||
strcat( yylval->name, lvl->domain );
|
strcat( sycklval->name, lvl->domain );
|
||||||
strncat( yylval->name, qstr + 1, qidx - 1 );
|
strncat( sycklval->name, qstr + 1, qidx - 1 );
|
||||||
free( qstr );
|
free( qstr );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1945,15 +1947,15 @@ yy180:
|
|||||||
{
|
{
|
||||||
free( lvl->domain );
|
free( lvl->domain );
|
||||||
lvl->domain = syck_strndup( qstr, carat - qstr );
|
lvl->domain = syck_strndup( qstr, carat - qstr );
|
||||||
yylval->name = S_ALLOC_N( char, ( qend - carat ) + strlen( lvl->domain ) );
|
sycklval->name = S_ALLOC_N( char, ( qend - carat ) + strlen( lvl->domain ) );
|
||||||
yylval->name[0] = '\0';
|
sycklval->name[0] = '\0';
|
||||||
strcat( yylval->name, lvl->domain );
|
strcat( sycklval->name, lvl->domain );
|
||||||
strncat( yylval->name, carat + 1, ( qend - carat ) - 1 );
|
strncat( sycklval->name, carat + 1, ( qend - carat ) - 1 );
|
||||||
free( qstr );
|
free( qstr );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
yylval->name = qstr;
|
sycklval->name = qstr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1967,7 +1969,7 @@ yy182: yych = *++YYCURSOR;
|
|||||||
default: goto yy183;
|
default: goto yy183;
|
||||||
}
|
}
|
||||||
yy183:
|
yy183:
|
||||||
#line 761
|
#line 762
|
||||||
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
|
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
|
||||||
goto TransferMethod2;
|
goto TransferMethod2;
|
||||||
}
|
}
|
||||||
@ -2029,7 +2031,7 @@ yy187: yych = *++YYCURSOR;
|
|||||||
}
|
}
|
||||||
yy188: yych = *++YYCURSOR;
|
yy188: yych = *++YYCURSOR;
|
||||||
yy189:
|
yy189:
|
||||||
#line 752
|
#line 753
|
||||||
{ long ch;
|
{ long ch;
|
||||||
char *chr_text = syck_strndup( YYTOKTMP, 4 );
|
char *chr_text = syck_strndup( YYTOKTMP, 4 );
|
||||||
chr_text[0] = '0';
|
chr_text[0] = '0';
|
||||||
@ -2048,13 +2050,12 @@ yy192: switch(yych){
|
|||||||
default: goto yy180;
|
default: goto yy180;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#line 766
|
#line 767
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ScalarBlock:
|
ScalarBlock:
|
||||||
{
|
{
|
||||||
int keep_nl = 1;
|
|
||||||
int qidx = 0;
|
int qidx = 0;
|
||||||
int qcapa = 100;
|
int qcapa = 100;
|
||||||
char *qstr = S_ALLOC_N( char, qcapa );
|
char *qstr = S_ALLOC_N( char, qcapa );
|
||||||
@ -2239,6 +2240,8 @@ yy207: YYCURSOR = YYMARKER;
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -2266,9 +2269,8 @@ yy208:
|
|||||||
}
|
}
|
||||||
yy210: yych = *++YYCURSOR;
|
yy210: yych = *++YYCURSOR;
|
||||||
yy211:
|
yy211:
|
||||||
#line 921
|
#line 923
|
||||||
{ SyckLevel *lvl = CURRENT_LEVEL();
|
{ YYCURSOR = tok;
|
||||||
YYCURSOR = tok;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
yy212: yyaccept = 0;
|
yy212: yyaccept = 0;
|
||||||
@ -2280,7 +2282,7 @@ yy213: yych = *++YYCURSOR;
|
|||||||
default: goto yy214;
|
default: goto yy214;
|
||||||
}
|
}
|
||||||
yy214:
|
yy214:
|
||||||
#line 926
|
#line 927
|
||||||
{ goto Comment;
|
{ goto Comment;
|
||||||
}
|
}
|
||||||
yy215: yych = *++YYCURSOR;
|
yy215: yych = *++YYCURSOR;
|
||||||
@ -2306,7 +2308,7 @@ yy219: YYCURSOR = YYMARKER;
|
|||||||
case 0: goto yy211;
|
case 0: goto yy211;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#line 929
|
#line 930
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -2326,13 +2328,13 @@ is_newline( char *ptr )
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
yywrap()
|
syckwrap()
|
||||||
{
|
{
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
yyerror( char *msg )
|
syckerror( char *msg )
|
||||||
{
|
{
|
||||||
if ( syck_parser_ptr->error_handler == NULL )
|
if ( syck_parser_ptr->error_handler == NULL )
|
||||||
syck_parser_ptr->error_handler = syck_default_error_handler;
|
syck_parser_ptr->error_handler = syck_default_error_handler;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user