📄 asn_lex.cxx
字号:
718, 718, 718, 718
} ;
static yyconst short int yy_chk[1545] =
{ 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 3, 4, 21, 21, 21, 21, 21,
724, 77, 59, 3, 4, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 119, 51, 77, 80, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 11, 11, 11, 11, 11, 28,
31, 29, 34, 37, 41, 32, 53, 33, 59, 30,
119, 723, 80, 38, 28, 28, 55, 37, 31, 29,
51, 33, 41, 29, 28, 37, 28, 29, 28, 29,
30, 32, 32, 28, 30, 52, 39, 30, 33, 29,
36, 38, 32, 40, 44, 45, 58, 38, 54, 60,
34, 39, 39, 53, 36, 39, 43, 36, 42, 45,
40, 34, 46, 43, 56, 39, 36, 36, 40, 57,
43, 44, 36, 55, 40, 38, 42, 44, 55, 61,
42, 79, 78, 82, 46, 83, 81, 43, 84, 85,
52, 42, 54, 60, 43, 86, 42, 45, 78, 90,
44, 97, 40, 96, 43, 83, 79, 58, 91, 56,
73, 73, 73, 73, 73, 81, 82, 57, 85, 88,
89, 84, 56, 86, 92, 90, 90, 91, 93, 95,
94, 96, 98, 88, 89, 99, 101, 100, 61, 92,
91, 99, 103, 107, 104, 93, 94, 88, 105, 108,
102, 106, 110, 112, 95, 100, 109, 97, 113, 94,
104, 93, 93, 94, 114, 101, 102, 102, 107, 115,
103, 116, 118, 121, 125, 105, 98, 126, 117, 109,
120, 104, 102, 102, 106, 110, 112, 115, 123, 129,
127, 115, 117, 113, 120, 122, 124, 117, 114, 122,
121, 128, 118, 125, 108, 118, 131, 130, 123, 132,
124, 120, 127, 135, 136, 137, 139, 128, 138, 141,
140, 142, 144, 116, 143, 145, 146, 155, 156, 159,
124, 126, 130, 147, 160, 161, 164, 163, 130, 165,
171, 129, 132, 166, 167, 155, 156, 182, 181, 168,
278, 190, 169, 131, 159, 278, 171, 161, 190, 722,
155, 164, 160, 137, 175, 166, 131, 179, 143, 163,
165, 135, 136, 170, 138, 140, 167, 139, 168, 141,
146, 144, 142, 145, 169, 147, 172, 170, 174, 176,
175, 177, 178, 183, 180, 170, 181, 184, 185, 179,
187, 188, 186, 189, 172, 182, 174, 176, 170, 191,
178, 193, 195, 196, 194, 197, 177, 198, 187, 177,
180, 189, 199, 185, 184, 183, 185, 186, 194, 203,
201, 202, 204, 197, 188, 198, 206, 195, 207, 209,
191, 205, 210, 211, 199, 193, 212, 215, 213, 214,
216, 217, 218, 220, 206, 219, 221, 209, 222, 224,
223, 196, 201, 202, 203, 211, 205, 227, 216, 217,
225, 228, 207, 226, 229, 210, 215, 230, 232, 212,
213, 214, 223, 219, 233, 219, 220, 234, 204, 235,
219, 236, 222, 238, 226, 239, 237, 243, 242, 244,
218, 248, 249, 246, 250, 245, 247, 224, 252, 254,
253, 255, 268, 721, 269, 258, 270, 260, 250, 221,
249, 251, 225, 232, 230, 242, 227, 245, 243, 246,
229, 244, 228, 247, 256, 257, 235, 251, 253, 234,
252, 233, 254, 236, 237, 255, 258, 259, 260, 257,
261, 262, 263, 264, 265, 238, 239, 266, 271, 272,
275, 256, 248, 273, 259, 269, 274, 277, 261, 276,
280, 268, 281, 279, 263, 266, 283, 270, 285, 284,
262, 272, 286, 276, 264, 265, 288, 277, 290, 289,
292, 271, 295, 296, 273, 284, 293, 275, 277, 297,
274, 279, 280, 289, 288, 281, 298, 303, 305, 304,
286, 285, 306, 297, 293, 308, 309, 307, 310, 311,
296, 292, 315, 314, 316, 312, 295, 319, 317, 318,
306, 325, 310, 320, 309, 283, 304, 321, 326, 323,
328, 327, 305, 330, 331, 329, 333, 334, 335, 290,
339, 353, 717, 338, 328, 352, 354, 340, 331, 330,
336, 334, 345, 308, 335, 342, 344, 298, 303, 307,
312, 314, 317, 318, 327, 319, 311, 329, 336, 325,
338, 339, 340, 344, 341, 316, 326, 320, 315, 343,
342, 345, 346, 347, 321, 323, 348, 349, 350, 352,
355, 356, 341, 353, 357, 333, 341, 358, 360, 361,
362, 343, 348, 363, 366, 354, 367, 356, 368, 370,
363, 371, 355, 346, 358, 350, 347, 361, 372, 373,
349, 374, 375, 376, 377, 360, 366, 357, 378, 379,
380, 381, 362, 371, 383, 382, 370, 385, 386, 387,
375, 368, 388, 391, 390, 372, 392, 393, 378, 396,
376, 395, 373, 397, 398, 385, 377, 382, 367, 390,
399, 400, 401, 406, 381, 374, 379, 408, 402, 386,
410, 411, 409, 412, 414, 426, 415, 421, 416, 406,
417, 408, 383, 418, 422, 420, 428, 425, 423, 380,
415, 429, 414, 393, 387, 421, 430, 417, 411, 397,
392, 388, 423, 395, 391, 409, 412, 426, 399, 425,
396, 416, 431, 398, 420, 422, 418, 400, 402, 401,
427, 432, 410, 433, 434, 435, 401, 436, 437, 438,
439, 431, 440, 441, 427, 443, 444, 429, 445, 446,
428, 435, 434, 432, 447, 448, 437, 453, 430, 443,
449, 455, 439, 454, 456, 433, 458, 446, 436, 459,
440, 438, 460, 444, 462, 461, 449, 463, 455, 464,
466, 445, 448, 469, 465, 467, 470, 471, 472, 441,
477, 474, 480, 475, 476, 478, 482, 481, 458, 447,
461, 454, 486, 487, 495, 489, 485, 490, 503, 453,
480, 515, 477, 493, 488, 716, 492, 459, 482, 497,
487, 494, 462, 464, 481, 463, 475, 476, 485, 456,
470, 467, 460, 465, 496, 486, 488, 466, 489, 499,
490, 492, 502, 471, 469, 493, 500, 472, 474, 504,
505, 478, 497, 494, 506, 507, 496, 508, 502, 509,
495, 512, 514, 513, 500, 493, 516, 515, 518, 503,
519, 499, 517, 521, 522, 523, 504, 505, 509, 513,
514, 524, 508, 525, 519, 526, 506, 527, 507, 530,
517, 528, 522, 529, 531, 516, 533, 532, 535, 538,
518, 537, 536, 539, 540, 541, 542, 545, 548, 549,
544, 550, 551, 524, 552, 512, 557, 521, 536, 558,
535, 556, 560, 561, 570, 545, 564, 565, 542, 567,
538, 540, 552, 541, 563, 568, 539, 526, 558, 528,
523, 529, 544, 530, 525, 565, 527, 572, 531, 532,
569, 537, 533, 568, 556, 571, 563, 573, 574, 575,
576, 561, 551, 577, 578, 579, 582, 583, 584, 548,
585, 586, 550, 590, 564, 557, 549, 569, 591, 567,
571, 595, 592, 560, 593, 570, 594, 596, 597, 573,
574, 598, 600, 601, 603, 602, 591, 604, 595, 586,
605, 572, 585, 607, 594, 590, 606, 611, 576, 592,
612, 577, 593, 614, 616, 601, 603, 617, 618, 619,
575, 621, 584, 600, 623, 579, 624, 626, 583, 605,
578, 628, 582, 606, 629, 607, 597, 630, 633, 625,
611, 634, 635, 637, 638, 614, 596, 602, 628, 640,
598, 643, 639, 645, 626, 641, 604, 646, 642, 648,
644, 647, 651, 659, 630, 618, 629, 661, 654, 612,
660, 637, 623, 641, 663, 616, 617, 625, 619, 639,
642, 621, 644, 662, 664, 665, 668, 670, 634, 667,
633, 671, 624, 674, 635, 654, 669, 672, 673, 675,
638, 640, 676, 660, 677, 645, 664, 678, 682, 681,
662, 648, 643, 683, 651, 669, 684, 685, 646, 659,
647, 686, 667, 661, 663, 687, 688, 690, 689, 693,
691, 695, 675, 698, 701, 699, 702, 704, 674, 685,
706, 665, 681, 670, 691, 668, 705, 708, 709, 672,
671, 683, 676, 699, 673, 710, 677, 678, 682, 715,
714, 713, 712, 711, 707, 703, 700, 697, 684, 695,
696, 686, 694, 692, 680, 679, 666, 687, 689, 709,
658, 690, 688, 705, 693, 704, 702, 657, 706, 698,
701, 656, 655, 653, 652, 650, 649, 708, 636, 632,
631, 627, 622, 620, 615, 710, 719, 719, 720, 720,
725, 725, 613, 610, 609, 608, 599, 589, 588, 587,
581, 580, 566, 562, 559, 555, 554, 553, 547, 546,
543, 534, 520, 511, 510, 501, 498, 491, 484, 483,
479, 473, 468, 457, 452, 451, 450, 442, 424, 419,
413, 407, 405, 404, 403, 394, 389, 384, 369, 365,
364, 359, 351, 337, 332, 324, 322, 313, 302, 301,
300, 299, 294, 291, 287, 282, 267, 241, 240, 231,
208, 200, 192, 173, 162, 158, 157, 153, 152, 151,
150, 149, 134, 133, 111, 87, 76, 75, 74, 71,
70, 69, 68, 67, 50, 35, 22, 18, 10, 5,
718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
718, 718, 718, 718, 718, 718, 718, 718, 718, 718,
718, 718, 718, 718
} ;
static yy_state_type yy_last_accepting_state;
static char *yy_last_accepting_cpos;
/* The intent behind this definition is that it'll catch
* any uses of REJECT which flex missed.
*/
#define REJECT reject_used_but_not_detected
#define yymore() yymore_used_but_not_detected
#define YY_MORE_ADJ 0
char *yytext;
#line 1 "asn_lex.l"
#define INITIAL 0
#line 2 "asn_lex.l"
/*
* asn_lex.l
*
* ASN lexical analysis file
*
* ASN.1 compiler to produce C++ classes.
*
* Copyright (c) 1997-1999 Equivalence Pty. Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is ASN Parser.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Portions of this code were written with the assisance of funding from
* Vovida Networks, Inc. http://www.vovida.com.
*
* Portions are Copyright (C) 1993 Free Software Foundation, Inc.
* All Rights Reserved.
*
* Contributor(s): ______________________________________.
*
* $Log: asn_lex.l,v $
* Revision 1.16 2001/04/23 04:40:14 robertj
* Added ASN standard types GeneralizedTime and UTCTime
*
* Revision 1.15 2001/01/17 00:52:56 robertj
* Added option to remove warning about isatty() under Win32.
*
* Revision 1.14 2001/01/17 00:33:59 robertj
* Removed extra %option, there need be only one.
*
* Revision 1.13 2001/01/16 14:00:17 craigs
* Changed MIN and MAX tokens to avoid namespace conflicts under BeOS
*
* Revision 1.12 2001/01/16 13:26:32 rogerh
* Remove warnings by caused by unused default output and yyunput definitions.
* Submitted by Jac Goudsmit <jac_goudsmit@yahoo.com>
*
* Revision 1.11 2000/09/11 12:27:37 robertj
* Fixed missing ! in lexical scanner, thanks Luca Faustin <luca.faustin@ipc.it>
*
* Revision 1.10 2000/01/19 12:33:07 robertj
* Fixed parsing of OID's in IMPORTS section.
*
* Revision 1.9 1999/07/22 06:48:55 robertj
* Added comparison operation to base ASN classes and compiled ASN code.
* Added support for ANY type in ASN parser.
*
* Revision 1.8 1999/06/09 06:58:09 robertj
* Adjusted heading comments.
*
* Revision 1.7 1999/06/07 01:56:25 robertj
* Added header comment on license.
*
* Revision 1.6 1999/06/06 05:30:28 robertj
* Support for parameterised types and type-dentifier types.
* Added ability to output multiple .cxx files.
*
* Revision 1.5 1999/02/09 01:26:50 robertj
* Fixed warning problems with #define for identifier "comment"
*
* Revision 1.4 1999/01/29 12:18:51 robertj
* Fixed warning in standard header file, caused by macro defined in flex.skel.
*
* Revision 1.3 1998/05/21 08:21:50 robertj
* GNU C++ compatibility
*
* Revision 1.2 1998/05/21 04:21:47 robertj
* Implementing more of the ASN spec.
*
* Revision 1.1 1997/12/13 09:17:49 robertj
* Initial revision
*
*
*/
#include <ptlib.h>
#include "main.h"
#include "asn_grammar.h"
#include <ctype.h>
extern FILE * yyin;
extern unsigned lineNumber;
int LexEcho = FALSE;
#define YY_USER_ACTION if (LexEcho) cout << yytext << flush;
int ReferenceTokenContext = MODULEREFERENCE;
int IdentifierTokenContext = IDENTIFIER;
int BraceTokenContext = '{';
int NullTokenContext = NULL_TYPE;
int InMacroContext = FALSE;
int HasObjectTypeMacro = FALSE;
int InMIBContext = FALSE;
TypesList * CurrentImportList = NULL;
extern "C" int yywrap() { return 1; }
static int TokenSelect(int context, int token1, int token2)
{
if (context)
return token1;
yylval.sval = new PString(yytext);
return token2;
}
#define YY_NO_UNPUT 1
#define YY_NEVER_INTERACTIVE 1
#define comment_line 1
/* Macros after this point can all be overridden by user definitions in
* section 1.
*/
#ifndef YY_SKIP_YYWRAP
#ifdef __cplusplus
extern "C" int yywrap YY_PROTO(( void ));
#else
extern int yywrap YY_PROTO(( void ));
#endif
#endif
#ifndef YY_NO_UNPUT
static void yyunput YY_PROTO(( int c, char *buf_ptr ));
#endif
#ifndef yytext_ptr
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
#endif
#ifndef YY_NO_INPUT
#ifdef __cplusplus
static int yyinput YY_PROTO(( void ));
#else
static int input YY_PROTO(( void ));
#endif
#endif
#if YY_STACK_USED
static int yy_start_stack_ptr = 0;
static int yy_start_stack_depth = 0;
static int *yy_start_stack = 0;
#ifndef YY_NO_PUSH_STATE
static void yy_push_state YY_PROTO(( int new_state ));
#endif
#ifndef YY_NO_POP_STATE
static void yy_pop_state YY_PROTO(( void ));
#endif
#ifndef YY_NO_TOP_STATE
static int yy_top_state YY_PROTO(( void ));
#endif
#else
#define YY_NO_PUSH_STATE 1
#define YY_NO_POP_STATE 1
#define YY_NO_TOP_STATE 1
#endif
#ifdef YY_MALLOC_DECL
YY_MALLOC_DECL
#else
#if __STDC__
#ifndef __cplusplus
#include <stdlib.h>
#endif
#else
/* Just try to get by without declaring the routines. This will fail
* miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
* or sizeof(void*) != sizeof(int).
*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -