mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/syck/emitter.c (syck_emitter_flush): accepts count
of bytes to flush. anchor offsets now functional. * ext/syck/syck.h (syck_emitter_flush): ditto. * ext/syck/rubyext.c: ditto. * ext/syck/token.c: URI escaping now supported. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4149 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c37d8b287e
commit
4d859f926a
5 changed files with 247 additions and 116 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
Fri Jul 25 01:27:59 2003 why the lucky stiff <ruby-cvs@whytheluckystiff.net>
|
||||
|
||||
* ext/syck/emitter.c (syck_emitter_flush): accepts count
|
||||
of bytes to flush. anchor offsets now functional.
|
||||
|
||||
* ext/syck/syck.h (syck_emitter_flush): ditto.
|
||||
|
||||
* ext/syck/rubyext.c: ditto.
|
||||
|
||||
* ext/syck/token.c: URI escaping now supported.
|
||||
|
||||
Thu Jul 24 16:41:31 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
|
||||
|
||||
* lib/mkmf.rb (have_type): check if a type is defined.
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
* $Date$
|
||||
*
|
||||
* Copyright (C) 2003 why the lucky stiff
|
||||
*
|
||||
* All Base64 code from Ruby's pack.c.
|
||||
* Ruby is Copyright (C) 1993-2003 Yukihiro Matsumoto
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
@ -148,7 +151,7 @@ syck_emitter_write( SyckEmitter *e, char *str, long len )
|
|||
at = e->marker - e->buffer;
|
||||
if ( len + at > e->bufsize )
|
||||
{
|
||||
syck_emitter_flush( e );
|
||||
syck_emitter_flush( e, 0 );
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -162,8 +165,26 @@ syck_emitter_write( SyckEmitter *e, char *str, long len )
|
|||
* Write a chunk of data out.
|
||||
*/
|
||||
void
|
||||
syck_emitter_flush( SyckEmitter *e )
|
||||
syck_emitter_flush( SyckEmitter *e, long check_room )
|
||||
{
|
||||
/*
|
||||
* Check for enough space in the buffer for check_room length.
|
||||
*/
|
||||
if ( check_room > 0 )
|
||||
{
|
||||
if ( e->bufsize > ( e->marker - e->buffer ) + check_room )
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
check_room = e->bufsize;
|
||||
}
|
||||
|
||||
/*
|
||||
* Determine headers.
|
||||
*/
|
||||
if ( ( e->stage == doc_open && ( e->headless == 0 || e->use_header == 1 ) ) ||
|
||||
e->stage == doc_need_header )
|
||||
{
|
||||
|
@ -181,9 +202,17 @@ syck_emitter_flush( SyckEmitter *e )
|
|||
}
|
||||
e->stage = doc_processing;
|
||||
}
|
||||
(e->handler)( e, e->buffer, e->marker - e->buffer );
|
||||
e->bufpos += e->marker - e->buffer;
|
||||
e->marker = e->buffer;
|
||||
|
||||
/*
|
||||
* Commit buffer.
|
||||
*/
|
||||
if ( check_room > e->marker - e->buffer )
|
||||
{
|
||||
check_room = e->marker - e->buffer;
|
||||
}
|
||||
(e->handler)( e, e->buffer, check_room );
|
||||
e->bufpos += check_room;
|
||||
e->marker -= check_room;
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -202,9 +231,9 @@ syck_emitter_simple( SyckEmitter *e, char *str, long len )
|
|||
int
|
||||
syck_adjust_anchors( char *key, SyckEmitterNode *n, struct adjust_arg *arg )
|
||||
{
|
||||
if ( arg->startpos >= n->pos )
|
||||
if ( arg->startpos < n->pos )
|
||||
{
|
||||
n->pos += arg->offset + 1;
|
||||
n->pos += arg->offset;
|
||||
}
|
||||
return ST_CONTINUE;
|
||||
}
|
||||
|
@ -271,32 +300,37 @@ syck_emitter_start_obj( SyckEmitter *e, SYMID oid )
|
|||
char *start = e->buffer + ( n->pos - e->bufpos );
|
||||
|
||||
char *anc = ( e->anchor_format == NULL ? DEFAULT_ANCHOR_FORMAT : e->anchor_format );
|
||||
char *aname = S_ALLOC_N( char, strlen( anc ) + 10 );
|
||||
S_MEMZERO( aname, char, strlen( anc ) + 10 );
|
||||
sprintf( aname, anc, idx );
|
||||
anchor_name = S_ALLOC_N( char, strlen( anc ) + 10 );
|
||||
S_MEMZERO( anchor_name, char, strlen( anc ) + 10 );
|
||||
sprintf( anchor_name, anc, idx );
|
||||
|
||||
/*
|
||||
* Need to flush the buffer some, if there is not room for the anchor.
|
||||
*/
|
||||
alen = strlen( anchor_name ) + 2;
|
||||
syck_emitter_flush( e, alen );
|
||||
|
||||
/*
|
||||
* Write the anchor into the buffer
|
||||
* FIXME: Need to flush the buffer some, if there is not room for the anchor.
|
||||
*/
|
||||
alen = strlen( aname );
|
||||
S_MEMMOVE( start + alen + 1, start, char, e->marker - start );
|
||||
S_MEMCPY( start + 1, aname, char, alen );
|
||||
S_MEMMOVE( start + alen, start, char, e->marker - start );
|
||||
S_MEMCPY( start + 1, anchor_name, char, strlen( anchor_name ) );
|
||||
start[0] = '&';
|
||||
e->marker += alen + 1;
|
||||
start[alen - 1] = ' ';
|
||||
e->marker += alen;
|
||||
|
||||
/*
|
||||
* Cycle through anchors, modify for the size of the anchor.
|
||||
*/
|
||||
args->startpos = n->pos;
|
||||
args->offset = alen + 1;
|
||||
st_foreach( e->anchors, syck_adjust_anchors, (st_data_t)args );
|
||||
args->offset = alen;
|
||||
st_foreach( e->markers, syck_adjust_anchors, (st_data_t)args );
|
||||
S_FREE( args );
|
||||
|
||||
/*
|
||||
* Insert into anchors table
|
||||
*/
|
||||
st_insert( e->anchors, (st_data_t)oid, (st_data_t)aname );
|
||||
st_insert( e->anchors, (st_data_t)oid, (st_data_t)anchor_name );
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1025,7 +1025,12 @@ rb_syck_output_handler( emitter, str, len )
|
|||
char *str;
|
||||
long len;
|
||||
{
|
||||
rb_str_cat( (VALUE)emitter->bonus, str, len );
|
||||
VALUE dest = (VALUE)emitter->bonus;
|
||||
if ( rb_respond_to( dest, rb_intern("to_str") ) ) {
|
||||
rb_str_cat( dest, str, len );
|
||||
} else {
|
||||
rb_io_write( dest, rb_str_new( str, len ) );
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1035,7 +1040,7 @@ static void
|
|||
syck_mark_emitter(emitter)
|
||||
SyckEmitter *emitter;
|
||||
{
|
||||
rb_gc_mark( emitter->ignore_id );
|
||||
rb_gc_mark(emitter->ignore_id);
|
||||
if ( emitter->bonus != NULL )
|
||||
{
|
||||
rb_gc_mark( (VALUE)emitter->bonus );
|
||||
|
@ -1104,7 +1109,7 @@ syck_emitter_flush_m( self )
|
|||
SyckEmitter *emitter;
|
||||
|
||||
Data_Get_Struct(self, SyckEmitter, emitter);
|
||||
syck_emitter_flush( emitter );
|
||||
syck_emitter_flush( emitter, 0 );
|
||||
return self;
|
||||
}
|
||||
|
||||
|
@ -1171,7 +1176,7 @@ syck_emitter_end_object( self, oid )
|
|||
|
||||
if ( emitter->level < 0 )
|
||||
{
|
||||
syck_emitter_flush( emitter );
|
||||
syck_emitter_flush( emitter, 0 );
|
||||
}
|
||||
return (VALUE)emitter->bonus;
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#define SYCK_YAML_MAJOR 1
|
||||
#define SYCK_YAML_MINOR 0
|
||||
|
||||
#define SYCK_VERSION "0.35"
|
||||
#define SYCK_VERSION "0.38"
|
||||
#define YAML_DOMAIN "yaml.org,2002"
|
||||
|
||||
#include <stdio.h>
|
||||
|
@ -308,7 +308,7 @@ void syck_emitter_handler( SyckEmitter *, SyckOutputHandler );
|
|||
void syck_free_emitter( SyckEmitter * );
|
||||
void syck_emitter_clear( SyckEmitter * );
|
||||
void syck_emitter_write( SyckEmitter *, char *, long );
|
||||
void syck_emitter_flush( SyckEmitter * );
|
||||
void syck_emitter_flush( SyckEmitter *, long );
|
||||
char *syck_emitter_start_obj( SyckEmitter *, SYMID );
|
||||
void syck_emitter_end_obj( SyckEmitter * );
|
||||
SyckParser *syck_new_parser();
|
||||
|
|
265
ext/syck/token.c
265
ext/syck/token.c
|
@ -1,4 +1,4 @@
|
|||
/* Generated by re2c 0.5 on Sun Jun 15 16:14:26 2003 */
|
||||
/* Generated by re2c 0.5 on Thu Jul 24 10:01:15 2003 */
|
||||
#line 1 "token.re"
|
||||
/*
|
||||
* token.re
|
||||
|
@ -1685,7 +1685,7 @@ yy153:
|
|||
}
|
||||
else if ( indt_len < lvl->spaces )
|
||||
{
|
||||
/* Error! */
|
||||
/* FIXME */
|
||||
}
|
||||
|
||||
if ( keep_nl == 1 )
|
||||
|
@ -1880,6 +1880,11 @@ yy175: ++YYCURSOR;
|
|||
|
||||
TransferMethod:
|
||||
{
|
||||
int qidx = 0;
|
||||
int qcapa = 100;
|
||||
char *qstr = S_ALLOC_N( char, qcapa );
|
||||
|
||||
TransferMethod2:
|
||||
YYTOKTMP = YYCURSOR;
|
||||
|
||||
{
|
||||
|
@ -1888,22 +1893,28 @@ TransferMethod:
|
|||
goto yy176;
|
||||
yy177: ++YYCURSOR;
|
||||
yy176:
|
||||
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
||||
if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
|
||||
yych = *YYCURSOR;
|
||||
switch(yych){
|
||||
case '\000': goto yy178;
|
||||
case '\n': goto yy179;
|
||||
case '\r': goto yy182;
|
||||
case ' ': goto yy181;
|
||||
default: goto yy184;
|
||||
case '\\': goto yy184;
|
||||
default: goto yy185;
|
||||
}
|
||||
yy178:yy179: yych = *++YYCURSOR;
|
||||
yy178: YYCURSOR = YYMARKER;
|
||||
switch(yyaccept){
|
||||
case 0: goto yy183;
|
||||
}
|
||||
yy179: yych = *++YYCURSOR;
|
||||
yy180:
|
||||
#line 694
|
||||
#line 699
|
||||
{ SyckLevel *lvl;
|
||||
YYCURSOR = YYTOKTMP;
|
||||
if ( YYCURSOR == YYTOKEN + 1 )
|
||||
{
|
||||
free( qstr );
|
||||
return ITRANSFER;
|
||||
}
|
||||
|
||||
|
@ -1912,62 +1923,132 @@ yy180:
|
|||
/*
|
||||
* URL Prefixing
|
||||
*/
|
||||
if ( *(YYTOKEN + 1) == '^' )
|
||||
if ( *qstr == '^' )
|
||||
{
|
||||
yylval->name = S_ALLOC_N( char, ( YYCURSOR - YYTOKEN ) + strlen( lvl->domain ) );
|
||||
yylval->name = S_ALLOC_N( char, qidx + strlen( lvl->domain ) );
|
||||
yylval->name[0] = '\0';
|
||||
strcat( yylval->name, lvl->domain );
|
||||
strncat( yylval->name, YYTOKEN + 2, ( YYCURSOR - YYTOKEN ) - 2 );
|
||||
strncat( yylval->name, qstr + 1, qidx - 1 );
|
||||
free( qstr );
|
||||
}
|
||||
else
|
||||
{
|
||||
char *carat = YYTOKEN;
|
||||
while ( (++carat) < YYCURSOR )
|
||||
char *carat = qstr;
|
||||
char *qend = qstr + qidx;
|
||||
while ( (++carat) < qend )
|
||||
{
|
||||
if ( *carat == '^' )
|
||||
break;
|
||||
}
|
||||
|
||||
if ( carat < YYCURSOR )
|
||||
if ( carat < qend )
|
||||
{
|
||||
free( lvl->domain );
|
||||
lvl->domain = syck_strndup( YYTOKEN + 1, ( carat - YYTOKEN ) - 1 );
|
||||
yylval->name = S_ALLOC_N( char, ( YYCURSOR - carat ) + strlen( lvl->domain ) );
|
||||
lvl->domain = syck_strndup( qstr, carat - qstr );
|
||||
yylval->name = S_ALLOC_N( char, ( qend - carat ) + strlen( lvl->domain ) );
|
||||
yylval->name[0] = '\0';
|
||||
strcat( yylval->name, lvl->domain );
|
||||
strncat( yylval->name, carat + 1, ( YYCURSOR - carat ) - 1 );
|
||||
strncat( yylval->name, carat + 1, ( qend - carat ) - 1 );
|
||||
free( qstr );
|
||||
}
|
||||
else
|
||||
{
|
||||
yylval->name = syck_strndup( YYTOKEN + 1, ( YYCURSOR - YYTOKEN ) - 1 );
|
||||
yylval->name = qstr;
|
||||
}
|
||||
}
|
||||
|
||||
return TRANSFER;
|
||||
}
|
||||
yy181: yych = *++YYCURSOR;
|
||||
goto yy187;
|
||||
goto yy192;
|
||||
yy182: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy185;
|
||||
case '\n': goto yy190;
|
||||
default: goto yy183;
|
||||
}
|
||||
yy183:
|
||||
#line 740
|
||||
{ goto TransferMethod; }
|
||||
yy184: yych = *++YYCURSOR;
|
||||
goto yy183;
|
||||
#line 761
|
||||
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
|
||||
goto TransferMethod2;
|
||||
}
|
||||
yy184: yyaccept = 0;
|
||||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
switch(yych){
|
||||
case 'x': goto yy186;
|
||||
default: goto yy183;
|
||||
}
|
||||
yy185: yych = *++YYCURSOR;
|
||||
goto yy183;
|
||||
yy186: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '0':
|
||||
case '1':
|
||||
case '2':
|
||||
case '3':
|
||||
case '4':
|
||||
case '5':
|
||||
case '6':
|
||||
case '7':
|
||||
case '8':
|
||||
case '9': case 'A':
|
||||
case 'B':
|
||||
case 'C':
|
||||
case 'D':
|
||||
case 'E':
|
||||
case 'F': case 'a':
|
||||
case 'b':
|
||||
case 'c':
|
||||
case 'd':
|
||||
case 'e':
|
||||
case 'f': goto yy187;
|
||||
default: goto yy178;
|
||||
}
|
||||
yy187: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '0':
|
||||
case '1':
|
||||
case '2':
|
||||
case '3':
|
||||
case '4':
|
||||
case '5':
|
||||
case '6':
|
||||
case '7':
|
||||
case '8':
|
||||
case '9': case 'A':
|
||||
case 'B':
|
||||
case 'C':
|
||||
case 'D':
|
||||
case 'E':
|
||||
case 'F': case 'a':
|
||||
case 'b':
|
||||
case 'c':
|
||||
case 'd':
|
||||
case 'e':
|
||||
case 'f': goto yy188;
|
||||
default: goto yy178;
|
||||
}
|
||||
yy188: yych = *++YYCURSOR;
|
||||
yy189:
|
||||
#line 752
|
||||
{ long ch;
|
||||
char *chr_text = syck_strndup( YYTOKTMP, 4 );
|
||||
chr_text[0] = '0';
|
||||
ch = strtol( chr_text, NULL, 16 );
|
||||
free( chr_text );
|
||||
QUOTECAT(qstr, qcapa, qidx, ch);
|
||||
goto TransferMethod2;
|
||||
}
|
||||
yy190: yych = *++YYCURSOR;
|
||||
goto yy180;
|
||||
yy186: ++YYCURSOR;
|
||||
yy191: ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
yy187: switch(yych){
|
||||
case ' ': goto yy186;
|
||||
yy192: switch(yych){
|
||||
case ' ': goto yy191;
|
||||
default: goto yy180;
|
||||
}
|
||||
}
|
||||
#line 742
|
||||
#line 766
|
||||
|
||||
}
|
||||
|
||||
|
@ -2017,23 +2098,23 @@ ScalarBlock2:
|
|||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept;
|
||||
goto yy188;
|
||||
yy189: ++YYCURSOR;
|
||||
yy188:
|
||||
goto yy193;
|
||||
yy194: ++YYCURSOR;
|
||||
yy193:
|
||||
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
||||
yych = *YYCURSOR;
|
||||
switch(yych){
|
||||
case '\000': goto yy196;
|
||||
case '\n': goto yy190;
|
||||
case '\r': goto yy192;
|
||||
case '#': goto yy194;
|
||||
default: goto yy198;
|
||||
case '\000': goto yy201;
|
||||
case '\n': goto yy195;
|
||||
case '\r': goto yy197;
|
||||
case '#': goto yy199;
|
||||
default: goto yy203;
|
||||
}
|
||||
yy190: yyaccept = 0;
|
||||
yy195: yyaccept = 0;
|
||||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
goto yy200;
|
||||
yy191:
|
||||
#line 790
|
||||
goto yy205;
|
||||
yy196:
|
||||
#line 814
|
||||
{ char *pacer;
|
||||
char *tok = YYTOKTMP;
|
||||
int indt_len = 0, nl_count = 0, fold_nl = 0, nl_begin = 0;
|
||||
|
@ -2099,19 +2180,19 @@ yy191:
|
|||
}
|
||||
goto ScalarBlock2;
|
||||
}
|
||||
yy192: yych = *++YYCURSOR;
|
||||
yy197: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy199;
|
||||
default: goto yy193;
|
||||
case '\n': goto yy204;
|
||||
default: goto yy198;
|
||||
}
|
||||
yy193:
|
||||
#line 876
|
||||
yy198:
|
||||
#line 900
|
||||
{ QUOTECAT(qstr, qcapa, qidx, *YYTOKTMP);
|
||||
goto ScalarBlock2;
|
||||
}
|
||||
yy194: yych = *++YYCURSOR;
|
||||
yy195:
|
||||
#line 857
|
||||
yy199: yych = *++YYCURSOR;
|
||||
yy200:
|
||||
#line 881
|
||||
{ lvl = CURRENT_LEVEL();
|
||||
if ( lvl->status != syck_lvl_block )
|
||||
{
|
||||
|
@ -2124,37 +2205,37 @@ yy195:
|
|||
}
|
||||
goto ScalarBlock2;
|
||||
}
|
||||
yy196: yych = *++YYCURSOR;
|
||||
yy197:
|
||||
#line 871
|
||||
yy201: yych = *++YYCURSOR;
|
||||
yy202:
|
||||
#line 895
|
||||
{ YYCURSOR--;
|
||||
POP_LEVEL();
|
||||
RETURN_BLOCK();
|
||||
}
|
||||
yy198: yych = *++YYCURSOR;
|
||||
goto yy193;
|
||||
yy199: yyaccept = 0;
|
||||
yy203: yych = *++YYCURSOR;
|
||||
goto yy198;
|
||||
yy204: yyaccept = 0;
|
||||
YYMARKER = ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
yy200: switch(yych){
|
||||
case '\n': case ' ': goto yy199;
|
||||
case '\r': goto yy201;
|
||||
default: goto yy191;
|
||||
yy205: switch(yych){
|
||||
case '\n': case ' ': goto yy204;
|
||||
case '\r': goto yy206;
|
||||
default: goto yy196;
|
||||
}
|
||||
yy201: ++YYCURSOR;
|
||||
yy206: ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy199;
|
||||
default: goto yy202;
|
||||
case '\n': goto yy204;
|
||||
default: goto yy207;
|
||||
}
|
||||
yy202: YYCURSOR = YYMARKER;
|
||||
yy207: YYCURSOR = YYMARKER;
|
||||
switch(yyaccept){
|
||||
case 0: goto yy191;
|
||||
case 0: goto yy196;
|
||||
}
|
||||
}
|
||||
#line 881
|
||||
#line 905
|
||||
|
||||
}
|
||||
|
||||
|
@ -2172,60 +2253,60 @@ Comment:
|
|||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept;
|
||||
goto yy203;
|
||||
yy204: ++YYCURSOR;
|
||||
yy203:
|
||||
goto yy208;
|
||||
yy209: ++YYCURSOR;
|
||||
yy208:
|
||||
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
||||
yych = *YYCURSOR;
|
||||
switch(yych){
|
||||
case '\000': goto yy205;
|
||||
case '\n': goto yy207;
|
||||
case '\r': goto yy208;
|
||||
default: goto yy210;
|
||||
case '\000': goto yy210;
|
||||
case '\n': goto yy212;
|
||||
case '\r': goto yy213;
|
||||
default: goto yy215;
|
||||
}
|
||||
yy205: yych = *++YYCURSOR;
|
||||
yy206:
|
||||
#line 897
|
||||
yy210: yych = *++YYCURSOR;
|
||||
yy211:
|
||||
#line 921
|
||||
{ SyckLevel *lvl = CURRENT_LEVEL();
|
||||
YYCURSOR = tok;
|
||||
return;
|
||||
}
|
||||
yy207: yyaccept = 0;
|
||||
yy212: yyaccept = 0;
|
||||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
goto yy212;
|
||||
yy208: yych = *++YYCURSOR;
|
||||
goto yy217;
|
||||
yy213: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy211;
|
||||
default: goto yy209;
|
||||
case '\n': goto yy216;
|
||||
default: goto yy214;
|
||||
}
|
||||
yy209:
|
||||
#line 902
|
||||
yy214:
|
||||
#line 926
|
||||
{ goto Comment;
|
||||
}
|
||||
yy210: yych = *++YYCURSOR;
|
||||
goto yy209;
|
||||
yy211: yyaccept = 0;
|
||||
yy215: yych = *++YYCURSOR;
|
||||
goto yy214;
|
||||
yy216: yyaccept = 0;
|
||||
YYMARKER = ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
yy212: switch(yych){
|
||||
case '\n': goto yy211;
|
||||
case '\r': goto yy213;
|
||||
default: goto yy206;
|
||||
yy217: switch(yych){
|
||||
case '\n': goto yy216;
|
||||
case '\r': goto yy218;
|
||||
default: goto yy211;
|
||||
}
|
||||
yy213: ++YYCURSOR;
|
||||
yy218: ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy211;
|
||||
default: goto yy214;
|
||||
case '\n': goto yy216;
|
||||
default: goto yy219;
|
||||
}
|
||||
yy214: YYCURSOR = YYMARKER;
|
||||
yy219: YYCURSOR = YYMARKER;
|
||||
switch(yyaccept){
|
||||
case 0: goto yy206;
|
||||
case 0: goto yy211;
|
||||
}
|
||||
}
|
||||
#line 905
|
||||
#line 929
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue