📄 copy_pars.c
字号:
/*Copyright (c) 2000, Red Hat, Inc.This file is part of Source-Navigator.Source-Navigator is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public License as publishedby the Free Software Foundation; either version 2, or (at your option)any later version.Source-Navigator is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public License alongwith Source-Navigator; see the file COPYING. If not, write tothe Free Software Foundation, 59 Temple Place - Suite 330, Boston,MA 02111-1307, USA.*//* $Id: copy_pars.c 5 2002-04-18 23:34:32Z mdejong $ */#include "copy_pars.h"#ifdef __cplusplusextern "C" {#include "Reuse.h"#include "rMemory.h"#include "General.h"#include "DynArray.h"#ifndef NO_RECOVER#include "Sets.h"#endif#if ! defined NO_RECOVER | defined YYReParse#include "Errors.h"#endif#if defined YYDEBUG | defined lex_interface#include "Position.h"#endif#include <stdio.h>#include <string.h>}#else#include "Reuse.h"#include "rMemory.h"#include "General.h"#include "DynArray.h"#ifndef NO_RECOVER#include "Sets.h"#endif#if ! defined NO_RECOVER | defined YYReParse#include "Errors.h"#endif#if defined YYDEBUG | defined lex_interface#include "Position.h"#endif#include <stdio.h>#endif#ifdef lex_interface#define GetToken yylex extern int yylex ARGS ((void));#ifndef AttributeDef#include "Position.h" typedef struct { tPosition Position; } tScanAttribute; tScanAttribute Attribute = {{ 0, 0 }};#endif#ifndef ErrorAttributeDef#define ErrorAttribute(Token, RepairAttribute)#endif#ifndef yyGetAttribute#define yyGetAttribute(yyAttrStackPtr, a) * yyAttrStackPtr = yylval#endif#else#include "Scanner.h"#ifndef yyGetAttribute#define yyGetAttribute(yyAttrStackPtr, a) (yyAttrStackPtr)->Scan = a#endif#endiftypedef unsigned short yyStateRange ;typedef unsigned short yySymbolRange ;typedef struct { yyStateRange Check, Next; } yytComb;typedef enum {yyNT0_intern = 463,yyNTstart = 464,yyNTxx_start_1_2 = 465,yyNTxx_start_2_2 = 466,yyNTcopy = 467,yyNTcopy_name = 468,yyNTcopy_suppress_o = 469,yyNTcopy_replacing_o = 470,yyNTxx_copy_replacing_o_1_1 = 471,yyNTcopy_replacing_l = 472,yyNTcopy_replacing_e = 473,yyNTreplace = 474,yyNTxx_replace_1_1 = 475,yyNTreplace_l = 476,yyNTreplace_e = 477,yyNTreplacing_item_1 = 478,yyNTpseudo_text_1 = 479,yyNTreplacing_item_2 = 480,yyNTxx_replacing_item_2_2_1 = 481,yyNTpseudo_text_2 = 482,yyNTreplacing_item = 483,yyNTtoken_l = 484,yyNTtoken_e = 485,yyNTtoken = 486,yyNTexpression = 487,yyNTmultiplicative_expression = 488,yyNTpower_expression = 489,yyNTunary_expression = 490,yyNTprimary_expression = 491,yyNTfunction_call = 492,yyNTfunction_name_1 = 493,yyNTfunction_name_2 = 494,yyNTargument_l = 495,yyNTidentifier = 496,yyNTqualification = 497,yyNTin_of = 498,yyNTindex_l = 499,yyNTindex = 500,yyNTreference_modifier = 501,yyNTchapter_name = 502,yyNTliteral = 503,yyNTinteger = 504,yyNTu_integer = 505} yytNonterminal;typedef struct { short yyMode; rbool yyActions, yyMessages; } yytControl;static yytControl yyControl = { 0, rtrue, rtrue }; rbool copy_pars_Debug = rfalse;#define yyFirstTerminal 0#define yyLastTerminal 462#define yySetSize 463#define yyFirstSymbol 0#define yyLastSymbol 505#define yyTTableMax 1265#define yyNTableMax 607#define yyStartState 1#define yyFirstReadState 1#define yyLastReadState 84#define yyFirstReadReduceState 85#define yyLastReadReduceState 140#define yyFirstReduceState 141#define yyLastReduceState 266#define yyLastState 276#define yyLastStopState 141#define YYTDefault#define YYNDefault#define YYTrialParse#define YYGetLook#define yyFirstFinalState yyFirstReadReduceState#define ErrorMessages(Messages) yyControl.yyMessages = Messages#define SemActions(Actions) yyControl.yyActions = Actions#ifdef YYGetLook#define GetLookahead(k) yyGetLookahead ((k) - 1, yyTerminal)#define GetAttribute(k, a) xxGetAttribute ((k) - 1, yyTerminal, a)static int yyGetLookahead ARGS ((int yyk, yySymbolRange yyToken));static void xxGetAttribute ARGS ((int yyk, yySymbolRange yyToken, tScanAttribute * yyAttribute));#endif/* line 5 "copy_pars.lrk" */#include "Position.h"#include "StringM.h"#include "Idents.h"#define yyInitBufferSize 32#define TOKENOP PrevEPos = CurrentEPos; CurrentEPos = Attribute.name.EPos;#define BEFORE_TRIAL tPosition SavePEPos, SaveCEPos; SavePEPos = PrevEPos; SaveCEPos = CurrentEPos;#define AFTER_TRIAL PrevEPos = SavePEPos; CurrentEPos = SaveCEPos;extern rbool Copy ARGS ((tIdent ident, tPosition pos));static tPosition PrevEPos, CurrentEPos;static tIdent iCURRENT_DATE ;static tIdent iWHEN_COMPILED ;typedef struct { tIdent Ident; tPosition Pos; } zzcopy_name;typedef struct { long Value; } zzinteger;typedef struct { long Value; tScanAttribute Scan; } zzu_integer;typedef union {tScanAttribute Scan;zzcopy_name copy_name;zzinteger integer;zzu_integer u_integer;} tParsAttribute;#if defined lex_interface & ! defined yylvalDef tParsAttribute yylval;#endif#ifndef yyInitStackSize#define yyInitStackSize 100#endif#ifndef MY_ERROR#define MY_ERROR#endif#define yyNoState 0#define yystandard 1#define yytrial 2#define yybuffer 4#define yyreparse 8#define yyS yySynAttribute#define yyA yyAttrStackPtr#define YYACCEPT goto yyAccept#define YYABORT goto yyAbort#ifdef YYDEC_TABLE#define yyDecrement(x)#define yySetNT(x)#else#define yyDecrement(x) yyStateStackPtr -= x; yyAttrStackPtr -= x;#define yySetNT(x) yyNonterminal = x;#endif#ifdef YYNDefault#define yytNComb yytComb#else#define yytNComb yyStateRange#endif#if defined YYDEBUG | defined YYDCRPstatic long yyCount = 0;static FILE * yyTrace ;static void yyPrintState ARGS ((yyStateRange yyState));static void yyNl ARGS ((void));static char * yyRule [] = { 0,""};#endif char * copy_pars_TokenName [yyLastTerminal + 2] = {"_EOF_","name","paragraph_name","unsigned_integer","plus_integer","minus_integer","level_number","real","string","pseudo_text","picture_string","illegal_character",".",0,0,0,0,0,0,"ALL",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"BY",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"FUNCTION",0,0,0,0,0,0,0,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -