📄 coach_lang_par.cc
字号:
/* A Bison parser, made from /Users/tom/rcssserver/release/rcssserver/10.0.7/src/coach_lang_par.yy by GNU Bison version 1.28 */#define YYBISON 1 /* Identify Bison output. */#define RCSS_CLANG_INT 257#define RCSS_CLANG_REAL 258#define RCSS_CLANG_STR 259#define RCSS_CLANG_VAR 260#define RCSS_CLANG_LP 261#define RCSS_CLANG_RP 262#define RCSS_CLANG_LB 263#define RCSS_CLANG_RB 264#define RCSS_CLANG_SAY 265#define RCSS_CLANG_HEAR 266#define RCSS_CLANG_COACH_SIDE 267#define RCSS_CLANG_META 268#define RCSS_CLANG_FREEFORM 269#define RCSS_CLANG_UNSUPP 270#define RCSS_CLANG_INFO 271#define RCSS_CLANG_ADVICE 272#define RCSS_CLANG_DEFINE 273#define RCSS_CLANG_DEFINEC 274#define RCSS_CLANG_DEFINED 275#define RCSS_CLANG_DEFINER 276#define RCSS_CLANG_DEFINEA 277#define RCSS_CLANG_VER 278#define RCSS_CLANG_NULL_REGION 279#define RCSS_CLANG_QUAD 280#define RCSS_CLANG_ARC 281#define RCSS_CLANG_PT 282#define RCSS_CLANG_REG 283#define RCSS_CLANG_TRI 284#define RCSS_CLANG_REC 285#define RCSS_CLANG_BALL 286#define RCSS_CLANG_POS 287#define RCSS_CLANG_HOME 288#define RCSS_CLANG_BALLTO 289#define RCSS_CLANG_MARK 290#define RCSS_CLANG_MARK_LINE 291#define RCSS_CLANG_OFFLINE 292#define RCSS_CLANG_HTYPE 293#define RCSS_CLANG_BMOVE_TOKEN 294#define RCSS_CLANG_DO_DONT 295#define RCSS_CLANG_TEAM 296#define RCSS_CLANG_TRUE_KW 297#define RCSS_CLANG_FALSE_KW 298#define RCSS_CLANG_PPOS 299#define RCSS_CLANG_BPOS 300#define RCSS_CLANG_BOWNER 301#define RCSS_CLANG_AND 302#define RCSS_CLANG_OR 303#define RCSS_CLANG_NOT 304#define RCSS_CLANG_PLAY_MODE_KW 305#define RCSS_CLANG_PLAY_MODE 306#define RCSS_CLANG_CLEAR 307#define RCSS_CLANG_L 308#define RCSS_CLANG_G 309#define RCSS_CLANG_E 310#define RCSS_CLANG_NE 311#define RCSS_CLANG_LE 312#define RCSS_CLANG_GE 313#define RCSS_CLANG_PLUS 314#define RCSS_CLANG_MINUS 315#define RCSS_CLANG_MULT 316#define RCSS_CLANG_DIV 317#define RCSS_CLANG_TIME 318#define RCSS_CLANG_OPP_GOAL 319#define RCSS_CLANG_OUR_GOAL 320#define RCSS_CLANG_GOAL_DIFF 321#define RCSS_CLANG_UNUM 322#define RCSS_CLANG_PASS 323#define RCSS_CLANG_DRIBBLE 324#define RCSS_CLANG_SHOOT 325#define RCSS_CLANG_HOLD 326#define RCSS_CLANG_INTERCEPT 327#define RCSS_CLANG_TACKLE 328#define RCSS_CLANG_RULE 329#define RCSS_CLANG_ON_OFF 330#define RCSS_CLANG_ALL 331#define RCSS_CLANG_DEL 332#define RCSS_CLANG_DEFRULE 333#define RCSS_CLANG_MODEL 334#define RCSS_CLANG_DIREC 335#define RCSS_CLANG_ERROR 336#line 26 "coach_lang_par.yy"#include "clangbuilder.h"#include "clangparser.h"#include "serverparam.h"#define yymaxdepth RCSS_CLANG_maxdepth#define yyparse RCSS_CLANG_parse#define yylex RCSS_CLANG_lex#define yyerror RCSS_CLANG_error#define yylval RCSS_CLANG_lval#define yychar RCSS_CLANG_char#define yydebug RCSS_CLANG_debug#define yypact RCSS_CLANG_pact#define yyr1 RCSS_CLANG_r1#define yyr2 RCSS_CLANG_r2#define yydef RCSS_CLANG_def#define yychk RCSS_CLANG_chk#define yypgo RCSS_CLANG_pgo#define yyact RCSS_CLANG_act#define yyexca RCSS_CLANG_exca#define yyerrflag RCSS_CLANG_errflag#define yynerrs RCSS_CLANG_nerrs#define yyps RCSS_CLANG_ps#define yypv RCSS_CLANG_pv#define yys RCSS_CLANG_s#define yy_yys RCSS_CLANG_yys#define yystate RCSS_CLANG_state#define yytmp RCSS_CLANG_tmp#define yyv RCSS_CLANG_v#define yy_yyv RCSS_CLANG_yyv#define yyval RCSS_CLANG_val#define yylloc RCSS_CLANG_lloc#define yyreds RCSS_CLANG_reds#define yytoks RCSS_CLANG_toks#define yylhs RCSS_CLANG_yylhs#define yylen RCSS_CLANG_yylen#define yydefred RCSS_CLANG_yydefred#define yydgoto RCSS_CLANG_yydgoto#define yysindex RCSS_CLANG_yysindex#define yyrindex RCSS_CLANG_yyrindex#define yygindex RCSS_CLANG_yygindex#define yytable RCSS_CLANG_yytable#define yycheck RCSS_CLANG_yycheck#define yyname RCSS_CLANG_yyname#define yyrule RCSS_CLANG_yyrule#define YYERROR_VERBOSEvoid yyerror (const char* s);int yyerror (char* s);#define YYPARSE_PARAM paramnamespace{ rcss::clang::Parser::Param& getParam( void* param ) { static rcss::clang::Parser::Param* cached_param = reinterpret_cast< rcss::clang::Parser::Param* >( param ); if( cached_param != param ) cached_param = reinterpret_cast< rcss::clang::Parser::Param* >( param ); return *cached_param; } inline rcss::clang::Builder& getBuilder( void* param ) { return getParam( param ).getBuilder(); }#define YYSTYPE rcss::clang::Parser::Lexer::Holder inline int yylex( YYSTYPE* holder, rcss::clang::Parser::Param& param ) { int rval = param.getLexer().lex( *holder );// cout << rval << endl; return rval; }}#define YYLEX_PARAM getParam( param )#define BUILDER getBuilder( param )#ifndef YYSTYPE#define YYSTYPE int#endif#include <stdio.h>#ifndef __cplusplus#ifndef __STDC__#define const#endif#endif#define YYFINAL 315#define YYFLAG -32768#define YYNTBASE 83#define YYTRANSLATE(x) ((unsigned)(x) <= 336 ? yytranslate[x] : 128)static const char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82};#if YYDEBUG != 0static const short yyprhs[] = { 0, 0, 5, 7, 15, 17, 19, 21, 23, 25, 27, 29, 31, 36, 39, 41, 46, 48, 52, 54, 57, 59, 64, 69, 72, 74, 79, 84, 87, 89, 95, 101, 107, 113, 118, 122, 126, 131, 136, 138, 141, 143, 148, 152, 157, 162, 168, 172, 175, 177, 182, 187, 193, 198, 203, 208, 213, 218, 223, 225, 230, 235, 240, 245, 249, 253, 257, 262, 269, 271, 274, 276, 279, 281, 285, 289, 298, 303, 309, 314, 319, 324, 329, 331, 335, 341, 347, 349, 351, 353, 355, 359, 363, 367, 371, 375, 379, 383, 387, 389, 391, 393, 395, 397, 399, 402, 404, 408, 416, 425, 430, 432, 434, 441, 447, 450, 452, 458, 465, 470, 476, 482, 488, 492, 496, 500, 504, 508, 510, 512, 514, 518, 520, 523, 525, 527, 529, 533, 536};static const short yyrhs[] = { 7, 11, 84, 8, 0, 84, 0, 7, 12, 3, 13, 3, 84, 8, 0, 91, 0, 100, 0, 102, 0, 103, 0, 94, 0, 101, 0, 85, 0, 90, 0, 7, 75, 86, 8, 0, 86, 87, 0, 87, 0, 7, 76, 88, 8, 0, 6, 0, 7, 89, 8, 0, 77, 0, 89, 6, 0, 6, 0, 7, 78, 88, 8, 0, 7, 14, 92, 8, 0, 92, 93, 0, 93, 0, 7, 24, 122, 8, 0, 7, 19, 95, 8, 0, 95, 96, 0, 96, 0, 7, 20, 5, 110, 8, 0, 7, 21, 5, 107, 8, 0, 7, 22, 5, 118, 8, 0, 7, 23, 5, 106, 8, 0, 7, 79, 97, 8, 0, 6, 80, 98, 0, 6, 81, 98, 0, 7, 110, 109, 8, 0, 7, 110, 99, 8, 0, 88, 0, 99, 98, 0, 98, 0, 7, 15, 5, 8, 0, 7, 16, 8, 0, 7, 17, 105, 8, 0, 7, 18, 105, 8, 0, 7, 3, 110, 109, 8, 0, 7, 53, 8, 0, 105, 104, 0, 104, 0, 7, 33, 118, 8, 0, 7, 34, 118, 8, 0, 7, 35, 118, 126, 8, 0, 7, 35, 123, 8, 0, 7, 36, 123, 8, 0, 7, 37, 123, 8, 0, 7, 37, 118, 8, 0, 7, 38, 118, 8, 0, 7, 39, 3, 8, 0, 5, 0, 7, 69, 118, 8, 0, 7, 69, 123, 8, 0, 7, 70, 118, 8, 0, 7, 53, 118, 8, 0, 7, 71, 8, 0, 7, 72, 8, 0, 7, 73, 8, 0, 7, 74, 123, 8, 0, 7, 41, 42, 123, 108, 8, 0, 5, 0, 108, 106, 0, 106, 0, 109, 107, 0, 107, 0, 7, 43, 8, 0, 7, 44, 8, 0, 7, 45, 42, 123, 3, 3, 118, 8, 0, 7, 46, 118, 8, 0, 7, 47, 42, 123, 8, 0, 7, 51, 52, 8, 0, 7, 48, 117, 8, 0, 7, 49, 117, 8, 0, 7, 50, 110, 8, 0, 5, 0, 7, 111, 8, 0, 7, 68, 6, 123, 8, 0, 7, 68, 5, 123, 8, 0, 112, 0, 113, 0, 114, 0, 115, 0, 64, 116, 3, 0, 3, 116, 64, 0, 65, 116, 3, 0, 3, 116, 65, 0, 66, 116, 3, 0, 3, 116, 66, 0, 67, 116, 3, 0, 3, 116, 67, 0, 54, 0, 58, 0, 59, 0, 55, 0, 56, 0, 57, 0, 117, 110, 0, 110, 0, 7, 25, 8, 0, 7, 26, 120, 120, 120, 120, 8, 0, 7, 27, 120, 122, 122, 122, 122, 8, 0, 7, 29, 119, 8, 0, 5, 0, 120, 0, 7, 30, 120, 120, 120, 8, 0, 7, 31, 120, 120, 8, 0, 119, 118, 0, 118, 0, 7, 28, 122, 122, 8, 0, 7, 28, 122, 122, 120, 8, 0, 7, 28, 32, 8, 0, 7, 28, 42, 3, 8, 0, 7, 28, 42, 6, 8, 0, 7, 28, 42, 5, 8, 0, 7, 121, 8, 0, 121, 60, 121, 0, 121, 61, 121, 0, 121, 62, 121, 0, 121, 63, 121, 0, 120, 0, 3, 0, 4, 0, 9, 124, 10, 0, 125, 0, 124, 125, 0, 3, 0, 6, 0, 5, 0, 9, 127, 10, 0, 127, 40, 0, 40, 0};#endif#if YYDEBUG != 0static const short yyrline[] = { 0, 234, 235, 236, 246, 247, 248, 249, 250, 251, 252, 253, 256, 261, 262, 265, 269, 272, 274, 278, 280, 284, 289, 293, 294, 297, 302, 307, 308, 311, 314, 317, 320, 323, 327, 329, 333, 335, 337, 341, 342, 346, 360, 367, 373, 379, 382, 386, 387, 390, 393, 396, 399, 402, 405, 408, 411, 414, 416, 418, 422, 426, 430, 434, 437, 440, 443, 449, 453, 457, 458, 461, 462, 465, 467, 469, 474, 477, 480, 483, 486, 489, 492, 494, 496, 500, 506, 507, 508, 509, 512, 515, 520, 523, 528, 531, 536, 539, 544, 544, 544, 544, 545, 545, 548, 550, 554, 556, 560, 566, 569, 571, 573, 577, 584, 585, 588, 591, 594, 596, 600, 605, 610, 613, 616, 619, 622, 625, 628, 630, 634, 638, 639, 642, 645, 650, 657, 660, 662};#endif#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)static const char * const yytname[] = { "$","error","$undefined.","RCSS_CLANG_INT","RCSS_CLANG_REAL","RCSS_CLANG_STR","RCSS_CLANG_VAR","\"(\"","\")\"","\"{\"","\"}\"","\"say\"","\"hear\"","RCSS_CLANG_COACH_SIDE","\"meta\"","\"freeform\"","\"unsupported_clang\"","\"info\"","\"advice\"","\"define\"","\"definec\"","\"defined\"","\"definer\"","\"definea\"","\"ver\"","\"null\"","\"quad\"","\"arc\"","\"pt\"","\"reg\"","\"tri\"","\"rec\"","\"ball\"","\"pos\"","\"home\"","\"bto\"","\"mark\"","\"markl\"","\"oline\"","\"htype\"","RCSS_CLANG_BMOVE_TOKEN","RCSS_CLANG_DO_DONT","RCSS_CLANG_TEAM","\"true\"","\"false\"","\"ppos\"","\"bpos\"","\"bowner\"","\"and\"","\"or\"","\"not\"","\"playm\"","RCSS_CLANG_PLAY_MODE","\"clear\"","\"<\"","\">\"","\"==\"","\"!=\"","\"<=\"","\">=\"","\"+\"","\"-\"","\"*\"","\"/\"","\"time\"","\"opp_goals\"","\"own_goals\"","\"goal_diff\"","\"unum\"","\"pass\"","\"dribble\"","\"shoot\"","\"hold\"","\"intercept\"","\"tackle\"","\"rule\"","\"on|off\"","\"all\"","\"delete\"","\"definerule\"","\"model\"","\"direc\"","RCSS_CLANG_ERROR","command","message","rule_mess","activation_list","activation_element","id_list","id_list2","del_mess","meta_mess","meta_token_list","meta_token","define_mess","define_token_list","define_token","define_rule","rule","rule_list","freeform_mess","unsupp_mess","info_mess","advice_mess","token","token_list","action","directive","action_list","directive_list","condition","cond_comp","time_comp","opp_goal_comp","our_goal_comp","goal_diff_comp","comp","condition_list","region","region_list","point","point_list","num","unum_set","unum_list","unum","bmove_token_set","bmove_token_list", NULL};#endifstatic const short yyr1[] = { 0, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84, 85, 86, 86, 87, 88, 88, 88, 89, 89, 90, 91, 92, 92, 93, 94, 95, 95, 96, 96, 96, 96, 96, 97, 97, 98, 98, 98, 99, 99, 100, 101, 102, 103, 104, 104, 105, 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, 107, 107, 108, 108, 109, 109, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111, 111, 111, 111, 112, 112, 113, 113, 114, 114, 115, 115, 116, 116, 116, 116, 116, 116, 117, 117, 118, 118, 118, 118, 118, 118, 118, 118, 119, 119, 120, 120, 120, 120, 120, 120, 120, 121, 121, 121, 121, 121, 122, 122, 123, 124, 124, 125, 125, 125, 126, 127, 127};static const short yyr2[] = { 0, 4, 1, 7, 1, 1, 1, 1, 1, 1, 1, 1, 4, 2, 1, 4, 1, 3, 1, 2, 1, 4, 4, 2, 1, 4, 4, 2, 1, 5, 5, 5, 5, 4, 3, 3, 4, 4, 1, 2, 1, 4, 3, 4, 4, 5, 3, 2, 1, 4, 4, 5, 4, 4, 4, 4, 4, 4, 1, 4, 4, 4, 4, 3, 3, 3, 4, 6, 1, 2, 1, 2, 1, 3, 3, 8, 4, 5, 4, 4, 4, 4, 1, 3, 5, 5, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 2, 1, 3, 7, 8, 4, 1, 1, 6, 5, 2, 1, 5, 6, 4, 5, 5, 5, 3, 3, 3, 3, 3, 1, 1, 1, 3, 1, 2, 1, 1, 1, 3, 2, 1};static const short yydefact[] = { 0, 0, 2, 10, 11, 4, 8, 5, 9, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 42, 0, 48, 0, 0, 0, 0, 28, 0, 0, 14, 16, 0, 18, 0, 1, 0, 0, 22, 23, 41, 0, 0, 43, 47, 44, 0, 0, 0, 0, 0, 26, 27, 0, 12, 13, 20, 0, 21, 0, 128, 129, 0, 82, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 19, 17, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 87, 88, 89, 68, 0, 72, 0, 0, 0, 110, 0, 0, 111, 58, 0, 0, 0, 0, 33, 15, 3, 98, 101, 102, 103, 99, 100, 0, 73, 74, 0, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 45, 71, 29, 30, 0, 0, 0, 0, 0, 0, 0, 0, 127, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 38, 34, 35, 91, 93, 95, 97, 0, 0, 76, 0, 79, 104, 80, 81, 78, 90, 92, 94, 96, 0, 0, 0, 106, 0, 0, 0, 0, 0, 115, 0, 0, 0, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 64, 65, 0, 0, 133, 135, 134, 0, 131, 0, 77, 85, 84, 0, 0, 0, 118, 0, 0, 0, 0, 109, 114, 0, 0, 123, 124, 125, 126, 49, 50, 0, 0, 52, 53, 55, 54, 56, 57, 62, 59, 60, 61, 66, 0, 40, 0, 0, 130, 132, 0, 70, 0, 0, 0, 119, 121, 120, 116, 0, 0, 113, 138, 0, 51, 37, 39, 36, 0, 67, 69, 0, 0, 117, 112, 136, 137, 75, 107, 0, 108, 0, 0, 0};static const short yydefgoto[] = { 313, 2, 3, 37, 38, 180, 65, 4, 5, 25, 26, 6, 34, 35, 80, 181, 278, 7, 8, 9, 10, 30, 31, 118, 108, 284, 109, 136, 101, 102, 103, 104, 105, 130, 137, 114, 210, 115, 162, 70, 188, 239, 240, 264, 295};static const short yypact[] = { 10, 48,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 20, 30, 36, 43, 44, 49, 49, 84, 87, 9, 22, 90, 91, 85, 67,-32768, 117,-32768, 15,-32768, 112, 204, 8, 249,-32768, 53, 251,-32768,-32768, 130,-32768, 125,-32768, 138, 148,-32768,-32768,-32768, 17, 139,-32768,-32768,-32768, 155, 158, 168, 170, 150,-32768,-32768, 9,-32768,-32768,-32768, 47,-32768, 20,-32768,-32768, 187,-32768, 121, 64,-32768, 17, 64, 94, 127, 180, 218, 229,-32768,-32768, 241,-32768, 151, 245, 256, 199, 94, 203, 17, 17, 17, 219, 151, 151, 151, 151, 257, 264,-32768,-32768,-32768,-32768,-32768, 232,-32768, 137, 266, 267,-32768, 194, 268,-32768,-32768, 144, 269, 13, 13,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 126,-32768,-32768, 270, 272, 270,-32768, 191, 195, 273, 274, 275, 280, 281, 282, 270, 270,-32768, 244,-32768,-32768,-32768,-32768, 7, 279, 283, 283, 89, 94, 283, 283,-32768, 50,-32768, 94, 94, 16, 270, 16, 94, 285, 94, 16, 94, 284, 286, 287, 270,-32768, 109,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 233, 288,-32768, 289,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 290, 291, 270,-32768, 283, 148, 292, 237, 148,-32768, 239, 283, 283,-32768, 283, 283, 283, 283, 293, 294, 295, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306,-32768,-32768,-32768, 307, 2,-32768,-32768,-32768, 152,-32768, 313,-32768,-32768,-32768, 127, 283, 148,-32768, 309, 310, 311, 258,-32768,-32768, 283, 312, 205, 205,-32768,-32768,-32768,-32768, 253, 314,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 133,-32768, 5, 243,-32768,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -