⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asn_lex.cxx

📁 pwlib源码库
💻 CXX
📖 第 1 页 / 共 5 页
字号:
      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 + -