зеркало из https://github.com/github/ruby.git
* lib/yaml/rubytypes.rb: passing Range tests.
* ext/syck/syck.h: version 0.44. * ext/syck/gram.c: transfers no longer open an indentation. fixed transfers which precede blocks. * ext/syck/token.c: ditto. * ext/syck/syck.c: fixed segfault if an anchor has been released already. * ext/syck/node.c (syck_free_members): organized order of free'd nodes. * ext/syck/rubyext.c (syck_emitter_write_m): test for proper string with StringValue. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
10b598499b
Коммит
a7524e343c
18
ChangeLog
18
ChangeLog
|
@ -1,3 +1,21 @@
|
|||
Tue Apr 27 08:15:13 2004 why the lucky stiff <why@ruby-lang.org>
|
||||
|
||||
* lib/yaml/rubytypes.rb: passing Range tests.
|
||||
|
||||
* ext/syck/syck.h: version 0.44.
|
||||
|
||||
* ext/syck/gram.c: transfers no longer open an indentation.
|
||||
fixed transfers which precede blocks.
|
||||
|
||||
* ext/syck/token.c: ditto.
|
||||
|
||||
* ext/syck/syck.c: fixed segfault if an anchor has been released already.
|
||||
|
||||
* ext/syck/node.c (syck_free_members): organized order of free'd nodes.
|
||||
|
||||
* ext/syck/rubyext.c (syck_emitter_write_m): test for proper string with
|
||||
StringValue.
|
||||
|
||||
Mon Apr 26 23:56:54 2004 Daniel Kelley <news-1082945587@dkelley.gmp.san-jose.ca.us>
|
||||
|
||||
* README.EXT, README.EXT.ja: fixed wrong function signature.
|
||||
|
|
369
ext/syck/gram.c
369
ext/syck/gram.c
|
@ -250,7 +250,7 @@ union yyalloc
|
|||
|
||||
/* YYFINAL -- State number of the termination state. */
|
||||
#define YYFINAL 43
|
||||
#define YYLAST 436
|
||||
#define YYLAST 486
|
||||
|
||||
/* YYNTOKENS -- Number of terminals. */
|
||||
#define YYNTOKENS 23
|
||||
|
@ -259,7 +259,7 @@ union yyalloc
|
|||
/* YYNRULES -- Number of rules. */
|
||||
#define YYNRULES 75
|
||||
/* YYNRULES -- Number of states. */
|
||||
#define YYNSTATES 128
|
||||
#define YYNSTATES 132
|
||||
|
||||
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
|
||||
#define YYUNDEFTOK 2
|
||||
|
@ -306,8 +306,8 @@ static const unsigned char yytranslate[] =
|
|||
static const unsigned char yyprhs[] =
|
||||
{
|
||||
0, 0, 3, 5, 8, 9, 11, 13, 15, 19,
|
||||
21, 24, 28, 32, 34, 37, 38, 40, 43, 45,
|
||||
47, 49, 52, 55, 58, 61, 64, 66, 68, 70,
|
||||
21, 24, 28, 30, 33, 34, 36, 39, 41, 43,
|
||||
45, 48, 51, 54, 57, 60, 62, 64, 66, 70,
|
||||
73, 76, 78, 80, 82, 84, 86, 90, 93, 95,
|
||||
99, 102, 106, 109, 113, 116, 118, 122, 125, 129,
|
||||
132, 134, 138, 140, 142, 146, 150, 154, 157, 161,
|
||||
|
@ -320,11 +320,11 @@ static const yysigned_char yyrhs[] =
|
|||
{
|
||||
24, 0, -1, 26, -1, 11, 28, -1, -1, 33,
|
||||
-1, 27, -1, 34, -1, 29, 26, 32, -1, 34,
|
||||
-1, 3, 27, -1, 29, 33, 32, -1, 29, 27,
|
||||
32, -1, 25, -1, 29, 30, -1, -1, 12, -1,
|
||||
29, 13, -1, 14, -1, 13, -1, 14, -1, 31,
|
||||
32, -1, 5, 33, -1, 6, 33, -1, 7, 33,
|
||||
-1, 3, 33, -1, 4, -1, 8, -1, 9, -1,
|
||||
-1, 3, 27, -1, 29, 27, 32, -1, 25, -1,
|
||||
29, 30, -1, -1, 12, -1, 29, 13, -1, 14,
|
||||
-1, 13, -1, 14, -1, 31, 32, -1, 5, 33,
|
||||
-1, 6, 33, -1, 7, 33, -1, 3, 33, -1,
|
||||
4, -1, 8, -1, 9, -1, 29, 33, 32, -1,
|
||||
5, 34, -1, 6, 34, -1, 10, -1, 35, -1,
|
||||
39, -1, 42, -1, 48, -1, 29, 37, 30, -1,
|
||||
15, 28, -1, 38, -1, 5, 31, 37, -1, 5,
|
||||
|
@ -346,13 +346,13 @@ static const yysigned_char yyrhs[] =
|
|||
static const unsigned short yyrline[] =
|
||||
{
|
||||
0, 54, 54, 58, 62, 68, 69, 72, 73, 79,
|
||||
80, 89, 93, 99, 100, 105, 115, 116, 119, 122,
|
||||
125, 126, 134, 139, 144, 152, 156, 164, 177, 184,
|
||||
80, 89, 95, 96, 101, 111, 112, 115, 118, 121,
|
||||
122, 130, 135, 140, 148, 152, 160, 173, 174, 184,
|
||||
189, 194, 195, 196, 197, 198, 204, 210, 216, 217,
|
||||
222, 227, 232, 237, 241, 247, 251, 256, 265, 269,
|
||||
275, 279, 286, 287, 293, 298, 305, 310, 315, 320,
|
||||
325, 329, 335, 350, 351, 369, 370, 382, 389, 398,
|
||||
406, 410, 416, 417, 425, 432
|
||||
325, 329, 335, 350, 351, 369, 370, 382, 390, 399,
|
||||
407, 411, 417, 418, 427, 434
|
||||
};
|
||||
#endif
|
||||
|
||||
|
@ -390,8 +390,8 @@ static const unsigned short yytoknum[] =
|
|||
static const unsigned char yyr1[] =
|
||||
{
|
||||
0, 23, 24, 24, 24, 25, 25, 26, 26, 27,
|
||||
27, 27, 27, 28, 28, 28, 29, 29, 30, 31,
|
||||
32, 32, 33, 33, 33, 33, 33, 33, 33, 34,
|
||||
27, 27, 28, 28, 28, 29, 29, 30, 31, 32,
|
||||
32, 33, 33, 33, 33, 33, 33, 33, 33, 34,
|
||||
34, 34, 34, 34, 34, 34, 35, 36, 37, 37,
|
||||
37, 37, 37, 37, 37, 38, 38, 38, 39, 39,
|
||||
40, 40, 41, 41, 42, 42, 43, 43, 43, 43,
|
||||
|
@ -403,8 +403,8 @@ static const unsigned char yyr1[] =
|
|||
static const unsigned char yyr2[] =
|
||||
{
|
||||
0, 2, 1, 2, 0, 1, 1, 1, 3, 1,
|
||||
2, 3, 3, 1, 2, 0, 1, 2, 1, 1,
|
||||
1, 2, 2, 2, 2, 2, 1, 1, 1, 2,
|
||||
2, 3, 1, 2, 0, 1, 2, 1, 1, 1,
|
||||
2, 2, 2, 2, 2, 1, 1, 1, 3, 2,
|
||||
2, 1, 1, 1, 1, 1, 3, 2, 1, 3,
|
||||
2, 3, 2, 3, 2, 1, 3, 2, 3, 2,
|
||||
1, 3, 1, 1, 3, 3, 3, 2, 3, 2,
|
||||
|
@ -417,55 +417,57 @@ static const unsigned char yyr2[] =
|
|||
means the default is an error. */
|
||||
static const unsigned char yydefact[] =
|
||||
{
|
||||
4, 0, 0, 31, 15, 16, 0, 0, 0, 2,
|
||||
4, 0, 0, 31, 14, 15, 0, 0, 0, 2,
|
||||
0, 7, 32, 33, 34, 35, 0, 29, 30, 0,
|
||||
26, 0, 0, 0, 27, 28, 13, 6, 3, 0,
|
||||
25, 0, 0, 0, 26, 27, 12, 6, 3, 0,
|
||||
5, 9, 49, 52, 0, 0, 50, 53, 71, 74,
|
||||
75, 0, 72, 1, 0, 0, 0, 17, 15, 0,
|
||||
0, 0, 45, 0, 38, 0, 63, 65, 0, 0,
|
||||
0, 10, 25, 0, 22, 23, 0, 0, 24, 0,
|
||||
18, 0, 14, 0, 15, 48, 0, 70, 0, 19,
|
||||
0, 44, 61, 0, 40, 57, 0, 42, 59, 37,
|
||||
0, 20, 0, 8, 15, 36, 47, 54, 55, 68,
|
||||
12, 11, 69, 51, 73, 0, 0, 0, 43, 60,
|
||||
39, 56, 41, 58, 0, 21, 62, 46, 66, 67,
|
||||
0, 0, 0, 15, 0, 0, 0, 64
|
||||
75, 0, 72, 1, 0, 0, 0, 16, 14, 0,
|
||||
0, 0, 0, 45, 0, 38, 0, 63, 65, 0,
|
||||
0, 0, 0, 10, 24, 0, 0, 21, 22, 0,
|
||||
0, 23, 0, 17, 0, 13, 0, 14, 48, 0,
|
||||
70, 0, 18, 0, 44, 61, 0, 40, 57, 0,
|
||||
42, 59, 37, 0, 19, 0, 8, 14, 36, 47,
|
||||
54, 55, 68, 0, 11, 28, 69, 51, 73, 0,
|
||||
0, 0, 43, 60, 39, 56, 41, 58, 0, 20,
|
||||
62, 46, 66, 67, 0, 0, 0, 14, 0, 0,
|
||||
0, 64
|
||||
};
|
||||
|
||||
/* YYDEFGOTO[NTERM-NUM]. */
|
||||
static const yysigned_char yydefgoto[] =
|
||||
{
|
||||
-1, 8, 26, 9, 27, 28, 34, 72, 92, 93,
|
||||
30, 31, 12, 52, 53, 54, 13, 35, 36, 14,
|
||||
55, 56, 57, 58, 37, 15, 41, 42
|
||||
-1, 8, 26, 50, 27, 28, 62, 75, 95, 105,
|
||||
30, 31, 12, 53, 54, 55, 13, 35, 36, 14,
|
||||
56, 57, 58, 59, 37, 15, 41, 42
|
||||
};
|
||||
|
||||
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
|
||||
STATE-NUM. */
|
||||
#define YYPACT_NINF -77
|
||||
#define YYPACT_NINF -79
|
||||
static const short yypact[] =
|
||||
{
|
||||
103, 155, 155, -77, 367, -77, 350, 298, 14, -77,
|
||||
198, -77, -77, -77, -77, -77, 238, -77, -77, 367,
|
||||
-77, 384, 384, 427, -77, -77, -77, -77, -77, 174,
|
||||
-77, -77, -77, 8, 218, -13, -77, -77, -77, 8,
|
||||
-77, 7, -77, -77, 401, 316, 316, -77, 367, 367,
|
||||
20, 28, -77, -7, 30, -7, -77, -77, 25, 401,
|
||||
401, -77, -77, 427, -77, -77, 427, 427, -77, 333,
|
||||
-77, 20, -77, 111, 367, -77, 367, -77, 367, -77,
|
||||
258, -77, -77, 258, -77, -77, 258, -77, -77, -77,
|
||||
30, -77, 20, -77, 367, -77, 32, -77, -77, 278,
|
||||
-77, -77, -77, -77, -77, 414, 414, 414, -77, 30,
|
||||
-77, 30, -77, 30, 37, -77, -77, -77, -77, -77,
|
||||
85, 85, 85, 367, 113, 113, 113, -77
|
||||
412, 420, 420, -79, 385, -79, 368, 316, 12, -79,
|
||||
256, -79, -79, -79, -79, -79, 152, -79, -79, 385,
|
||||
-79, 402, 402, 474, -79, -79, -79, -79, -79, 236,
|
||||
-79, -79, -79, 14, 276, 22, -79, -79, -79, 14,
|
||||
-79, -4, -79, -79, 437, 334, 334, -79, 385, 385,
|
||||
62, 256, 23, -79, 4, 11, 4, -79, -79, 85,
|
||||
437, 437, 463, -79, -79, 474, 152, -79, -79, 474,
|
||||
474, -79, 351, -79, 62, -79, 127, 385, -79, 385,
|
||||
-79, 385, -79, 201, -79, -79, 201, -79, -79, 201,
|
||||
-79, -79, -79, 11, -79, 62, -79, 385, -79, 39,
|
||||
-79, -79, 296, 62, -79, -79, -79, -79, -79, 450,
|
||||
450, 450, -79, 11, -79, 11, -79, 11, 44, -79,
|
||||
-79, -79, -79, -79, 32, 32, 32, 385, 65, 65,
|
||||
65, -79
|
||||
};
|
||||
|
||||
/* YYPGOTO[NTERM-NUM]. */
|
||||
static const short yypgoto[] =
|
||||
static const yysigned_char yypgoto[] =
|
||||
{
|
||||
-77, -77, 92, 57, -3, -45, 0, -1, 27, -60,
|
||||
-4, 154, -77, -76, 24, -77, -77, -77, 1, -77,
|
||||
-9, -77, -24, -22, 2, -77, -77, 11
|
||||
-79, -79, 8, 64, -6, -45, 0, -23, 73, -30,
|
||||
40, 93, -79, -44, 108, -79, -79, -79, -12, -79,
|
||||
-19, -79, -29, -78, 2, -79, -79, 7
|
||||
};
|
||||
|
||||
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
|
||||
|
@ -475,98 +477,108 @@ static const short yypgoto[] =
|
|||
#define YYTABLE_NINF -1
|
||||
static const unsigned char yytable[] =
|
||||
{
|
||||
10, 16, 16, 89, 29, 75, 51, 70, 76, 40,
|
||||
10, 100, 51, 101, 43, 62, 61, 64, 65, 68,
|
||||
117, 16, 16, 118, 74, 73, 71, 77, 78, 102,
|
||||
73, 71, 115, 79, 91, 82, 85, 88, 79, 70,
|
||||
62, 64, 65, 79, 94, 16, 16, 48, 29, 116,
|
||||
85, 88, 95, 123, 97, 64, 65, 98, 109, 62,
|
||||
82, 111, 64, 65, 113, 62, 61, 50, 81, 84,
|
||||
87, 80, 83, 86, 29, 119, 51, 103, 127, 51,
|
||||
40, 96, 51, 84, 87, 99, 83, 86, 124, 104,
|
||||
125, 126, 0, 81, 29, 51, 80, 0, 33, 39,
|
||||
48, 62, 64, 65, 108, 0, 0, 110, 1, 2,
|
||||
112, 0, 0, 3, 4, 5, 124, 114, 125, 126,
|
||||
6, 0, 7, 29, 79, 91, 79, 94, 48, 81,
|
||||
84, 87, 120, 121, 122, 0, 99, 0, 99, 0,
|
||||
99, 90, 0, 0, 108, 110, 112, 0, 81, 84,
|
||||
87, 120, 121, 122, 11, 17, 18, 0, 0, 0,
|
||||
1, 2, 0, 0, 11, 3, 0, 5, 33, 0,
|
||||
39, 0, 6, 0, 7, 17, 18, 69, 20, 45,
|
||||
46, 23, 24, 25, 3, 0, 5, 47, 70, 48,
|
||||
0, 6, 0, 7, 0, 0, 49, 0, 0, 17,
|
||||
18, 44, 20, 45, 46, 23, 24, 25, 3, 0,
|
||||
5, 47, 0, 48, 0, 6, 0, 7, 0, 0,
|
||||
49, 69, 20, 45, 46, 23, 24, 25, 3, 0,
|
||||
5, 47, 0, 48, 0, 6, 0, 7, 0, 0,
|
||||
49, 44, 20, 59, 60, 23, 24, 25, 0, 0,
|
||||
0, 47, 0, 48, 0, 0, 0, 0, 0, 0,
|
||||
49, 105, 20, 106, 107, 23, 24, 25, 0, 0,
|
||||
0, 0, 0, 48, 0, 0, 0, 0, 0, 0,
|
||||
49, 63, 20, 66, 67, 23, 24, 25, 0, 0,
|
||||
0, 0, 0, 48, 0, 0, 0, 0, 0, 0,
|
||||
49, 19, 20, 21, 22, 23, 24, 25, 3, 0,
|
||||
5, 0, 0, 0, 0, 6, 0, 7, 38, 44,
|
||||
20, 45, 46, 23, 24, 25, 3, 0, 5, 79,
|
||||
0, 48, 0, 6, 0, 7, 69, 20, 45, 46,
|
||||
23, 24, 25, 3, 0, 5, 79, 0, 48, 0,
|
||||
6, 0, 7, 19, 20, 21, 22, 23, 24, 25,
|
||||
3, 0, 5, 0, 0, 0, 0, 6, 32, 7,
|
||||
19, 20, 21, 22, 23, 24, 25, 3, 0, 5,
|
||||
0, 0, 0, 0, 6, 0, 7, 63, 20, 21,
|
||||
22, 23, 24, 25, 3, 0, 5, 0, 0, 0,
|
||||
0, 6, 0, 7, 44, 20, 59, 60, 23, 24,
|
||||
25, 0, 0, 0, 79, 0, 48, 105, 20, 106,
|
||||
107, 23, 24, 25, 0, 0, 0, 79, 0, 48,
|
||||
63, 20, 66, 67, 23, 24, 25
|
||||
10, 16, 16, 92, 29, 113, 34, 34, 115, 40,
|
||||
51, 117, 43, 63, 33, 39, 80, 81, 73, 34,
|
||||
96, 66, 66, 74, 82, 85, 88, 91, 74, 34,
|
||||
77, 98, 106, 100, 34, 128, 101, 129, 130, 97,
|
||||
78, 88, 91, 79, 104, 66, 66, 48, 29, 34,
|
||||
52, 51, 120, 85, 48, 121, 52, 93, 122, 64,
|
||||
127, 67, 68, 71, 9, 119, 63, 107, 128, 76,
|
||||
129, 130, 34, 123, 76, 82, 94, 29, 82, 34,
|
||||
48, 34, 131, 40, 64, 67, 68, 33, 108, 39,
|
||||
0, 76, 0, 11, 17, 18, 0, 29, 82, 73,
|
||||
67, 68, 103, 11, 0, 64, 76, 0, 0, 67,
|
||||
68, 0, 64, 0, 17, 18, 0, 83, 86, 89,
|
||||
0, 0, 0, 52, 0, 0, 52, 29, 99, 52,
|
||||
0, 0, 102, 86, 89, 0, 0, 0, 17, 18,
|
||||
82, 94, 52, 97, 11, 83, 0, 0, 0, 64,
|
||||
67, 68, 84, 87, 90, 44, 20, 60, 61, 23,
|
||||
24, 25, 0, 0, 5, 47, 118, 48, 87, 90,
|
||||
0, 0, 0, 0, 49, 0, 0, 0, 0, 0,
|
||||
84, 0, 124, 125, 126, 0, 102, 0, 102, 0,
|
||||
102, 112, 0, 0, 114, 0, 0, 116, 0, 0,
|
||||
0, 124, 125, 126, 109, 20, 110, 111, 23, 24,
|
||||
25, 0, 0, 5, 0, 0, 48, 84, 87, 90,
|
||||
0, 0, 0, 49, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 112, 114, 116, 0, 84, 87, 90, 72,
|
||||
20, 45, 46, 23, 24, 25, 3, 0, 5, 47,
|
||||
73, 48, 0, 6, 0, 7, 0, 0, 49, 44,
|
||||
20, 45, 46, 23, 24, 25, 3, 0, 5, 47,
|
||||
0, 48, 0, 6, 0, 7, 0, 0, 49, 72,
|
||||
20, 45, 46, 23, 24, 25, 3, 0, 5, 47,
|
||||
0, 48, 0, 6, 0, 7, 0, 0, 49, 65,
|
||||
20, 69, 70, 23, 24, 25, 0, 0, 5, 0,
|
||||
0, 48, 0, 0, 0, 0, 0, 0, 49, 19,
|
||||
20, 21, 22, 23, 24, 25, 3, 0, 5, 0,
|
||||
0, 0, 0, 6, 0, 7, 38, 44, 20, 45,
|
||||
46, 23, 24, 25, 3, 0, 5, 82, 0, 48,
|
||||
0, 6, 0, 7, 72, 20, 45, 46, 23, 24,
|
||||
25, 3, 0, 5, 82, 0, 48, 0, 6, 0,
|
||||
7, 19, 20, 21, 22, 23, 24, 25, 3, 0,
|
||||
5, 0, 0, 0, 0, 6, 32, 7, 19, 20,
|
||||
21, 22, 23, 24, 25, 3, 0, 5, 0, 0,
|
||||
0, 0, 6, 0, 7, 65, 20, 21, 22, 23,
|
||||
24, 25, 3, 0, 5, 0, 0, 1, 2, 6,
|
||||
0, 7, 3, 4, 5, 1, 2, 0, 0, 6,
|
||||
3, 7, 5, 0, 0, 0, 0, 6, 0, 7,
|
||||
44, 20, 60, 61, 23, 24, 25, 0, 0, 5,
|
||||
82, 0, 48, 109, 20, 110, 111, 23, 24, 25,
|
||||
0, 0, 5, 82, 0, 48, 65, 20, 69, 70,
|
||||
23, 24, 25, 0, 0, 5, 47, 65, 20, 69,
|
||||
70, 23, 24, 25, 0, 0, 5
|
||||
};
|
||||
|
||||
static const yysigned_char yycheck[] =
|
||||
static const short yycheck[] =
|
||||
{
|
||||
0, 1, 2, 48, 4, 18, 10, 14, 21, 7,
|
||||
10, 71, 16, 73, 0, 19, 19, 21, 22, 23,
|
||||
96, 21, 22, 99, 16, 29, 29, 20, 21, 74,
|
||||
34, 34, 92, 13, 14, 44, 45, 46, 13, 14,
|
||||
44, 45, 46, 13, 16, 45, 46, 15, 48, 94,
|
||||
59, 60, 53, 16, 55, 59, 60, 58, 80, 63,
|
||||
69, 83, 66, 67, 86, 69, 69, 10, 44, 45,
|
||||
46, 44, 45, 46, 74, 99, 80, 76, 123, 83,
|
||||
78, 54, 86, 59, 60, 58, 59, 60, 3, 78,
|
||||
5, 6, -1, 69, 94, 99, 69, -1, 6, 7,
|
||||
15, 105, 106, 107, 80, -1, -1, 83, 5, 6,
|
||||
86, -1, -1, 10, 11, 12, 3, 90, 5, 6,
|
||||
17, -1, 19, 123, 13, 14, 13, 16, 15, 105,
|
||||
106, 107, 105, 106, 107, -1, 109, -1, 111, -1,
|
||||
113, 49, -1, -1, 120, 121, 122, -1, 124, 125,
|
||||
126, 124, 125, 126, 0, 1, 2, -1, -1, -1,
|
||||
5, 6, -1, -1, 10, 10, -1, 12, 76, -1,
|
||||
78, -1, 17, -1, 19, 21, 22, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, -1, 12, 13, 14, 15,
|
||||
-1, 17, -1, 19, -1, -1, 22, -1, -1, 45,
|
||||
46, 3, 4, 5, 6, 7, 8, 9, 10, -1,
|
||||
12, 13, -1, 15, -1, 17, -1, 19, -1, -1,
|
||||
22, 3, 4, 5, 6, 7, 8, 9, 10, -1,
|
||||
12, 13, -1, 15, -1, 17, -1, 19, -1, -1,
|
||||
22, 3, 4, 5, 6, 7, 8, 9, -1, -1,
|
||||
-1, 13, -1, 15, -1, -1, -1, -1, -1, -1,
|
||||
22, 3, 4, 5, 6, 7, 8, 9, -1, -1,
|
||||
-1, -1, -1, 15, -1, -1, -1, -1, -1, -1,
|
||||
22, 3, 4, 5, 6, 7, 8, 9, -1, -1,
|
||||
-1, -1, -1, 15, -1, -1, -1, -1, -1, -1,
|
||||
22, 3, 4, 5, 6, 7, 8, 9, 10, -1,
|
||||
12, -1, -1, -1, -1, 17, -1, 19, 20, 3,
|
||||
0, 1, 2, 48, 4, 83, 6, 7, 86, 7,
|
||||
10, 89, 0, 19, 6, 7, 20, 21, 14, 19,
|
||||
50, 21, 22, 29, 13, 44, 45, 46, 34, 29,
|
||||
16, 54, 77, 56, 34, 3, 59, 5, 6, 16,
|
||||
18, 60, 61, 21, 74, 45, 46, 15, 48, 49,
|
||||
10, 51, 97, 72, 15, 99, 16, 49, 102, 19,
|
||||
16, 21, 22, 23, 0, 95, 72, 79, 3, 29,
|
||||
5, 6, 72, 102, 34, 13, 14, 77, 13, 79,
|
||||
15, 81, 127, 81, 44, 45, 46, 79, 81, 81,
|
||||
-1, 51, -1, 0, 1, 2, -1, 97, 13, 14,
|
||||
60, 61, 62, 10, -1, 65, 66, -1, -1, 69,
|
||||
70, -1, 72, -1, 21, 22, -1, 44, 45, 46,
|
||||
-1, -1, -1, 83, -1, -1, 86, 127, 55, 89,
|
||||
-1, -1, 59, 60, 61, -1, -1, -1, 45, 46,
|
||||
13, 14, 102, 16, 51, 72, -1, -1, -1, 109,
|
||||
110, 111, 44, 45, 46, 3, 4, 5, 6, 7,
|
||||
8, 9, -1, -1, 12, 13, 93, 15, 60, 61,
|
||||
-1, -1, -1, -1, 22, -1, -1, -1, -1, -1,
|
||||
72, -1, 109, 110, 111, -1, 113, -1, 115, -1,
|
||||
117, 83, -1, -1, 86, -1, -1, 89, -1, -1,
|
||||
-1, 128, 129, 130, 3, 4, 5, 6, 7, 8,
|
||||
9, -1, -1, 12, -1, -1, 15, 109, 110, 111,
|
||||
-1, -1, -1, 22, -1, -1, -1, -1, -1, -1,
|
||||
-1, -1, 124, 125, 126, -1, 128, 129, 130, 3,
|
||||
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
|
||||
-1, 15, -1, 17, -1, 19, 3, 4, 5, 6,
|
||||
7, 8, 9, 10, -1, 12, 13, -1, 15, -1,
|
||||
17, -1, 19, 3, 4, 5, 6, 7, 8, 9,
|
||||
10, -1, 12, -1, -1, -1, -1, 17, 18, 19,
|
||||
3, 4, 5, 6, 7, 8, 9, 10, -1, 12,
|
||||
-1, -1, -1, -1, 17, -1, 19, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, -1, 12, -1, -1, -1,
|
||||
14, 15, -1, 17, -1, 19, -1, -1, 22, 3,
|
||||
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
|
||||
-1, 15, -1, 17, -1, 19, -1, -1, 22, 3,
|
||||
4, 5, 6, 7, 8, 9, 10, -1, 12, 13,
|
||||
-1, 15, -1, 17, -1, 19, -1, -1, 22, 3,
|
||||
4, 5, 6, 7, 8, 9, -1, -1, 12, -1,
|
||||
-1, 15, -1, -1, -1, -1, -1, -1, 22, 3,
|
||||
4, 5, 6, 7, 8, 9, 10, -1, 12, -1,
|
||||
-1, -1, -1, 17, -1, 19, 20, 3, 4, 5,
|
||||
6, 7, 8, 9, 10, -1, 12, 13, -1, 15,
|
||||
-1, 17, -1, 19, 3, 4, 5, 6, 7, 8,
|
||||
9, -1, -1, -1, 13, -1, 15, 3, 4, 5,
|
||||
6, 7, 8, 9, -1, -1, -1, 13, -1, 15,
|
||||
3, 4, 5, 6, 7, 8, 9
|
||||
9, 10, -1, 12, 13, -1, 15, -1, 17, -1,
|
||||
19, 3, 4, 5, 6, 7, 8, 9, 10, -1,
|
||||
12, -1, -1, -1, -1, 17, 18, 19, 3, 4,
|
||||
5, 6, 7, 8, 9, 10, -1, 12, -1, -1,
|
||||
-1, -1, 17, -1, 19, 3, 4, 5, 6, 7,
|
||||
8, 9, 10, -1, 12, -1, -1, 5, 6, 17,
|
||||
-1, 19, 10, 11, 12, 5, 6, -1, -1, 17,
|
||||
10, 19, 12, -1, -1, -1, -1, 17, -1, 19,
|
||||
3, 4, 5, 6, 7, 8, 9, -1, -1, 12,
|
||||
13, -1, 15, 3, 4, 5, 6, 7, 8, 9,
|
||||
-1, -1, 12, 13, -1, 15, 3, 4, 5, 6,
|
||||
7, 8, 9, -1, -1, 12, 13, 3, 4, 5,
|
||||
6, 7, 8, 9, -1, -1, 12
|
||||
};
|
||||
|
||||
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
|
||||
|
@ -578,14 +590,15 @@ static const unsigned char yystos[] =
|
|||
4, 5, 6, 7, 8, 9, 25, 27, 28, 29,
|
||||
33, 34, 18, 25, 29, 40, 41, 47, 20, 25,
|
||||
47, 49, 50, 0, 3, 5, 6, 13, 15, 22,
|
||||
26, 33, 36, 37, 38, 43, 44, 45, 46, 5,
|
||||
6, 27, 33, 3, 33, 33, 5, 6, 33, 3,
|
||||
14, 27, 30, 33, 16, 18, 21, 20, 21, 13,
|
||||
31, 37, 43, 31, 37, 43, 31, 37, 43, 28,
|
||||
25, 14, 31, 32, 16, 30, 31, 30, 30, 31,
|
||||
32, 32, 28, 41, 50, 3, 5, 6, 37, 46,
|
||||
37, 46, 37, 46, 31, 32, 28, 36, 36, 45,
|
||||
31, 31, 31, 16, 3, 5, 6, 28
|
||||
26, 29, 33, 36, 37, 38, 43, 44, 45, 46,
|
||||
5, 6, 29, 27, 33, 3, 29, 33, 33, 5,
|
||||
6, 33, 3, 14, 27, 30, 33, 16, 18, 21,
|
||||
20, 21, 13, 31, 37, 43, 31, 37, 43, 31,
|
||||
37, 43, 28, 25, 14, 31, 32, 16, 30, 31,
|
||||
30, 30, 31, 33, 32, 32, 28, 41, 50, 3,
|
||||
5, 6, 37, 46, 37, 46, 37, 46, 31, 32,
|
||||
28, 36, 36, 45, 31, 31, 31, 16, 3, 5,
|
||||
6, 28
|
||||
};
|
||||
|
||||
#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
|
||||
|
@ -1186,47 +1199,40 @@ yyreduce:
|
|||
}
|
||||
break;
|
||||
|
||||
case 12:
|
||||
#line 94 "gram.y"
|
||||
case 13:
|
||||
#line 97 "gram.y"
|
||||
{
|
||||
yyval.nodeData = yyvsp[-1].nodeData;
|
||||
}
|
||||
NULL_NODE( parser, n );
|
||||
yyval.nodeData = n;
|
||||
}
|
||||
break;
|
||||
|
||||
case 14:
|
||||
#line 101 "gram.y"
|
||||
#line 102 "gram.y"
|
||||
{
|
||||
NULL_NODE( parser, n );
|
||||
yyval.nodeData = n;
|
||||
}
|
||||
break;
|
||||
|
||||
case 15:
|
||||
#line 106 "gram.y"
|
||||
{
|
||||
NULL_NODE( parser, n );
|
||||
yyval.nodeData = n;
|
||||
}
|
||||
break;
|
||||
|
||||
case 22:
|
||||
#line 135 "gram.y"
|
||||
case 21:
|
||||
#line 131 "gram.y"
|
||||
{
|
||||
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, ((SyckParser *)parser)->taguri_expansion );
|
||||
yyval.nodeData = yyvsp[0].nodeData;
|
||||
}
|
||||
break;
|
||||
|
||||
case 23:
|
||||
#line 140 "gram.y"
|
||||
case 22:
|
||||
#line 136 "gram.y"
|
||||
{
|
||||
syck_add_transfer( yyvsp[-1].name, yyvsp[0].nodeData, 0 );
|
||||
yyval.nodeData = yyvsp[0].nodeData;
|
||||
}
|
||||
break;
|
||||
|
||||
case 24:
|
||||
#line 145 "gram.y"
|
||||
case 23:
|
||||
#line 141 "gram.y"
|
||||
{
|
||||
if ( ((SyckParser *)parser)->implicit_typing == 1 )
|
||||
{
|
||||
|
@ -1236,15 +1242,15 @@ yyreduce:
|
|||
}
|
||||
break;
|
||||
|
||||
case 25:
|
||||
#line 153 "gram.y"
|
||||
case 24:
|
||||
#line 149 "gram.y"
|
||||
{
|
||||
yyval.nodeData = syck_hdlr_add_anchor( (SyckParser *)parser, yyvsp[-1].name, yyvsp[0].nodeData );
|
||||
}
|
||||
break;
|
||||
|
||||
case 26:
|
||||
#line 157 "gram.y"
|
||||
case 25:
|
||||
#line 153 "gram.y"
|
||||
{
|
||||
/*
|
||||
* _Aliases_: The anchor symbol table is scanned for the anchor name.
|
||||
|
@ -1254,8 +1260,8 @@ yyreduce:
|
|||
}
|
||||
break;
|
||||
|
||||
case 27:
|
||||
#line 165 "gram.y"
|
||||
case 26:
|
||||
#line 161 "gram.y"
|
||||
{
|
||||
SyckNode *n = yyvsp[0].nodeData;
|
||||
if ( ((SyckParser *)parser)->taguri_expansion == 1 )
|
||||
|
@ -1270,6 +1276,13 @@ yyreduce:
|
|||
}
|
||||
break;
|
||||
|
||||
case 28:
|
||||
#line 175 "gram.y"
|
||||
{
|
||||
yyval.nodeData = yyvsp[-1].nodeData;
|
||||
}
|
||||
break;
|
||||
|
||||
case 29:
|
||||
#line 185 "gram.y"
|
||||
{
|
||||
|
@ -1498,19 +1511,20 @@ yyreduce:
|
|||
apply_seq_in_map( (SyckParser *)parser, yyvsp[-2].nodeData );
|
||||
syck_map_update( yyvsp[-2].nodeData, yyvsp[0].nodeData );
|
||||
syck_free_node( yyvsp[0].nodeData );
|
||||
yyvsp[0].nodeData = NULL;
|
||||
yyval.nodeData = yyvsp[-2].nodeData;
|
||||
}
|
||||
break;
|
||||
|
||||
case 68:
|
||||
#line 390 "gram.y"
|
||||
#line 391 "gram.y"
|
||||
{
|
||||
yyval.nodeData = yyvsp[-1].nodeData;
|
||||
}
|
||||
break;
|
||||
|
||||
case 69:
|
||||
#line 399 "gram.y"
|
||||
#line 400 "gram.y"
|
||||
{
|
||||
yyval.nodeData = syck_new_map(
|
||||
syck_hdlr_add_node( (SyckParser *)parser, yyvsp[-2].nodeData ),
|
||||
|
@ -1519,30 +1533,31 @@ yyreduce:
|
|||
break;
|
||||
|
||||
case 70:
|
||||
#line 407 "gram.y"
|
||||
#line 408 "gram.y"
|
||||
{
|
||||
yyval.nodeData = yyvsp[-1].nodeData;
|
||||
}
|
||||
break;
|
||||
|
||||
case 71:
|
||||
#line 411 "gram.y"
|
||||
#line 412 "gram.y"
|
||||
{
|
||||
yyval.nodeData = syck_alloc_map();
|
||||
}
|
||||
break;
|
||||
|
||||
case 73:
|
||||
#line 418 "gram.y"
|
||||
#line 419 "gram.y"
|
||||
{
|
||||
syck_map_update( yyvsp[-2].nodeData, yyvsp[0].nodeData );
|
||||
syck_free_node( yyvsp[0].nodeData );
|
||||
yyvsp[0].nodeData = NULL;
|
||||
yyval.nodeData = yyvsp[-2].nodeData;
|
||||
}
|
||||
break;
|
||||
|
||||
case 74:
|
||||
#line 426 "gram.y"
|
||||
#line 428 "gram.y"
|
||||
{
|
||||
NULL_NODE( parser, n );
|
||||
yyval.nodeData = syck_new_map(
|
||||
|
@ -1555,7 +1570,7 @@ yyreduce:
|
|||
}
|
||||
|
||||
/* Line 1016 of /usr/local/share/bison/yacc.c. */
|
||||
#line 1559 "y.tab.c"
|
||||
#line 1574 "y.tab.c"
|
||||
|
||||
yyvsp -= yylen;
|
||||
yyssp -= yylen;
|
||||
|
@ -1774,7 +1789,7 @@ yyreturn:
|
|||
}
|
||||
|
||||
|
||||
#line 435 "gram.y"
|
||||
#line 437 "gram.y"
|
||||
|
||||
|
||||
void
|
||||
|
|
|
@ -297,27 +297,38 @@ syck_seq_read( SyckNode *seq, long idx )
|
|||
void
|
||||
syck_free_members( SyckNode *n )
|
||||
{
|
||||
if ( n == NULL ) return;
|
||||
|
||||
switch ( n->kind )
|
||||
{
|
||||
case syck_str_kind:
|
||||
if ( n->data.str->ptr != NULL )
|
||||
if ( n->data.str != NULL )
|
||||
{
|
||||
S_FREE( n->data.str->ptr );
|
||||
n->data.str->ptr = NULL;
|
||||
n->data.str->len = 0;
|
||||
S_FREE( n->data.str );
|
||||
n->data.str = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case syck_seq_kind:
|
||||
S_FREE( n->data.list->items );
|
||||
S_FREE( n->data.list );
|
||||
if ( n->data.list != NULL )
|
||||
{
|
||||
S_FREE( n->data.list->items );
|
||||
S_FREE( n->data.list );
|
||||
n->data.list = NULL;
|
||||
}
|
||||
break;
|
||||
|
||||
case syck_map_kind:
|
||||
S_FREE( n->data.pairs->keys );
|
||||
S_FREE( n->data.pairs->values );
|
||||
S_FREE( n->data.pairs );
|
||||
if ( n->data.pairs != NULL )
|
||||
{
|
||||
S_FREE( n->data.pairs->keys );
|
||||
S_FREE( n->data.pairs->values );
|
||||
S_FREE( n->data.pairs );
|
||||
n->data.pairs = NULL;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1337,6 +1337,7 @@ syck_emitter_write_m( self, str )
|
|||
SyckEmitter *emitter;
|
||||
|
||||
Data_Get_Struct(self, SyckEmitter, emitter);
|
||||
StringValue(str);
|
||||
syck_emitter_write( emitter, RSTRING(str)->ptr, RSTRING(str)->len );
|
||||
return self;
|
||||
}
|
||||
|
@ -1351,6 +1352,7 @@ syck_emitter_simple_write( self, str )
|
|||
SyckEmitter *emitter;
|
||||
|
||||
Data_Get_Struct(self, SyckEmitter, emitter);
|
||||
StringValue(str);
|
||||
syck_emitter_simple( emitter, RSTRING(str)->ptr, RSTRING(str)->len );
|
||||
return self;
|
||||
}
|
||||
|
|
|
@ -198,7 +198,8 @@ syck_lookup_sym( SyckParser *p, SYMID id, char **data )
|
|||
int
|
||||
syck_st_free_nodes( char *key, SyckNode *n, char *arg )
|
||||
{
|
||||
syck_free_node( n );
|
||||
if ( n != (void *)1 ) syck_free_node( n );
|
||||
n = NULL;
|
||||
return ST_CONTINUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#define SYCK_YAML_MAJOR 1
|
||||
#define SYCK_YAML_MINOR 0
|
||||
|
||||
#define SYCK_VERSION "0.43"
|
||||
#define SYCK_VERSION "0.44"
|
||||
#define YAML_DOMAIN "yaml.org,2002"
|
||||
|
||||
#include <stdio.h>
|
||||
|
|
315
ext/syck/token.c
315
ext/syck/token.c
|
@ -205,6 +205,7 @@ SyckParser *syck_parser_ptr = NULL;
|
|||
* Accessory funcs later in this file.
|
||||
*/
|
||||
void eat_comments( SyckParser * );
|
||||
char escape_seq( char );
|
||||
int is_newline( char *ptr );
|
||||
int sycklex_yaml_utf8( YYSTYPE *, SyckParser * );
|
||||
int sycklex_bytecode_utf8( YYSTYPE *, SyckParser * );
|
||||
|
@ -256,7 +257,7 @@ sycklex_yaml_utf8( YYSTYPE *sycklval, SyckParser *parser )
|
|||
return t;
|
||||
}
|
||||
|
||||
#line 274
|
||||
#line 276
|
||||
|
||||
|
||||
if ( YYLINEPTR != YYCURSOR )
|
||||
|
@ -293,7 +294,7 @@ yy2: yyaccept = 0;
|
|||
default: goto yy3;
|
||||
}
|
||||
yy3:
|
||||
#line 333
|
||||
#line 335
|
||||
{ YYPOS(0);
|
||||
goto Document;
|
||||
}
|
||||
|
@ -305,13 +306,13 @@ yy4: yyaccept = 0;
|
|||
}
|
||||
yy5: yych = *++YYCURSOR;
|
||||
yy6:
|
||||
#line 315
|
||||
#line 317
|
||||
{ eat_comments( parser );
|
||||
goto Header;
|
||||
}
|
||||
yy7: yych = *++YYCURSOR;
|
||||
yy8:
|
||||
#line 319
|
||||
#line 321
|
||||
{ SyckLevel *lvl = CURRENT_LEVEL();
|
||||
ENSURE_YAML_IEND(lvl, -1);
|
||||
YYPOS(0);
|
||||
|
@ -321,7 +322,7 @@ yy9: yyaccept = 1;
|
|||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
goto yy18;
|
||||
yy10:
|
||||
#line 325
|
||||
#line 327
|
||||
{ GOBBLE_UP_YAML_INDENT( doc_level, YYTOKEN );
|
||||
goto Header;
|
||||
}
|
||||
|
@ -333,7 +334,7 @@ yy11: yych = *++YYCURSOR;
|
|||
yy12: yych = *++YYCURSOR;
|
||||
goto yy16;
|
||||
yy13:
|
||||
#line 329
|
||||
#line 331
|
||||
{ doc_level = YYCURSOR - YYLINEPTR;
|
||||
goto Header;
|
||||
}
|
||||
|
@ -381,7 +382,7 @@ yy22: yych = *++YYCURSOR;
|
|||
}
|
||||
yy23: yych = *++YYCURSOR;
|
||||
yy24:
|
||||
#line 301
|
||||
#line 303
|
||||
{ SyckLevel *lvl = CURRENT_LEVEL();
|
||||
if ( lvl->status == syck_lvl_header )
|
||||
{
|
||||
|
@ -421,7 +422,7 @@ yy29: yych = *++YYCURSOR;
|
|||
}
|
||||
yy30: yych = *++YYCURSOR;
|
||||
yy31:
|
||||
#line 287
|
||||
#line 289
|
||||
{ SyckLevel *lvl = CURRENT_LEVEL();
|
||||
if ( lvl->status == syck_lvl_header )
|
||||
{
|
||||
|
@ -448,7 +449,7 @@ yy34: yych = *++YYCURSOR;
|
|||
default: goto yy20;
|
||||
}
|
||||
}
|
||||
#line 337
|
||||
#line 339
|
||||
|
||||
|
||||
Document:
|
||||
|
@ -491,7 +492,7 @@ yy37: yyaccept = 0;
|
|||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
goto yy90;
|
||||
yy38:
|
||||
#line 351
|
||||
#line 353
|
||||
{ /* Isolate spaces */
|
||||
int indt_len;
|
||||
GOBBLE_UP_YAML_INDENT( indt_len, YYTOKEN );
|
||||
|
@ -525,7 +526,7 @@ yy40:
|
|||
}
|
||||
yy41: yych = *++YYCURSOR;
|
||||
yy42:
|
||||
#line 373
|
||||
#line 375
|
||||
{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
|
||||
lvl = CURRENT_LEVEL();
|
||||
ADD_LEVEL(lvl->spaces + 1, syck_lvl_inline);
|
||||
|
@ -533,7 +534,7 @@ yy42:
|
|||
}
|
||||
yy43: yych = *++YYCURSOR;
|
||||
yy44:
|
||||
#line 379
|
||||
#line 381
|
||||
{ POP_LEVEL();
|
||||
return YYTOKEN[0];
|
||||
}
|
||||
|
@ -683,9 +684,8 @@ yy48: yych = *++YYCURSOR;
|
|||
}
|
||||
yy49: yych = *++YYCURSOR;
|
||||
yy50:
|
||||
#line 418
|
||||
{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
|
||||
goto TransferMethod; }
|
||||
#line 419
|
||||
{ goto TransferMethod; }
|
||||
yy51: yych = *++YYCURSOR;
|
||||
yy52:
|
||||
#line 421
|
||||
|
@ -853,7 +853,7 @@ yy74: switch(yych){
|
|||
default: goto yy75;
|
||||
}
|
||||
yy75:
|
||||
#line 413
|
||||
#line 414
|
||||
{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
|
||||
sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
|
||||
return YAML_ALIAS;
|
||||
|
@ -925,9 +925,8 @@ yy77: switch(yych){
|
|||
default: goto yy78;
|
||||
}
|
||||
yy78:
|
||||
#line 401
|
||||
{ ENSURE_YAML_IOPEN(lvl, doc_level, 1);
|
||||
sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
|
||||
#line 403
|
||||
{ sycklval->name = syck_strndup( YYTOKEN + 1, YYCURSOR - YYTOKEN - 1 );
|
||||
|
||||
/*
|
||||
* Remove previous anchors of the same name. Since the parser will likely
|
||||
|
@ -939,7 +938,7 @@ yy78:
|
|||
}
|
||||
yy79: yych = *++YYCURSOR;
|
||||
yy80:
|
||||
#line 387
|
||||
#line 389
|
||||
{ ENSURE_YAML_IOPEN(lvl, YYTOKEN - YYLINEPTR, 1);
|
||||
FORCE_NEXT_TOKEN(YAML_IOPEN);
|
||||
if ( is_newline( YYCURSOR ) || is_newline( YYCURSOR - 1 ) )
|
||||
|
@ -967,7 +966,7 @@ yy83: yych = *++YYCURSOR;
|
|||
}
|
||||
yy84: yych = *++YYCURSOR;
|
||||
yy85:
|
||||
#line 383
|
||||
#line 385
|
||||
{ YYPOS(1);
|
||||
return YYTOKEN[0];
|
||||
}
|
||||
|
@ -1770,7 +1769,7 @@ yy158: yych = *++YYCURSOR;
|
|||
default: goto yy159;
|
||||
}
|
||||
yy159:
|
||||
#line 722
|
||||
#line 711
|
||||
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
|
||||
goto DoubleQuote2;
|
||||
}
|
||||
|
@ -1780,7 +1779,7 @@ yy160: yyaccept = 1;
|
|||
case '\n': goto yy168;
|
||||
case '\r': goto yy170;
|
||||
case ' ': goto yy165;
|
||||
case '"': case '\\': case 'a':
|
||||
case '"': case '0': case '\\': case 'a':
|
||||
case 'b': case 'e':
|
||||
case 'f': case 'n': case 'r': case 't': case 'v': goto yy172;
|
||||
case 'x': goto yy171;
|
||||
|
@ -1788,7 +1787,7 @@ yy160: yyaccept = 1;
|
|||
}
|
||||
yy161: yych = *++YYCURSOR;
|
||||
yy162:
|
||||
#line 707
|
||||
#line 696
|
||||
{ SyckLevel *lvl;
|
||||
SyckNode *n = syck_alloc_str();
|
||||
lvl = CURRENT_LEVEL();
|
||||
|
@ -1823,7 +1822,7 @@ yy167: YYCURSOR = YYMARKER;
|
|||
}
|
||||
yy168: yych = *++YYCURSOR;
|
||||
yy169:
|
||||
#line 702
|
||||
#line 691
|
||||
{ keep_nl = 0;
|
||||
YYCURSOR--;
|
||||
goto DoubleQuote2;
|
||||
|
@ -1860,19 +1859,8 @@ yy171: yych = *++YYCURSOR;
|
|||
yy172: yych = *++YYCURSOR;
|
||||
yy173:
|
||||
#line 677
|
||||
{ char ch = *( YYCURSOR - 1 );
|
||||
switch ( ch )
|
||||
{
|
||||
case 'a': ch = 7; break;
|
||||
case 'b': ch = '\010'; break;
|
||||
case 'e': ch = '\033'; break;
|
||||
case 'f': ch = '\014'; break;
|
||||
case 'n': ch = '\n'; break;
|
||||
case 'r': ch = '\015'; break;
|
||||
case 't': ch = '\t'; break;
|
||||
case 'v': ch = '\013'; break;
|
||||
}
|
||||
QUOTECAT(qstr, qcapa, qidx, ch);
|
||||
{ char ch = *( YYCURSOR - 1 );
|
||||
QUOTECAT(qstr, qcapa, qidx, escape_seq( ch ));
|
||||
goto DoubleQuote2;
|
||||
}
|
||||
yy174: yych = *++YYCURSOR;
|
||||
|
@ -1901,7 +1889,7 @@ yy174: yych = *++YYCURSOR;
|
|||
}
|
||||
yy175: yych = *++YYCURSOR;
|
||||
yy176:
|
||||
#line 693
|
||||
#line 682
|
||||
{ long ch;
|
||||
char *chr_text = syck_strndup( YYTOKEN, 4 );
|
||||
chr_text[0] = '0';
|
||||
|
@ -1927,7 +1915,7 @@ yy179: ++YYCURSOR;
|
|||
default: goto yy167;
|
||||
}
|
||||
}
|
||||
#line 726
|
||||
#line 715
|
||||
|
||||
}
|
||||
|
||||
|
@ -1962,7 +1950,7 @@ yy182: YYCURSOR = YYMARKER;
|
|||
}
|
||||
yy183: yych = *++YYCURSOR;
|
||||
yy184:
|
||||
#line 740
|
||||
#line 729
|
||||
{ SyckLevel *lvl;
|
||||
YYCURSOR = YYTOKTMP;
|
||||
if ( YYCURSOR == YYTOKEN + 1 )
|
||||
|
@ -2013,20 +2001,23 @@ yy184:
|
|||
return YAML_TRANSFER;
|
||||
}
|
||||
yy185: yych = *++YYCURSOR;
|
||||
goto yy196;
|
||||
goto yy198;
|
||||
yy186: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy194;
|
||||
case '\n': goto yy196;
|
||||
default: goto yy187;
|
||||
}
|
||||
yy187:
|
||||
#line 802
|
||||
#line 796
|
||||
{ QUOTECAT(qstr, qcapa, qidx, *(YYCURSOR - 1));
|
||||
goto TransferMethod2;
|
||||
}
|
||||
yy188: yyaccept = 0;
|
||||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
switch(yych){
|
||||
case '"': case '0': case '\\': case 'a':
|
||||
case 'b': case 'e':
|
||||
case 'f': case 'n': case 'r': case 't': case 'v': goto yy191;
|
||||
case 'x': goto yy190;
|
||||
default: goto yy187;
|
||||
}
|
||||
|
@ -2053,10 +2044,17 @@ yy190: yych = *++YYCURSOR;
|
|||
case 'c':
|
||||
case 'd':
|
||||
case 'e':
|
||||
case 'f': goto yy191;
|
||||
case 'f': goto yy193;
|
||||
default: goto yy182;
|
||||
}
|
||||
yy191: yych = *++YYCURSOR;
|
||||
yy192:
|
||||
#line 782
|
||||
{ char ch = *( YYCURSOR - 1 );
|
||||
QUOTECAT(qstr, qcapa, qidx, escape_seq( ch ));
|
||||
goto TransferMethod2;
|
||||
}
|
||||
yy193: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '0':
|
||||
case '1':
|
||||
|
@ -2077,12 +2075,12 @@ yy191: yych = *++YYCURSOR;
|
|||
case 'c':
|
||||
case 'd':
|
||||
case 'e':
|
||||
case 'f': goto yy192;
|
||||
case 'f': goto yy194;
|
||||
default: goto yy182;
|
||||
}
|
||||
yy192: yych = *++YYCURSOR;
|
||||
yy193:
|
||||
#line 793
|
||||
yy194: yych = *++YYCURSOR;
|
||||
yy195:
|
||||
#line 787
|
||||
{ long ch;
|
||||
char *chr_text = syck_strndup( YYTOKTMP, 4 );
|
||||
chr_text[0] = '0';
|
||||
|
@ -2091,17 +2089,17 @@ yy193:
|
|||
QUOTECAT(qstr, qcapa, qidx, ch);
|
||||
goto TransferMethod2;
|
||||
}
|
||||
yy194: yych = *++YYCURSOR;
|
||||
yy196: yych = *++YYCURSOR;
|
||||
goto yy184;
|
||||
yy195: ++YYCURSOR;
|
||||
yy197: ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
yy196: switch(yych){
|
||||
case ' ': goto yy195;
|
||||
yy198: switch(yych){
|
||||
case ' ': goto yy197;
|
||||
default: goto yy184;
|
||||
}
|
||||
}
|
||||
#line 807
|
||||
#line 801
|
||||
|
||||
}
|
||||
|
||||
|
@ -2150,23 +2148,24 @@ ScalarBlock2:
|
|||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept;
|
||||
goto yy197;
|
||||
yy198: ++YYCURSOR;
|
||||
yy197:
|
||||
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
||||
goto yy199;
|
||||
yy200: ++YYCURSOR;
|
||||
yy199:
|
||||
if((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
|
||||
yych = *YYCURSOR;
|
||||
switch(yych){
|
||||
case '\000': goto yy205;
|
||||
case '\n': goto yy199;
|
||||
case '\r': goto yy201;
|
||||
case '#': goto yy203;
|
||||
default: goto yy207;
|
||||
case '\000': goto yy207;
|
||||
case '\n': goto yy201;
|
||||
case '\r': goto yy203;
|
||||
case '#': goto yy205;
|
||||
case '-': goto yy209;
|
||||
default: goto yy210;
|
||||
}
|
||||
yy199: yyaccept = 0;
|
||||
yy201: yyaccept = 0;
|
||||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
goto yy209;
|
||||
yy200:
|
||||
#line 854
|
||||
goto yy220;
|
||||
yy202:
|
||||
#line 848
|
||||
{ char *pacer;
|
||||
char *tok = YYTOKEN;
|
||||
int indt_len = 0, nl_count = 0, fold_nl = 0, nl_begin = 0;
|
||||
|
@ -2232,19 +2231,19 @@ yy200:
|
|||
}
|
||||
goto ScalarBlock2;
|
||||
}
|
||||
yy201: yych = *++YYCURSOR;
|
||||
yy203: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy208;
|
||||
default: goto yy202;
|
||||
case '\n': goto yy219;
|
||||
default: goto yy204;
|
||||
}
|
||||
yy202:
|
||||
#line 940
|
||||
yy204:
|
||||
#line 953
|
||||
{ QUOTECAT(qstr, qcapa, qidx, *YYTOKEN);
|
||||
goto ScalarBlock2;
|
||||
}
|
||||
yy203: yych = *++YYCURSOR;
|
||||
yy204:
|
||||
#line 921
|
||||
yy205: yych = *++YYCURSOR;
|
||||
yy206:
|
||||
#line 915
|
||||
{ lvl = CURRENT_LEVEL();
|
||||
if ( lvl->status != syck_lvl_block )
|
||||
{
|
||||
|
@ -2257,37 +2256,89 @@ yy204:
|
|||
}
|
||||
goto ScalarBlock2;
|
||||
}
|
||||
yy205: yych = *++YYCURSOR;
|
||||
yy206:
|
||||
#line 935
|
||||
yy207: yych = *++YYCURSOR;
|
||||
yy208:
|
||||
#line 929
|
||||
{ YYCURSOR--;
|
||||
POP_LEVEL();
|
||||
RETURN_YAML_BLOCK();
|
||||
}
|
||||
yy207: yych = *++YYCURSOR;
|
||||
goto yy202;
|
||||
yy208: yyaccept = 0;
|
||||
yy209: yyaccept = 1;
|
||||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
switch(yych){
|
||||
case '-': goto yy211;
|
||||
default: goto yy204;
|
||||
}
|
||||
yy210: yych = *++YYCURSOR;
|
||||
goto yy204;
|
||||
yy211: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '-': goto yy213;
|
||||
default: goto yy212;
|
||||
}
|
||||
yy212: YYCURSOR = YYMARKER;
|
||||
switch(yyaccept){
|
||||
case 0: goto yy202;
|
||||
case 1: goto yy204;
|
||||
}
|
||||
yy213: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy214;
|
||||
case '\r': goto yy218;
|
||||
case ' ': goto yy216;
|
||||
default: goto yy212;
|
||||
}
|
||||
yy214: yych = *++YYCURSOR;
|
||||
yy215:
|
||||
#line 934
|
||||
{ if ( YYTOKEN == YYLINEPTR )
|
||||
{
|
||||
if ( blockType == BLOCK_FOLD )
|
||||
{
|
||||
qidx -= 1;
|
||||
}
|
||||
QUOTECAT(qstr, qcapa, qidx, '\n');
|
||||
POP_LEVEL();
|
||||
YYCURSOR = YYTOKEN;
|
||||
RETURN_YAML_BLOCK();
|
||||
}
|
||||
else
|
||||
{
|
||||
QUOTECAT(qstr, qcapa, qidx, *YYTOKEN);
|
||||
YYCURSOR = YYTOKEN + 1;
|
||||
goto ScalarBlock2;
|
||||
}
|
||||
}
|
||||
yy216: ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
yy217: switch(yych){
|
||||
case ' ': goto yy216;
|
||||
default: goto yy215;
|
||||
}
|
||||
yy218: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy214;
|
||||
default: goto yy212;
|
||||
}
|
||||
yy219: yyaccept = 0;
|
||||
YYMARKER = ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
yy209: switch(yych){
|
||||
case '\n': case ' ': goto yy208;
|
||||
case '\r': goto yy210;
|
||||
default: goto yy200;
|
||||
yy220: switch(yych){
|
||||
case '\n': case ' ': goto yy219;
|
||||
case '\r': goto yy221;
|
||||
default: goto yy202;
|
||||
}
|
||||
yy210: ++YYCURSOR;
|
||||
yy221: ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy208;
|
||||
default: goto yy211;
|
||||
}
|
||||
yy211: YYCURSOR = YYMARKER;
|
||||
switch(yyaccept){
|
||||
case 0: goto yy200;
|
||||
case '\n': goto yy219;
|
||||
default: goto yy212;
|
||||
}
|
||||
}
|
||||
#line 945
|
||||
#line 958
|
||||
|
||||
}
|
||||
|
||||
|
@ -2305,65 +2356,83 @@ Comment:
|
|||
{
|
||||
YYCTYPE yych;
|
||||
unsigned int yyaccept;
|
||||
goto yy212;
|
||||
yy213: ++YYCURSOR;
|
||||
yy212:
|
||||
goto yy222;
|
||||
yy223: ++YYCURSOR;
|
||||
yy222:
|
||||
if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
|
||||
yych = *YYCURSOR;
|
||||
switch(yych){
|
||||
case '\000': goto yy214;
|
||||
case '\n': goto yy216;
|
||||
case '\r': goto yy217;
|
||||
default: goto yy219;
|
||||
case '\000': goto yy224;
|
||||
case '\n': goto yy226;
|
||||
case '\r': goto yy227;
|
||||
default: goto yy229;
|
||||
}
|
||||
yy214: yych = *++YYCURSOR;
|
||||
yy215:
|
||||
#line 961
|
||||
yy224: yych = *++YYCURSOR;
|
||||
yy225:
|
||||
#line 974
|
||||
{ YYCURSOR = YYTOKEN;
|
||||
return;
|
||||
}
|
||||
yy216: yyaccept = 0;
|
||||
yy226: yyaccept = 0;
|
||||
yych = *(YYMARKER = ++YYCURSOR);
|
||||
goto yy221;
|
||||
yy217: yych = *++YYCURSOR;
|
||||
goto yy231;
|
||||
yy227: yych = *++YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy220;
|
||||
default: goto yy218;
|
||||
case '\n': goto yy230;
|
||||
default: goto yy228;
|
||||
}
|
||||
yy218:
|
||||
#line 965
|
||||
yy228:
|
||||
#line 978
|
||||
{ goto Comment;
|
||||
}
|
||||
yy219: yych = *++YYCURSOR;
|
||||
goto yy218;
|
||||
yy220: yyaccept = 0;
|
||||
yy229: yych = *++YYCURSOR;
|
||||
goto yy228;
|
||||
yy230: yyaccept = 0;
|
||||
YYMARKER = ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
yy221: switch(yych){
|
||||
case '\n': goto yy220;
|
||||
case '\r': goto yy222;
|
||||
default: goto yy215;
|
||||
yy231: switch(yych){
|
||||
case '\n': goto yy230;
|
||||
case '\r': goto yy232;
|
||||
default: goto yy225;
|
||||
}
|
||||
yy222: ++YYCURSOR;
|
||||
yy232: ++YYCURSOR;
|
||||
if(YYLIMIT == YYCURSOR) YYFILL(1);
|
||||
yych = *YYCURSOR;
|
||||
switch(yych){
|
||||
case '\n': goto yy220;
|
||||
default: goto yy223;
|
||||
case '\n': goto yy230;
|
||||
default: goto yy233;
|
||||
}
|
||||
yy223: YYCURSOR = YYMARKER;
|
||||
yy233: YYCURSOR = YYMARKER;
|
||||
switch(yyaccept){
|
||||
case 0: goto yy215;
|
||||
case 0: goto yy225;
|
||||
}
|
||||
}
|
||||
#line 968
|
||||
#line 981
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
char
|
||||
escape_seq( char ch )
|
||||
{
|
||||
switch ( ch )
|
||||
{
|
||||
case '0': return '\0';
|
||||
case 'a': return 7;
|
||||
case 'b': return '\010';
|
||||
case 'e': return '\033';
|
||||
case 'f': return '\014';
|
||||
case 'n': return '\n';
|
||||
case 'r': return '\015';
|
||||
case 't': return '\t';
|
||||
case 'v': return '\013';
|
||||
default: return ch;
|
||||
}
|
||||
}
|
||||
|
||||
int
|
||||
is_newline( char *ptr )
|
||||
{
|
||||
|
|
|
@ -352,16 +352,20 @@ class Range
|
|||
end
|
||||
def to_yaml( opts = {} )
|
||||
YAML::quick_emit( nil, opts ) { |out|
|
||||
out << "!ruby/range "
|
||||
self.to_s.to_yaml(:Emitter => out)
|
||||
out << "!ruby/range '"
|
||||
self.begin.to_yaml(:Emitter => out)
|
||||
out << ( self.exclude_end? ? "..." : ".." )
|
||||
self.end.to_yaml(:Emitter => out)
|
||||
out << "'"
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
YAML.add_ruby_type( 'range' ) { |type, val|
|
||||
if String === val and val =~ /^(.*[^.])(\.{2,3})([^.].*)$/
|
||||
inr = '(\w+|[+-]*\d+(?:\.\d+)?|"(?:[^\\"]|\\.)*")'
|
||||
if String === val and val =~ /^#{inr}(\.{2,3})#{inr}$/
|
||||
r1, rdots, r2 = $1, $2, $3
|
||||
Range.new( YAML.try_implicit( r1 ), YAML.try_implicit( r2 ), rdots.length == 3 )
|
||||
Range.new( YAML.load( "--- #{r1}" ), YAML.load( "--- #{r2}" ), rdots.length == 3 )
|
||||
elsif Hash === val
|
||||
Range.new( val['begin'], val['end'], val['exclude_end?'] )
|
||||
else
|
||||
|
|
Загрузка…
Ссылка в новой задаче