/*55:*/ //#line 77 "/usr/local/yacco2/library/rc.w" /*565:*/ //#line 24 "/usr/local/yacco2/library/macros.w" /*:565*/ //#line 78 "/usr/local/yacco2/library/rc.w" /*26:*/ //#line 404 "/usr/local/yacco2/library/intro.w" #include "yacco2.h" /*:26*/ //#line 79 "/usr/local/yacco2/library/rc.w" /*27:*/ //#line 408 "/usr/local/yacco2/library/intro.w" #include "yacco2_characters.h" /*:27*/ //#line 80 "/usr/local/yacco2/library/rc.w" /*28:*/ //#line 412 "/usr/local/yacco2/library/intro.w" #include "yacco2_k_symbols.h" /*:28*/ //#line 81 "/usr/local/yacco2/library/rc.w" using namespace NS_yacco2_characters; /*54:*/ //#line 38 "/usr/local/yacco2/library/rc.w" int yacco2::rc_map::current_rc_malloc_sub__(-1); char yacco2::rc_map::array_chr_sym__[SIZE_RC_MALLOC]; yacco2::KCHARP yacco2::rc_map::chr_literal__[ASCII_8_BIT]= {"\x00","\x01","\x02","\x03","\x04","\x05","\x06","\x07","\x08","\x09","\x0a" ,"\x0b","\x0c","\x0d","\x0e","\x0f" ,"\x10","\x11","\x12","\x13","\x14","\x15","\x16","\x17","\x18","\x19","\x1a" ,"\x1b","\x1c","\x1d","\x1e","\x1f" ,"\x20","\x21","\x22","\x23","\x24","\x25","\x26","\x27","\x28","\x29","\x2a" ,"\x2b","\x2c","\x2d","\x2e","\x2f" ,"\x30","\x31","\x32","\x33","\x34","\x35","\x36","\x37","\x38","\x39","\x3a" ,"\x3b","\x3c","\x3d","\x3e","\x3f" ,"\x40","\x41","\x42","\x43","\x44","\x45","\x46","\x47","\x48","\x49","\x4a" ,"\x4b","\x4c","\x4d","\x4e","\x4f" ,"\x50","\x51","\x52","\x53","\x54","\x55","\x56","\x57","\x58","\x59","\x5a" ,"\x5b","\x5c","\x5d","\x5e","\x5f" ,"\x60","\x61","\x62","\x63","\x64","\x65","\x66","\x67","\x68","\x69","\x6a" ,"\x6b","\x6c","\x6d","\x6e","\x6f" ,"\x70","\x71","\x72","\x73","\x74","\x75","\x76","\x77","\x78","\x79","\x7a" ,"\x7b","\x7c","\x7d","\x7e","\x7f" ,"\x80","\x81","\x82","\x83","\x84","\x85","\x86","\x87","\x88","\x89","\x8a" ,"\x8b","\x8c","\x8d","\x8e","\x8f" ,"\x90","\x91","\x92","\x93","\x94","\x95","\x96","\x97","\x98","\x99","\x9a" ,"\x9b","\x9c","\x9d","\x9e","\x9f" ,"\xa0","\xa1","\xa2","\xa3","\xa4","\xa5","\xa6","\xa7","\xa8","\xa9","\xaa" ,"\xab","\xac","\xad","\xae","\xaf" ,"\xb0","\xb1","\xb2","\xb3","\xb4","\xb5","\xb6","\xb7","\xb8","\xb9","\xba" ,"\xbb","\xbc","\xbd","\xbe","\xbf" ,"\xc0","\xc1","\xc2","\xc3","\xc4","\xc5","\xc6","\xc7","\xc8","\xc9","\xca" ,"\xcb","\xcc","\xcd","\xce","\xcf" ,"\xd0","\xd1","\xd2","\xd3","\xd4","\xd5","\xd6","\xd7","\xd8","\xd9","\xda" ,"\xdb","\xdc","\xdd","\xde","\xdf" ,"\xe0","\xe1","\xe2","\xe3","\xe4","\xe5","\xe6","\xe7","\xe8","\xe9","\xea" ,"\xeb","\xec","\xed","\xee","\xef" ,"\xf0","\xf1","\xf2","\xf3","\xf4","\xf5","\xf6","\xf7","\xf8","\xf9","\xfa" ,"\xfb","\xfc","\xfd","\xfe","\xff" }; /*:54*//*56:*/ //#line 89 "/usr/local/yacco2/library/rc.w" yacco2::CAbs_lr1_sym* yacco2::rc_map:: map_char_to_raw_char_sym (yacco2::UINT Char,yacco2::UINT File_no,yacco2::UINT Pos,UINT*Line_no,UINT*Pos_in_line){ map_char_to_symbol: /*548:*/ //#line 65 "/usr/local/yacco2/library/constraints.w" if(File_no<1){ yacco2::KCHARP msg= "Error - File_no not 1 or greater"; Yacco2_faulty_precondition(msg,__FILE__,__LINE__); exit(1); } /*:548*/ //#line 95 "/usr/local/yacco2/library/rc.w" if(Char>=rc_size_){ /*562:*/ //#line 241 "/usr/local/yacco2/library/constraints.w" char a[BUFFER_SIZE]; yacco2::KCHARP msg= "Error - Bad char mapping chr value: %i"; sprintf(a,msg,Char); Yacco2_faulty_precondition(a,__FILE__,__LINE__); exit(1); /*:562*/ //#line 97 "/usr/local/yacco2/library/rc.w" return 0; } /*646:*/ //#line 1538 "/usr/local/yacco2/library/macros.w" if(yacco2::YACCO2_TLEX__){ /*389:*/ //#line 3053 "/usr/local/yacco2/library/parser.w" LOCK_MUTEX(yacco2::TRACE_MU); if(yacco2::YACCO2_MU_TRACING__){ yacco2::lrclog<<"YACCO2_MU_TRACING__::Acquired trace mu"<tok_co_ords__.external_file_id__= File_no; yacco2::PTR_LR1_eog__->tok_co_ords__.rc_pos__= Pos; yacco2::PTR_LR1_eog__->set_line_no_and_pos_in_line(*Line_no,1); return yacco2::PTR_LR1_eog__; } /*57:*/ //#line 121 "/usr/local/yacco2/library/rc.w" ++rc_map::current_rc_malloc_sub__; long rc_sub= current_rc_malloc_sub__*SIZE_CAbs_lr1_sym; if(rc_sub> SIZE_RC_MALLOC){ /*563:*/ //#line 251 "/usr/local/yacco2/library/constraints.w" char a[BUFFER_SIZE]; yacco2::KCHARP msg= "Error - Sorry run out of raw character storage: need to regen Yacco2: %i"; sprintf(a,msg,SIZE_RC_MALLOC); Yacco2_faulty_precondition(a,__FILE__,__LINE__); exit(1); //#line 1 "/usr/local/yacco2/library/macros.w" /*:563*/ //#line 125 "/usr/local/yacco2/library/rc.w" } CAbs_lr1_sym*sym= (CAbs_lr1_sym*)&rc_map::array_chr_sym__[rc_sub]; sym->id__= rc_map::chr_literal__[Char]; sym->enumerated_id__= Char+START_OF_RC_ENUM; sym->tok_co_ords__.external_file_id__= File_no; sym->tok_co_ords__.rc_pos__= Pos; /*49:*/ //#line 113 "/usr/local/yacco2/library/set.w" INT R= sym->enumerated_id__%SET_ELEM_NO_BITS; sym->tok_co_ords__.set_entry__.partition__ = sym->enumerated_id__/SET_ELEM_NO_BITS; sym->tok_co_ords__.set_entry__.elements__= 1<set_line_no_and_pos_in_line(*Line_no,*Pos_in_line); if(Char==LINE_FEED){ ++(*Line_no); *Pos_in_line= START_CHAR_POS; } return sym; } /*:56*/ //#line 83 "/usr/local/yacco2/library/rc.w" /*:55*/