Fixed random crashes and misbehaviors
							parent
							
								
									e977d1d312
								
							
						
					
					
						commit
						0bbafd636e
					
				| 
						 | 
				
			
			@ -1108,7 +1108,7 @@ get_view_prev__inner(Layout *layout, View *view){
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
    else{
 | 
			
		||||
        Panel *panel = layout_get_first_open_panel(layout);
 | 
			
		||||
        Panel *panel = layout_get_last_open_panel(layout);
 | 
			
		||||
        view = panel->view;
 | 
			
		||||
    }
 | 
			
		||||
    return(view);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -123,6 +123,16 @@ layout_get_first_open_panel(Layout *layout){
 | 
			
		|||
    return(panel);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
internal Panel*
 | 
			
		||||
layout_get_last_open_panel(Layout *layout){
 | 
			
		||||
    Panel *panel = CastFromMember(Panel, node, layout->open_panels.prev);
 | 
			
		||||
    if (panel != 0 && &panel->node == &layout->open_panels){
 | 
			
		||||
        panel = 0;
 | 
			
		||||
    }
 | 
			
		||||
    AssertImplies(panel != 0, panel->kind == PanelKind_Final);
 | 
			
		||||
    return(panel);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
internal Panel*
 | 
			
		||||
layout_get_next_open_panel(Layout *layout, Panel *panel){
 | 
			
		||||
    panel = CastFromMember(Panel, node, panel->node.next);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -43,447 +43,447 @@ lexeme_table_lookup(u64 *hash_array, String_Const_u8 *key_array,
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
u64 main_keys_hash_array[121] = {
 | 
			
		||||
    0x3165da52e461ac3f,0x0000000000000000,0x3165da52f92661bd,0x0000000000000000,
 | 
			
		||||
    0x0000000000000000,0x0000000000000000,0x3165da52f9fa6ddb,0xbfc3c777d05a650b,
 | 
			
		||||
    0x3165da52ea1d2cb3,0x0000000000000000,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
    0x0000000000000000,0xa47e4b3347ca768b,0xa47e4b0d60643265,0xf9ddaa09147bac4d,
 | 
			
		||||
    0x95351611c4501ef3,0x0000000000000000,0x0000000000000000,0xa47e4b33693ada65,
 | 
			
		||||
    0x0000000000000000,0xdb05013ca08bb8f1,0xf9ddaa091485019b,0xbfc3dfcbf5462bb3,
 | 
			
		||||
    0x0000000000000000,0x3165da52f85e6961,0x0000000000000000,0xdb0563922ce5394d,
 | 
			
		||||
    0x0000000000000000,0xa47e4b334bfc993f,0xdb02e2748a4d7e43,0x0000000000000000,
 | 
			
		||||
    0xb4c81ca554c806f3,0x0000000000000000,0x3165da52e0f88b5b,0x501eeeb814fbf821,
 | 
			
		||||
    0x0000000000000000,0xdb0503951fae6cc1,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
    0xbfc3de349dfab331,0x0000000000000000,0x0000000000000000,0x3165da52f092830f,
 | 
			
		||||
    0xa47e4b300b3f05d3,0xbfc3dfcbf546362d,0xdb05125809d1c12f,0x0000000000000000,
 | 
			
		||||
    0xed66c2eeb45a9c73,0x0000000000000000,0xf9ddaa0914eaa03f,0x77f5a2bcd06af3a3,
 | 
			
		||||
    0xa47e4b0cab3b440f,0x0000000000000000,0x0000000000000000,0x3165da52ebde8871,
 | 
			
		||||
    0xa47e4b0cab0869b5,0x3165da52e5b576b7,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
    0xa47e4b336935d383,0x0000000000000000,0x0000000000000000,0xa47e4b30efc0220b,
 | 
			
		||||
    0x0000000000000000,0x0000000000000000,0x501eeeb814fabe67,0xbfc3dfefa2fc3a77,
 | 
			
		||||
    0x0000000000000000,0x0000000000000000,0x0000000000000000,0xf9ddaa0914bb0bf9,
 | 
			
		||||
    0x0000000000000000,0xf9ddaa09148a58bb,0x0000000000000000,0xdb02e323971f6e8d,
 | 
			
		||||
    0x501eeeb814fa0161,0xa9cef01e4d45a29b,0x501eeeb814fb939f,0x0000000000000000,
 | 
			
		||||
    0xdb0517ba16b3ab83,0xbfc3dfb0ab021849,0xdb0541265bb691e9,0xbfc3df66cacb41a5,
 | 
			
		||||
    0xa47e4b325526bb31,0x0000000000000000,0xeca54fbddbbe35d5,0xa47e4b3347a263d3,
 | 
			
		||||
    0x0000000000000000,0x77e3dcb62d4753c1,0xdb05aa39286523b1,0x0000000000000000,
 | 
			
		||||
    0xf9ddaa0914b809a1,0x0000000000000000,0xc6f60bbdf7c8c073,0x3165da52e44f8393,
 | 
			
		||||
    0x0000000000000000,0x0000000000000000,0xa47e4b32f4f66927,0x0000000000000000,
 | 
			
		||||
    0xf9ddaa0914dd4631,0x0000000000000000,0xa47e4b322642ad51,0x0000000000000000,
 | 
			
		||||
    0x0000000000000000,0x0000000000000000,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
    0xa47e4b335ea331b5,0x0000000000000000,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
    0xdb0545d45d35a161,0xeca54fbddbbe34ff,0x44a0daa872c59baf,0x0000000000000000,
 | 
			
		||||
    0xf9ddaa0914c5876b,0x0000000000000000,0x501eeeb814fa0b79,0xf9ddaa0914df8d85,
 | 
			
		||||
    0xf9ddaa0914b167f3,
 | 
			
		||||
u64 cpp_main_keys_hash_array[121] = {
 | 
			
		||||
0x0000000000000000,0x03cf3a59df2800d7,0x31804e296403b305,0x3b709b613539c371,
 | 
			
		||||
0x3b709aad95fb97b3,0x0000000000000000,0x14996033a5460d1b,0x3180604229f03e4d,
 | 
			
		||||
0x0000000000000000,0x0000000000000000,0x14996033a7e5b03b,0x0000000000000000,
 | 
			
		||||
0x03cf3a58ab580caf,0x0000000000000000,0x0000000000000000,0x1901b5d07bbd53e1,
 | 
			
		||||
0x3180496d6573ea51,0x0000000000000000,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
0x0000000000000000,0x0000000000000000,0x3b709aaa9c896d6b,0xf11624614cefdacf,
 | 
			
		||||
0x3b709b7949044f87,0x0000000000000000,0x3b709aaa14b4549f,0xf114e97ba34018a3,
 | 
			
		||||
0x3180604229f29813,0x0000000000000000,0x1904509dbde2a353,0x03cf3a596f0f2511,
 | 
			
		||||
0x14996033a5507959,0x0000000000000000,0x5f3f9fc0d0a0c93f,0x03cf3a58b58c753b,
 | 
			
		||||
0x0000000000000000,0x0000000000000000,0xf10f7eff9095fb23,0x3b709aaa68405a55,
 | 
			
		||||
0x3b709b61a18cc255,0x3b709aaa7edd8723,0x0000000000000000,0xc8abc849dbd6ac9f,
 | 
			
		||||
0x0000000000000000,0x7e5f4ab862627b7b,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
0xf114b8e386ce372d,0x14996033a5580e25,0x0000000000000000,0x14996033a7d21aed,
 | 
			
		||||
0x3b709b61a19e76af,0x0000000000000000,0x14996033ab0ae5d3,0x14996033a5509f41,
 | 
			
		||||
0x0000000000000000,0x0000000000000000,0x0000000000000000,0x03cf3a58b646fa01,
 | 
			
		||||
0xf10e5cfb2d0856c9,0x8d730a2abbb45b53,0x0000000000000000,0x3b709b4626a5db05,
 | 
			
		||||
0x0000000000000000,0x03cf3a59de20fa7b,0x0000000000000000,0x14996033a6b2b45f,
 | 
			
		||||
0xf10f17d125465a91,0x03cf3a59dfc04c9f,0x5f3f9fc0d0a0ba41,0x0000000000000000,
 | 
			
		||||
0x5f3f9fc0d0a6ec81,0x0000000000000000,0x3b709aaa4a86002b,0x0000000000000000,
 | 
			
		||||
0x0000000000000000,0x5f3f9fc0d0a00819,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
0xc8abc849dbd6adb5,0x0000000000000000,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
0x5f3f9fc0d0a0d087,0x0000000000000000,0x0000000000000000,0x31806cea0e7fbb29,
 | 
			
		||||
0x0000000000000000,0x0000000000000000,0x31806c8004d41f17,0x3b709b468ffbb151,
 | 
			
		||||
0x03cf3a59df3fc9f3,0x1744d2f34117d803,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
0x0000000000000000,0x0000000000000000,0x03cf3a596ff8a353,0x0000000000000000,
 | 
			
		||||
0x0000000000000000,0x1a21e4856eaac353,0x3b709aaa7cdf92c5,0x0000000000000000,
 | 
			
		||||
0x14996033a553c5cb,0x03cf3a58b52cfddd,0x0000000000000000,0x31804dc503d40aab,
 | 
			
		||||
0x0a1c76541b3d4ccf,0x9721eca88effbb53,0xf10ea2bb4912c001,0x14996033a54db691,
 | 
			
		||||
0x0000000000000000,0xf1165cbc0c8e31e1,0xf10e41346ef0ed11,0x0000000000000000,
 | 
			
		||||
0x0000000000000000,0x0000000000000000,0x3b709aaa4b875f33,0xf10f7c240be83eed,
 | 
			
		||||
0x0000000000000000,
 | 
			
		||||
};
 | 
			
		||||
u8 main_keys_key_array_0[] = {0x63,0x61,0x74,0x63,0x68,};
 | 
			
		||||
u8 main_keys_key_array_2[] = {0x75,0x6e,0x69,0x6f,0x6e,};
 | 
			
		||||
u8 main_keys_key_array_6[] = {0x75,0x73,0x69,0x6e,0x67,};
 | 
			
		||||
u8 main_keys_key_array_7[] = {0x76,0x69,0x72,0x74,0x75,0x61,0x6c,};
 | 
			
		||||
u8 main_keys_key_array_8[] = {0x66,0x6c,0x6f,0x61,0x74,};
 | 
			
		||||
u8 main_keys_key_array_13[] = {0x73,0x74,0x61,0x74,0x69,0x63,};
 | 
			
		||||
u8 main_keys_key_array_14[] = {0x69,0x6e,0x6c,0x69,0x6e,0x65,};
 | 
			
		||||
u8 main_keys_key_array_15[] = {0x74,0x72,0x75,0x65,};
 | 
			
		||||
u8 main_keys_key_array_16[] = {0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x5f,0x63,0x61,0x73,0x74,};
 | 
			
		||||
u8 main_keys_key_array_19[] = {0x73,0x69,0x7a,0x65,0x6f,0x66,};
 | 
			
		||||
u8 main_keys_key_array_21[] = {0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,};
 | 
			
		||||
u8 main_keys_key_array_22[] = {0x74,0x68,0x69,0x73,};
 | 
			
		||||
u8 main_keys_key_array_23[] = {0x61,0x6c,0x69,0x67,0x6e,0x61,0x73,};
 | 
			
		||||
u8 main_keys_key_array_25[] = {0x77,0x68,0x69,0x6c,0x65,};
 | 
			
		||||
u8 main_keys_key_array_27[] = {0x74,0x79,0x70,0x65,0x6e,0x61,0x6d,0x65,};
 | 
			
		||||
u8 main_keys_key_array_29[] = {0x73,0x77,0x69,0x74,0x63,0x68,};
 | 
			
		||||
u8 main_keys_key_array_30[] = {0x65,0x78,0x70,0x6c,0x69,0x63,0x69,0x74,};
 | 
			
		||||
u8 main_keys_key_array_32[] = {0x73,0x74,0x61,0x74,0x69,0x63,0x5f,0x63,0x61,0x73,0x74,};
 | 
			
		||||
u8 main_keys_key_array_34[] = {0x62,0x72,0x65,0x61,0x6b,};
 | 
			
		||||
u8 main_keys_key_array_35[] = {0x74,0x72,0x79,};
 | 
			
		||||
u8 main_keys_key_array_37[] = {0x64,0x65,0x63,0x6c,0x74,0x79,0x70,0x65,};
 | 
			
		||||
u8 main_keys_key_array_40[] = {0x70,0x72,0x69,0x76,0x61,0x74,0x65,};
 | 
			
		||||
u8 main_keys_key_array_43[] = {0x73,0x68,0x6f,0x72,0x74,};
 | 
			
		||||
u8 main_keys_key_array_44[] = {0x74,0x79,0x70,0x65,0x69,0x64,};
 | 
			
		||||
u8 main_keys_key_array_45[] = {0x61,0x6c,0x69,0x67,0x6e,0x6f,0x66,};
 | 
			
		||||
u8 main_keys_key_array_46[] = {0x6e,0x6f,0x65,0x78,0x63,0x65,0x70,0x74,};
 | 
			
		||||
u8 main_keys_key_array_48[] = {0x72,0x65,0x69,0x6e,0x74,0x65,0x72,0x70,0x72,0x65,0x74,0x5f,0x63,0x61,0x73,0x74,};
 | 
			
		||||
u8 main_keys_key_array_50[] = {0x67,0x6f,0x74,0x6f,};
 | 
			
		||||
u8 main_keys_key_array_51[] = {0x70,0x72,0x6f,0x74,0x65,0x63,0x74,0x65,0x64,};
 | 
			
		||||
u8 main_keys_key_array_52[] = {0x65,0x78,0x70,0x6f,0x72,0x74,};
 | 
			
		||||
u8 main_keys_key_array_55[] = {0x66,0x61,0x6c,0x73,0x65,};
 | 
			
		||||
u8 main_keys_key_array_56[] = {0x65,0x78,0x74,0x65,0x72,0x6e,};
 | 
			
		||||
u8 main_keys_key_array_57[] = {0x63,0x6c,0x61,0x73,0x73,};
 | 
			
		||||
u8 main_keys_key_array_60[] = {0x73,0x69,0x67,0x6e,0x65,0x64,};
 | 
			
		||||
u8 main_keys_key_array_63[] = {0x70,0x75,0x62,0x6c,0x69,0x63,};
 | 
			
		||||
u8 main_keys_key_array_66[] = {0x69,0x6e,0x74,};
 | 
			
		||||
u8 main_keys_key_array_67[] = {0x64,0x65,0x66,0x61,0x75,0x6c,0x74,};
 | 
			
		||||
u8 main_keys_key_array_71[] = {0x63,0x68,0x61,0x72,};
 | 
			
		||||
u8 main_keys_key_array_73[] = {0x6c,0x6f,0x6e,0x67,};
 | 
			
		||||
u8 main_keys_key_array_75[] = {0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,};
 | 
			
		||||
u8 main_keys_key_array_76[] = {0x66,0x6f,0x72,};
 | 
			
		||||
u8 main_keys_key_array_77[] = {0x74,0x68,0x72,0x65,0x61,0x64,0x5f,0x6c,0x6f,0x63,0x61,0x6c,};
 | 
			
		||||
u8 main_keys_key_array_78[] = {0x6e,0x65,0x77,};
 | 
			
		||||
u8 main_keys_key_array_80[] = {0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,};
 | 
			
		||||
u8 main_keys_key_array_81[] = {0x6e,0x75,0x6c,0x6c,0x70,0x74,0x72,};
 | 
			
		||||
u8 main_keys_key_array_82[] = {0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,};
 | 
			
		||||
u8 main_keys_key_array_83[] = {0x74,0x79,0x70,0x65,0x64,0x65,0x66,};
 | 
			
		||||
u8 main_keys_key_array_84[] = {0x64,0x65,0x6c,0x65,0x74,0x65,};
 | 
			
		||||
u8 main_keys_key_array_86[] = {0x69,0x66,};
 | 
			
		||||
u8 main_keys_key_array_87[] = {0x73,0x74,0x72,0x75,0x63,0x74,};
 | 
			
		||||
u8 main_keys_key_array_89[] = {0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,};
 | 
			
		||||
u8 main_keys_key_array_90[] = {0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,};
 | 
			
		||||
u8 main_keys_key_array_92[] = {0x63,0x61,0x73,0x65,};
 | 
			
		||||
u8 main_keys_key_array_94[] = {0x63,0x6f,0x6e,0x73,0x74,0x5f,0x63,0x61,0x73,0x74,};
 | 
			
		||||
u8 main_keys_key_array_95[] = {0x63,0x6f,0x6e,0x73,0x74,};
 | 
			
		||||
u8 main_keys_key_array_98[] = {0x66,0x72,0x69,0x65,0x6e,0x64,};
 | 
			
		||||
u8 main_keys_key_array_100[] = {0x65,0x6c,0x73,0x65,};
 | 
			
		||||
u8 main_keys_key_array_102[] = {0x64,0x6f,0x75,0x62,0x6c,0x65,};
 | 
			
		||||
u8 main_keys_key_array_108[] = {0x72,0x65,0x74,0x75,0x72,0x6e,};
 | 
			
		||||
u8 main_keys_key_array_112[] = {0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,};
 | 
			
		||||
u8 main_keys_key_array_113[] = {0x64,0x6f,};
 | 
			
		||||
u8 main_keys_key_array_114[] = {0x73,0x74,0x61,0x74,0x69,0x63,0x5f,0x61,0x73,0x73,0x65,0x72,0x74,};
 | 
			
		||||
u8 main_keys_key_array_116[] = {0x62,0x6f,0x6f,0x6c,};
 | 
			
		||||
u8 main_keys_key_array_118[] = {0x61,0x73,0x6d,};
 | 
			
		||||
u8 main_keys_key_array_119[] = {0x65,0x6e,0x75,0x6d,};
 | 
			
		||||
u8 main_keys_key_array_120[] = {0x76,0x6f,0x69,0x64,};
 | 
			
		||||
String_Const_u8 main_keys_key_array[121] = {
 | 
			
		||||
    {main_keys_key_array_0, 5},
 | 
			
		||||
u8 cpp_main_keys_key_array_1[] = {0x63,0x6c,0x61,0x73,0x73,};
 | 
			
		||||
u8 cpp_main_keys_key_array_2[] = {0x74,0x79,0x70,0x65,0x64,0x65,0x66,};
 | 
			
		||||
u8 cpp_main_keys_key_array_3[] = {0x64,0x6f,0x75,0x62,0x6c,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_4[] = {0x74,0x79,0x70,0x65,0x69,0x64,};
 | 
			
		||||
u8 cpp_main_keys_key_array_6[] = {0x6c,0x6f,0x6e,0x67,};
 | 
			
		||||
u8 cpp_main_keys_key_array_7[] = {0x61,0x6c,0x69,0x67,0x6e,0x6f,0x66,};
 | 
			
		||||
u8 cpp_main_keys_key_array_10[] = {0x74,0x68,0x69,0x73,};
 | 
			
		||||
u8 cpp_main_keys_key_array_12[] = {0x73,0x68,0x6f,0x72,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_15[] = {0x6e,0x61,0x6d,0x65,0x73,0x70,0x61,0x63,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_16[] = {0x70,0x72,0x69,0x76,0x61,0x74,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_22[] = {0x70,0x75,0x62,0x6c,0x69,0x63,};
 | 
			
		||||
u8 cpp_main_keys_key_array_23[] = {0x6e,0x6f,0x65,0x78,0x63,0x65,0x70,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_24[] = {0x66,0x72,0x69,0x65,0x6e,0x64,};
 | 
			
		||||
u8 cpp_main_keys_key_array_26[] = {0x73,0x77,0x69,0x74,0x63,0x68,};
 | 
			
		||||
u8 cpp_main_keys_key_array_27[] = {0x65,0x78,0x70,0x6c,0x69,0x63,0x69,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_28[] = {0x61,0x6c,0x69,0x67,0x6e,0x61,0x73,};
 | 
			
		||||
u8 cpp_main_keys_key_array_30[] = {0x73,0x74,0x61,0x74,0x69,0x63,0x5f,0x63,0x61,0x73,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_31[] = {0x66,0x61,0x6c,0x73,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_32[] = {0x63,0x68,0x61,0x72,};
 | 
			
		||||
u8 cpp_main_keys_key_array_34[] = {0x6e,0x65,0x77,};
 | 
			
		||||
u8 cpp_main_keys_key_array_35[] = {0x75,0x73,0x69,0x6e,0x67,};
 | 
			
		||||
u8 cpp_main_keys_key_array_38[] = {0x75,0x6e,0x73,0x69,0x67,0x6e,0x65,0x64,};
 | 
			
		||||
u8 cpp_main_keys_key_array_39[] = {0x72,0x65,0x74,0x75,0x72,0x6e,};
 | 
			
		||||
u8 cpp_main_keys_key_array_40[] = {0x65,0x78,0x74,0x65,0x72,0x6e,};
 | 
			
		||||
u8 cpp_main_keys_key_array_41[] = {0x73,0x69,0x67,0x6e,0x65,0x64,};
 | 
			
		||||
u8 cpp_main_keys_key_array_43[] = {0x64,0x6f,};
 | 
			
		||||
u8 cpp_main_keys_key_array_45[] = {0x74,0x68,0x72,0x65,0x61,0x64,0x5f,0x6c,0x6f,0x63,0x61,0x6c,};
 | 
			
		||||
u8 cpp_main_keys_key_array_48[] = {0x63,0x6f,0x6e,0x74,0x69,0x6e,0x75,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_49[] = {0x65,0x6e,0x75,0x6d,};
 | 
			
		||||
u8 cpp_main_keys_key_array_51[] = {0x74,0x72,0x75,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_52[] = {0x65,0x78,0x70,0x6f,0x72,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_54[] = {0x76,0x6f,0x69,0x64,};
 | 
			
		||||
u8 cpp_main_keys_key_array_55[] = {0x63,0x61,0x73,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_59[] = {0x77,0x68,0x69,0x6c,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_60[] = {0x6f,0x70,0x65,0x72,0x61,0x74,0x6f,0x72,};
 | 
			
		||||
u8 cpp_main_keys_key_array_61[] = {0x63,0x6f,0x6e,0x73,0x74,0x5f,0x63,0x61,0x73,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_63[] = {0x69,0x6e,0x6c,0x69,0x6e,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_65[] = {0x62,0x72,0x65,0x61,0x6b,};
 | 
			
		||||
u8 cpp_main_keys_key_array_67[] = {0x67,0x6f,0x74,0x6f,};
 | 
			
		||||
u8 cpp_main_keys_key_array_68[] = {0x74,0x65,0x6d,0x70,0x6c,0x61,0x74,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_69[] = {0x63,0x61,0x74,0x63,0x68,};
 | 
			
		||||
u8 cpp_main_keys_key_array_70[] = {0x66,0x6f,0x72,};
 | 
			
		||||
u8 cpp_main_keys_key_array_72[] = {0x74,0x72,0x79,};
 | 
			
		||||
u8 cpp_main_keys_key_array_74[] = {0x73,0x74,0x61,0x74,0x69,0x63,};
 | 
			
		||||
u8 cpp_main_keys_key_array_77[] = {0x61,0x73,0x6d,};
 | 
			
		||||
u8 cpp_main_keys_key_array_80[] = {0x69,0x66,};
 | 
			
		||||
u8 cpp_main_keys_key_array_84[] = {0x69,0x6e,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_87[] = {0x6e,0x75,0x6c,0x6c,0x70,0x74,0x72,};
 | 
			
		||||
u8 cpp_main_keys_key_array_90[] = {0x64,0x65,0x66,0x61,0x75,0x6c,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_91[] = {0x64,0x65,0x6c,0x65,0x74,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_92[] = {0x63,0x6f,0x6e,0x73,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_93[] = {0x70,0x72,0x6f,0x74,0x65,0x63,0x74,0x65,0x64,};
 | 
			
		||||
u8 cpp_main_keys_key_array_98[] = {0x66,0x6c,0x6f,0x61,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_101[] = {0x64,0x79,0x6e,0x61,0x6d,0x69,0x63,0x5f,0x63,0x61,0x73,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_102[] = {0x73,0x69,0x7a,0x65,0x6f,0x66,};
 | 
			
		||||
u8 cpp_main_keys_key_array_104[] = {0x62,0x6f,0x6f,0x6c,};
 | 
			
		||||
u8 cpp_main_keys_key_array_105[] = {0x75,0x6e,0x69,0x6f,0x6e,};
 | 
			
		||||
u8 cpp_main_keys_key_array_107[] = {0x76,0x69,0x72,0x74,0x75,0x61,0x6c,};
 | 
			
		||||
u8 cpp_main_keys_key_array_108[] = {0x73,0x74,0x61,0x74,0x69,0x63,0x5f,0x61,0x73,0x73,0x65,0x72,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_109[] = {0x72,0x65,0x69,0x6e,0x74,0x65,0x72,0x70,0x72,0x65,0x74,0x5f,0x63,0x61,0x73,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_110[] = {0x76,0x6f,0x6c,0x61,0x74,0x69,0x6c,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_111[] = {0x65,0x6c,0x73,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_113[] = {0x64,0x65,0x63,0x6c,0x74,0x79,0x70,0x65,};
 | 
			
		||||
u8 cpp_main_keys_key_array_114[] = {0x72,0x65,0x67,0x69,0x73,0x74,0x65,0x72,};
 | 
			
		||||
u8 cpp_main_keys_key_array_118[] = {0x73,0x74,0x72,0x75,0x63,0x74,};
 | 
			
		||||
u8 cpp_main_keys_key_array_119[] = {0x74,0x79,0x70,0x65,0x6e,0x61,0x6d,0x65,};
 | 
			
		||||
String_Const_u8 cpp_main_keys_key_array[121] = {
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {main_keys_key_array_2, 5},
 | 
			
		||||
{cpp_main_keys_key_array_1, 5},
 | 
			
		||||
{cpp_main_keys_key_array_2, 7},
 | 
			
		||||
{cpp_main_keys_key_array_3, 6},
 | 
			
		||||
{cpp_main_keys_key_array_4, 6},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_6, 4},
 | 
			
		||||
{cpp_main_keys_key_array_7, 7},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_10, 4},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {main_keys_key_array_6, 5},
 | 
			
		||||
    {main_keys_key_array_7, 7},
 | 
			
		||||
    {main_keys_key_array_8, 5},
 | 
			
		||||
{cpp_main_keys_key_array_12, 5},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_13, 6},
 | 
			
		||||
    {main_keys_key_array_14, 6},
 | 
			
		||||
    {main_keys_key_array_15, 4},
 | 
			
		||||
    {main_keys_key_array_16, 12},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_19, 6},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_21, 8},
 | 
			
		||||
    {main_keys_key_array_22, 4},
 | 
			
		||||
    {main_keys_key_array_23, 7},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_25, 5},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_27, 8},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_29, 6},
 | 
			
		||||
    {main_keys_key_array_30, 8},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_32, 11},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_34, 5},
 | 
			
		||||
    {main_keys_key_array_35, 3},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_37, 8},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_40, 7},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_43, 5},
 | 
			
		||||
    {main_keys_key_array_44, 6},
 | 
			
		||||
    {main_keys_key_array_45, 7},
 | 
			
		||||
    {main_keys_key_array_46, 8},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_48, 16},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_50, 4},
 | 
			
		||||
    {main_keys_key_array_51, 9},
 | 
			
		||||
    {main_keys_key_array_52, 6},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_55, 5},
 | 
			
		||||
    {main_keys_key_array_56, 6},
 | 
			
		||||
    {main_keys_key_array_57, 5},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_60, 6},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_63, 6},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_66, 3},
 | 
			
		||||
    {main_keys_key_array_67, 7},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_71, 4},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_73, 4},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_75, 8},
 | 
			
		||||
    {main_keys_key_array_76, 3},
 | 
			
		||||
    {main_keys_key_array_77, 12},
 | 
			
		||||
    {main_keys_key_array_78, 3},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_80, 8},
 | 
			
		||||
    {main_keys_key_array_81, 7},
 | 
			
		||||
    {main_keys_key_array_82, 8},
 | 
			
		||||
    {main_keys_key_array_83, 7},
 | 
			
		||||
    {main_keys_key_array_84, 6},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_86, 2},
 | 
			
		||||
    {main_keys_key_array_87, 6},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_89, 9},
 | 
			
		||||
    {main_keys_key_array_90, 8},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_92, 4},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_94, 10},
 | 
			
		||||
    {main_keys_key_array_95, 5},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_98, 6},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_100, 4},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {main_keys_key_array_102, 6},
 | 
			
		||||
{cpp_main_keys_key_array_15, 9},
 | 
			
		||||
{cpp_main_keys_key_array_16, 7},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {main_keys_key_array_108, 6},
 | 
			
		||||
{cpp_main_keys_key_array_22, 6},
 | 
			
		||||
{cpp_main_keys_key_array_23, 8},
 | 
			
		||||
{cpp_main_keys_key_array_24, 6},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_26, 6},
 | 
			
		||||
{cpp_main_keys_key_array_27, 8},
 | 
			
		||||
{cpp_main_keys_key_array_28, 7},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_30, 11},
 | 
			
		||||
{cpp_main_keys_key_array_31, 5},
 | 
			
		||||
{cpp_main_keys_key_array_32, 4},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_34, 3},
 | 
			
		||||
{cpp_main_keys_key_array_35, 5},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_38, 8},
 | 
			
		||||
{cpp_main_keys_key_array_39, 6},
 | 
			
		||||
{cpp_main_keys_key_array_40, 6},
 | 
			
		||||
{cpp_main_keys_key_array_41, 6},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_43, 2},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_45, 12},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_48, 8},
 | 
			
		||||
{cpp_main_keys_key_array_49, 4},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_51, 4},
 | 
			
		||||
{cpp_main_keys_key_array_52, 6},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_54, 4},
 | 
			
		||||
{cpp_main_keys_key_array_55, 4},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {main_keys_key_array_112, 8},
 | 
			
		||||
    {main_keys_key_array_113, 2},
 | 
			
		||||
    {main_keys_key_array_114, 13},
 | 
			
		||||
{cpp_main_keys_key_array_59, 5},
 | 
			
		||||
{cpp_main_keys_key_array_60, 8},
 | 
			
		||||
{cpp_main_keys_key_array_61, 10},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {main_keys_key_array_116, 4},
 | 
			
		||||
{cpp_main_keys_key_array_63, 6},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_65, 5},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_67, 4},
 | 
			
		||||
{cpp_main_keys_key_array_68, 8},
 | 
			
		||||
{cpp_main_keys_key_array_69, 5},
 | 
			
		||||
{cpp_main_keys_key_array_70, 3},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_72, 3},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_74, 6},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_77, 3},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_80, 2},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_84, 3},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_87, 7},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_90, 7},
 | 
			
		||||
{cpp_main_keys_key_array_91, 6},
 | 
			
		||||
{cpp_main_keys_key_array_92, 5},
 | 
			
		||||
{cpp_main_keys_key_array_93, 9},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_98, 5},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_101, 12},
 | 
			
		||||
{cpp_main_keys_key_array_102, 6},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_104, 4},
 | 
			
		||||
{cpp_main_keys_key_array_105, 5},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_107, 7},
 | 
			
		||||
{cpp_main_keys_key_array_108, 13},
 | 
			
		||||
{cpp_main_keys_key_array_109, 16},
 | 
			
		||||
{cpp_main_keys_key_array_110, 8},
 | 
			
		||||
{cpp_main_keys_key_array_111, 4},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_113, 8},
 | 
			
		||||
{cpp_main_keys_key_array_114, 8},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_main_keys_key_array_118, 6},
 | 
			
		||||
{cpp_main_keys_key_array_119, 8},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {main_keys_key_array_118, 3},
 | 
			
		||||
    {main_keys_key_array_119, 4},
 | 
			
		||||
    {main_keys_key_array_120, 4},
 | 
			
		||||
};
 | 
			
		||||
Lexeme_Table_Value main_keys_value_array[121] = {
 | 
			
		||||
    {4, TokenCppKind_Catch},
 | 
			
		||||
Lexeme_Table_Value cpp_main_keys_value_array[121] = {
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {4, TokenCppKind_Union},
 | 
			
		||||
{4, TokenCppKind_Class},
 | 
			
		||||
{4, TokenCppKind_Typedef},
 | 
			
		||||
{4, TokenCppKind_Double},
 | 
			
		||||
{4, TokenCppKind_TypeID},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Long},
 | 
			
		||||
{4, TokenCppKind_AlignOf},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Using},
 | 
			
		||||
    {4, TokenCppKind_Virtual},
 | 
			
		||||
    {4, TokenCppKind_Float},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Static},
 | 
			
		||||
    {4, TokenCppKind_Inline},
 | 
			
		||||
    {8, TokenCppKind_LiteralTrue},
 | 
			
		||||
    {4, TokenCppKind_DynamicCast},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_SizeOf},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Template},
 | 
			
		||||
{4, TokenCppKind_This},
 | 
			
		||||
    {4, TokenCppKind_AlignAs},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {4, TokenCppKind_While},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Typename},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Switch},
 | 
			
		||||
    {4, TokenCppKind_Explicit},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_StaticCast},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Break},
 | 
			
		||||
    {4, TokenCppKind_Try},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_DeclType},
 | 
			
		||||
{4, TokenCppKind_Short},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Namespace},
 | 
			
		||||
{4, TokenCppKind_Private},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {4, TokenCppKind_Short},
 | 
			
		||||
    {4, TokenCppKind_TypeID},
 | 
			
		||||
    {4, TokenCppKind_AlignOf},
 | 
			
		||||
    {4, TokenCppKind_NoExcept},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {4, TokenCppKind_ReinterpretCast},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Goto},
 | 
			
		||||
    {4, TokenCppKind_Protected},
 | 
			
		||||
    {4, TokenCppKind_Export},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {8, TokenCppKind_LiteralFalse},
 | 
			
		||||
    {4, TokenCppKind_Extern},
 | 
			
		||||
    {4, TokenCppKind_Class},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Signed},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Public},
 | 
			
		||||
{4, TokenCppKind_NoExcept},
 | 
			
		||||
{4, TokenCppKind_Friend},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Switch},
 | 
			
		||||
{4, TokenCppKind_Explicit},
 | 
			
		||||
{4, TokenCppKind_AlignAs},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_StaticCast},
 | 
			
		||||
{8, TokenCppKind_LiteralFalse},
 | 
			
		||||
{4, TokenCppKind_Char},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_New},
 | 
			
		||||
{4, TokenCppKind_Using},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Unsigned},
 | 
			
		||||
{4, TokenCppKind_Return},
 | 
			
		||||
{4, TokenCppKind_Extern},
 | 
			
		||||
{4, TokenCppKind_Signed},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Do},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_ThreadLocal},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Continue},
 | 
			
		||||
{4, TokenCppKind_Enum},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{8, TokenCppKind_LiteralTrue},
 | 
			
		||||
{4, TokenCppKind_Export},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Void},
 | 
			
		||||
{4, TokenCppKind_Case},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_While},
 | 
			
		||||
{4, TokenCppKind_Operator},
 | 
			
		||||
{4, TokenCppKind_ConstCast},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Inline},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Break},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Goto},
 | 
			
		||||
{4, TokenCppKind_Template},
 | 
			
		||||
{4, TokenCppKind_Catch},
 | 
			
		||||
{4, TokenCppKind_For},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Try},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Static},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Asm},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_If},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Int},
 | 
			
		||||
    {4, TokenCppKind_Default},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Char},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Long},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Continue},
 | 
			
		||||
    {4, TokenCppKind_For},
 | 
			
		||||
    {4, TokenCppKind_ThreadLocal},
 | 
			
		||||
    {4, TokenCppKind_New},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Unsigned},
 | 
			
		||||
{4, TokenCppKind_NullPtr},
 | 
			
		||||
    {4, TokenCppKind_Operator},
 | 
			
		||||
    {4, TokenCppKind_Typedef},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Default},
 | 
			
		||||
{4, TokenCppKind_Delete},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_If},
 | 
			
		||||
    {4, TokenCppKind_Struct},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Namespace},
 | 
			
		||||
    {4, TokenCppKind_Register},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Case},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_ConstCast},
 | 
			
		||||
{4, TokenCppKind_Const},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Friend},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Else},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Double},
 | 
			
		||||
{4, TokenCppKind_Protected},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Return},
 | 
			
		||||
{4, TokenCppKind_Float},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {4, TokenCppKind_Volatile},
 | 
			
		||||
    {4, TokenCppKind_Do},
 | 
			
		||||
    {4, TokenCppKind_StaticAssert},
 | 
			
		||||
{4, TokenCppKind_DynamicCast},
 | 
			
		||||
{4, TokenCppKind_SizeOf},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Bool},
 | 
			
		||||
{4, TokenCppKind_Union},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {4, TokenCppKind_Asm},
 | 
			
		||||
    {4, TokenCppKind_Enum},
 | 
			
		||||
    {4, TokenCppKind_Void},
 | 
			
		||||
};
 | 
			
		||||
i32 main_keys_slot_count = 121;
 | 
			
		||||
u64 main_keys_seed = 0x32a240442a6e221f;
 | 
			
		||||
u64 pp_directives_hash_array[25] = {
 | 
			
		||||
    0xa8f3b0d79807b793,0x808ba552d670368f,0x0000000000000000,0x808ba54dc047d94b,
 | 
			
		||||
    0x3b97f7088cbf95df,0x7fd91d3d238e04c9,0x0000000000000000,0x7fd91d3dac09e067,
 | 
			
		||||
    0x0000000000000000,0x0000000000000000,0xa8f3beab5b880ad3,0x0000000000000000,
 | 
			
		||||
    0x3b97f7088cbffd3b,0x3b97f7088cdab44b,0x79521904bb682f3f,0x0000000000000000,
 | 
			
		||||
    0x0000000000000000,0x7fd91d3d978c615f,0x808ba553ad911e19,0x0000000000000000,
 | 
			
		||||
    0x808ba54ef8496067,0x7fd91d3d2fe85067,0x7fd91d3d97a21607,0x0000000000000000,
 | 
			
		||||
    0x0000000000000000,
 | 
			
		||||
};
 | 
			
		||||
u8 pp_directives_key_array_0[] = {0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,};
 | 
			
		||||
u8 pp_directives_key_array_1[] = {0x70,0x72,0x61,0x67,0x6d,0x61,};
 | 
			
		||||
u8 pp_directives_key_array_3[] = {0x64,0x65,0x66,0x69,0x6e,0x65,};
 | 
			
		||||
u8 pp_directives_key_array_4[] = {0x65,0x6c,0x69,0x66,};
 | 
			
		||||
u8 pp_directives_key_array_5[] = {0x75,0x73,0x69,0x6e,0x67,};
 | 
			
		||||
u8 pp_directives_key_array_7[] = {0x69,0x66,0x64,0x65,0x66,};
 | 
			
		||||
u8 pp_directives_key_array_10[] = {0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,};
 | 
			
		||||
u8 pp_directives_key_array_12[] = {0x65,0x6c,0x73,0x65,};
 | 
			
		||||
u8 pp_directives_key_array_13[] = {0x6c,0x69,0x6e,0x65,};
 | 
			
		||||
u8 pp_directives_key_array_14[] = {0x69,0x66,};
 | 
			
		||||
u8 pp_directives_key_array_17[] = {0x65,0x6e,0x64,0x69,0x66,};
 | 
			
		||||
u8 pp_directives_key_array_18[] = {0x69,0x6d,0x70,0x6f,0x72,0x74,};
 | 
			
		||||
u8 pp_directives_key_array_20[] = {0x69,0x66,0x6e,0x64,0x65,0x66,};
 | 
			
		||||
u8 pp_directives_key_array_21[] = {0x75,0x6e,0x64,0x65,0x66,};
 | 
			
		||||
u8 pp_directives_key_array_22[] = {0x65,0x72,0x72,0x6f,0x72,};
 | 
			
		||||
String_Const_u8 pp_directives_key_array[25] = {
 | 
			
		||||
    {pp_directives_key_array_0, 7},
 | 
			
		||||
    {pp_directives_key_array_1, 6},
 | 
			
		||||
{4, TokenCppKind_Virtual},
 | 
			
		||||
{4, TokenCppKind_StaticAssert},
 | 
			
		||||
{4, TokenCppKind_ReinterpretCast},
 | 
			
		||||
{4, TokenCppKind_Volatile},
 | 
			
		||||
{4, TokenCppKind_Else},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {pp_directives_key_array_3, 6},
 | 
			
		||||
    {pp_directives_key_array_4, 4},
 | 
			
		||||
    {pp_directives_key_array_5, 5},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {pp_directives_key_array_7, 5},
 | 
			
		||||
{4, TokenCppKind_DeclType},
 | 
			
		||||
{4, TokenCppKind_Register},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {pp_directives_key_array_10, 7},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {pp_directives_key_array_12, 4},
 | 
			
		||||
    {pp_directives_key_array_13, 4},
 | 
			
		||||
    {pp_directives_key_array_14, 2},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {pp_directives_key_array_17, 5},
 | 
			
		||||
    {pp_directives_key_array_18, 6},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {pp_directives_key_array_20, 6},
 | 
			
		||||
    {pp_directives_key_array_21, 5},
 | 
			
		||||
    {pp_directives_key_array_22, 5},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_Struct},
 | 
			
		||||
{4, TokenCppKind_Typename},
 | 
			
		||||
{0, 0},
 | 
			
		||||
};
 | 
			
		||||
Lexeme_Table_Value pp_directives_value_array[25] = {
 | 
			
		||||
    {5, TokenCppKind_PPInclude},
 | 
			
		||||
    {5, TokenCppKind_PPPragma},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {5, TokenCppKind_PPDefine},
 | 
			
		||||
    {5, TokenCppKind_PPElIf},
 | 
			
		||||
    {5, TokenCppKind_PPUsing},
 | 
			
		||||
    {0, 0},
 | 
			
		||||
    {5, TokenCppKind_PPIfDef},
 | 
			
		||||
i32 cpp_main_keys_slot_count = 121;
 | 
			
		||||
u64 cpp_main_keys_seed = 0x57fd2e8360fc723f;
 | 
			
		||||
u64 cpp_pp_directives_hash_array[25] = {
 | 
			
		||||
0x0000000000000000,0x0000000000000000,0xfcbe0e69ab5f0ab5,0x0000000000000000,
 | 
			
		||||
0xdfa7f6eb98ca462d,0xdfa7f6ebae1c243d,0x26e6293f7c60a9d7,0x0000000000000000,
 | 
			
		||||
0xfcbe0e6b92eff62d,0x0000000000000000,0xdfa7f6604dbd1a65,0xfcbe0e69ab4edf49,
 | 
			
		||||
0x0000000000000000,0xdfa7f6ee4efdc3a3,0xfcbe0e6b014df297,0x26e6293f7c60632d,
 | 
			
		||||
0x0000000000000000,0xfcbe0e6b09dcce2d,0x0000000000000000,0x0000000000000000,
 | 
			
		||||
0x26e6293f722aa025,0xa6ba73c3a74f4285,0xb0a57847c3818ea9,0x0000000000000000,
 | 
			
		||||
0xb0a595ffc01d0bd5,
 | 
			
		||||
};
 | 
			
		||||
u8 cpp_pp_directives_key_array_2[] = {0x65,0x6e,0x64,0x69,0x66,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_4[] = {0x69,0x66,0x6e,0x64,0x65,0x66,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_5[] = {0x69,0x6d,0x70,0x6f,0x72,0x74,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_6[] = {0x65,0x6c,0x73,0x65,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_8[] = {0x69,0x66,0x64,0x65,0x66,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_10[] = {0x64,0x65,0x66,0x69,0x6e,0x65,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_11[] = {0x65,0x72,0x72,0x6f,0x72,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_13[] = {0x70,0x72,0x61,0x67,0x6d,0x61,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_14[] = {0x75,0x73,0x69,0x6e,0x67,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_15[] = {0x65,0x6c,0x69,0x66,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_17[] = {0x75,0x6e,0x64,0x65,0x66,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_20[] = {0x6c,0x69,0x6e,0x65,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_21[] = {0x69,0x66,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_22[] = {0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,};
 | 
			
		||||
u8 cpp_pp_directives_key_array_24[] = {0x76,0x65,0x72,0x73,0x69,0x6f,0x6e,};
 | 
			
		||||
String_Const_u8 cpp_pp_directives_key_array[25] = {
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {5, TokenCppKind_PPVersion},
 | 
			
		||||
{cpp_pp_directives_key_array_2, 5},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {5, TokenCppKind_PPElse},
 | 
			
		||||
    {5, TokenCppKind_PPLine},
 | 
			
		||||
    {5, TokenCppKind_PPIf},
 | 
			
		||||
{cpp_pp_directives_key_array_4, 6},
 | 
			
		||||
{cpp_pp_directives_key_array_5, 6},
 | 
			
		||||
{cpp_pp_directives_key_array_6, 4},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_pp_directives_key_array_8, 5},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_pp_directives_key_array_10, 6},
 | 
			
		||||
{cpp_pp_directives_key_array_11, 5},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_pp_directives_key_array_13, 6},
 | 
			
		||||
{cpp_pp_directives_key_array_14, 5},
 | 
			
		||||
{cpp_pp_directives_key_array_15, 4},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_pp_directives_key_array_17, 5},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_pp_directives_key_array_20, 4},
 | 
			
		||||
{cpp_pp_directives_key_array_21, 2},
 | 
			
		||||
{cpp_pp_directives_key_array_22, 7},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_pp_directives_key_array_24, 7},
 | 
			
		||||
};
 | 
			
		||||
Lexeme_Table_Value cpp_pp_directives_value_array[25] = {
 | 
			
		||||
{0, 0},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{5, TokenCppKind_PPEndIf},
 | 
			
		||||
    {5, TokenCppKind_PPImport},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{5, TokenCppKind_PPIfNDef},
 | 
			
		||||
    {5, TokenCppKind_PPUndef},
 | 
			
		||||
{5, TokenCppKind_PPImport},
 | 
			
		||||
{5, TokenCppKind_PPElse},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{5, TokenCppKind_PPIfDef},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{5, TokenCppKind_PPDefine},
 | 
			
		||||
{5, TokenCppKind_PPError},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{5, TokenCppKind_PPPragma},
 | 
			
		||||
{5, TokenCppKind_PPUsing},
 | 
			
		||||
{5, TokenCppKind_PPElIf},
 | 
			
		||||
{0, 0},
 | 
			
		||||
};
 | 
			
		||||
i32 pp_directives_slot_count = 25;
 | 
			
		||||
u64 pp_directives_seed = 0x8848fb3caaf5d4d5;
 | 
			
		||||
u64 pp_keys_hash_array[2] = {
 | 
			
		||||
    0x0000000000000000,0x72743f437c9f847d,
 | 
			
		||||
};
 | 
			
		||||
u8 pp_keys_key_array_1[] = {0x64,0x65,0x66,0x69,0x6e,0x65,0x64,};
 | 
			
		||||
String_Const_u8 pp_keys_key_array[2] = {
 | 
			
		||||
{5, TokenCppKind_PPUndef},
 | 
			
		||||
{0, 0},
 | 
			
		||||
    {pp_keys_key_array_1, 7},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{5, TokenCppKind_PPLine},
 | 
			
		||||
{5, TokenCppKind_PPIf},
 | 
			
		||||
{5, TokenCppKind_PPInclude},
 | 
			
		||||
{0, 0},
 | 
			
		||||
{5, TokenCppKind_PPVersion},
 | 
			
		||||
};
 | 
			
		||||
Lexeme_Table_Value pp_keys_value_array[2] = {
 | 
			
		||||
i32 cpp_pp_directives_slot_count = 25;
 | 
			
		||||
u64 cpp_pp_directives_seed = 0xe34ca5b52cfeb288;
 | 
			
		||||
u64 cpp_pp_keys_hash_array[2] = {
 | 
			
		||||
0x0000000000000000,0xbef27711d7aba2b5,
 | 
			
		||||
};
 | 
			
		||||
u8 cpp_pp_keys_key_array_1[] = {0x64,0x65,0x66,0x69,0x6e,0x65,0x64,};
 | 
			
		||||
String_Const_u8 cpp_pp_keys_key_array[2] = {
 | 
			
		||||
{0, 0},
 | 
			
		||||
{cpp_pp_keys_key_array_1, 7},
 | 
			
		||||
};
 | 
			
		||||
Lexeme_Table_Value cpp_pp_keys_value_array[2] = {
 | 
			
		||||
{0, 0},
 | 
			
		||||
{4, TokenCppKind_PPDefined},
 | 
			
		||||
};
 | 
			
		||||
i32 pp_keys_slot_count = 2;
 | 
			
		||||
u64 pp_keys_seed = 0x71428d58f01a7eed;
 | 
			
		||||
i32 cpp_pp_keys_slot_count = 2;
 | 
			
		||||
u64 cpp_pp_keys_seed = 0x5c61314da2466695;
 | 
			
		||||
struct Lex_State_Cpp{
 | 
			
		||||
u32 flags_ZF0;
 | 
			
		||||
u32 flags_KF0;
 | 
			
		||||
| 
						 | 
				
			
			@ -971,14 +971,14 @@ lex_full_input_cpp_breaks(Arena *arena, Token_List *list, Lex_State_Cpp *state_p
 | 
			
		|||
token.flags = state.flags_KB0;
 | 
			
		||||
do{
 | 
			
		||||
if (HasFlag(state.flags_KB0, 0x1)){
 | 
			
		||||
                            Lexeme_Table_Lookup lookup = lexeme_table_lookup(pp_keys_hash_array, pp_keys_key_array, pp_keys_value_array, pp_keys_slot_count, pp_keys_seed, state.emit_ptr, token.size);
 | 
			
		||||
Lexeme_Table_Lookup lookup = lexeme_table_lookup(cpp_pp_keys_hash_array, cpp_pp_keys_key_array, cpp_pp_keys_value_array, cpp_pp_keys_slot_count, cpp_pp_keys_seed, state.emit_ptr, token.size);
 | 
			
		||||
if (lookup.found_match){
 | 
			
		||||
token.kind = lookup.base_kind;
 | 
			
		||||
token.sub_kind = lookup.sub_kind;
 | 
			
		||||
break;
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
                        Lexeme_Table_Lookup lookup = lexeme_table_lookup(main_keys_hash_array, main_keys_key_array, main_keys_value_array, main_keys_slot_count, main_keys_seed, state.emit_ptr, token.size);
 | 
			
		||||
Lexeme_Table_Lookup lookup = lexeme_table_lookup(cpp_main_keys_hash_array, cpp_main_keys_key_array, cpp_main_keys_value_array, cpp_main_keys_slot_count, cpp_main_keys_seed, state.emit_ptr, token.size);
 | 
			
		||||
if (lookup.found_match){
 | 
			
		||||
token.kind = lookup.base_kind;
 | 
			
		||||
token.sub_kind = lookup.sub_kind;
 | 
			
		||||
| 
						 | 
				
			
			@ -1014,14 +1014,14 @@ lex_full_input_cpp_breaks(Arena *arena, Token_List *list, Lex_State_Cpp *state_p
 | 
			
		|||
token.flags = state.flags_KB0;
 | 
			
		||||
do{
 | 
			
		||||
if (HasFlag(state.flags_KB0, 0x1)){
 | 
			
		||||
                            Lexeme_Table_Lookup lookup = lexeme_table_lookup(pp_keys_hash_array, pp_keys_key_array, pp_keys_value_array, pp_keys_slot_count, pp_keys_seed, state.emit_ptr, token.size);
 | 
			
		||||
Lexeme_Table_Lookup lookup = lexeme_table_lookup(cpp_pp_keys_hash_array, cpp_pp_keys_key_array, cpp_pp_keys_value_array, cpp_pp_keys_slot_count, cpp_pp_keys_seed, state.emit_ptr, token.size);
 | 
			
		||||
if (lookup.found_match){
 | 
			
		||||
token.kind = lookup.base_kind;
 | 
			
		||||
token.sub_kind = lookup.sub_kind;
 | 
			
		||||
break;
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
                        Lexeme_Table_Lookup lookup = lexeme_table_lookup(main_keys_hash_array, main_keys_key_array, main_keys_value_array, main_keys_slot_count, main_keys_seed, state.emit_ptr, token.size);
 | 
			
		||||
Lexeme_Table_Lookup lookup = lexeme_table_lookup(cpp_main_keys_hash_array, cpp_main_keys_key_array, cpp_main_keys_value_array, cpp_main_keys_slot_count, cpp_main_keys_seed, state.emit_ptr, token.size);
 | 
			
		||||
if (lookup.found_match){
 | 
			
		||||
token.kind = lookup.base_kind;
 | 
			
		||||
token.sub_kind = lookup.sub_kind;
 | 
			
		||||
| 
						 | 
				
			
			@ -2760,7 +2760,7 @@ lex_full_input_cpp_breaks(Arena *arena, Token_List *list, Lex_State_Cpp *state_p
 | 
			
		|||
token.size = (i64)(state.ptr - state.emit_ptr);
 | 
			
		||||
token.flags = state.flags_KB0;
 | 
			
		||||
do{
 | 
			
		||||
                        Lexeme_Table_Lookup lookup = lexeme_table_lookup(pp_directives_hash_array, pp_directives_key_array, pp_directives_value_array, pp_directives_slot_count, pp_directives_seed, state.delim_first, (state.delim_one_past_last - state.delim_first));
 | 
			
		||||
Lexeme_Table_Lookup lookup = lexeme_table_lookup(cpp_pp_directives_hash_array, cpp_pp_directives_key_array, cpp_pp_directives_value_array, cpp_pp_directives_slot_count, cpp_pp_directives_seed, state.delim_first, (state.delim_one_past_last - state.delim_first));
 | 
			
		||||
if (lookup.found_match){
 | 
			
		||||
token.kind = lookup.base_kind;
 | 
			
		||||
token.sub_kind = lookup.sub_kind;
 | 
			
		||||
| 
						 | 
				
			
			@ -2797,7 +2797,7 @@ lex_full_input_cpp_breaks(Arena *arena, Token_List *list, Lex_State_Cpp *state_p
 | 
			
		|||
token.size = (i64)(state.ptr - state.emit_ptr);
 | 
			
		||||
token.flags = state.flags_KB0;
 | 
			
		||||
do{
 | 
			
		||||
                        Lexeme_Table_Lookup lookup = lexeme_table_lookup(pp_directives_hash_array, pp_directives_key_array, pp_directives_value_array, pp_directives_slot_count, pp_directives_seed, state.delim_first, (state.delim_one_past_last - state.delim_first));
 | 
			
		||||
Lexeme_Table_Lookup lookup = lexeme_table_lookup(cpp_pp_directives_hash_array, cpp_pp_directives_key_array, cpp_pp_directives_value_array, cpp_pp_directives_slot_count, cpp_pp_directives_seed, state.delim_first, (state.delim_one_past_last - state.delim_first));
 | 
			
		||||
if (lookup.found_match){
 | 
			
		||||
token.kind = lookup.base_kind;
 | 
			
		||||
token.sub_kind = lookup.sub_kind;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3181,7 +3181,7 @@ gen_keyword_table(Arena *scratch, Token_Kind_Set tokens, Keyword_Set keywords, F
 | 
			
		|||
    Temp_Memory temp = begin_temp(scratch);
 | 
			
		||||
    Keyword_Layout key_layout = opt_key_layout(scratch, keywords);
 | 
			
		||||
    
 | 
			
		||||
    fprintf(out, "u64 %.*s_hash_array[%d] = {\n",
 | 
			
		||||
    fprintf(out, "u64 " LANG_NAME_LOWER_STR "_%.*s_hash_array[%d] = {\n",
 | 
			
		||||
            string_expand(keywords.pretty_name), key_layout.slot_count);
 | 
			
		||||
    for (i32 i = 0; i < key_layout.slot_count; i += 1){
 | 
			
		||||
        if (key_layout.slots[i] == 0){
 | 
			
		||||
| 
						 | 
				
			
			@ -3198,7 +3198,7 @@ gen_keyword_table(Arena *scratch, Token_Kind_Set tokens, Keyword_Set keywords, F
 | 
			
		|||
    
 | 
			
		||||
    for (i32 i = 0; i < key_layout.slot_count; i += 1){
 | 
			
		||||
        if (key_layout.slots[i] != 0){
 | 
			
		||||
            fprintf(out, "u8 %.*s_key_array_%d[] = {",
 | 
			
		||||
            fprintf(out, "u8 " LANG_NAME_LOWER_STR "_%.*s_key_array_%d[] = {",
 | 
			
		||||
                    string_expand(keywords.pretty_name), i);
 | 
			
		||||
            String_Const_u8 lexeme = key_layout.slots[i]->lexeme;
 | 
			
		||||
            for (u64 j = 0; j < lexeme.size; j += 1){
 | 
			
		||||
| 
						 | 
				
			
			@ -3208,20 +3208,20 @@ gen_keyword_table(Arena *scratch, Token_Kind_Set tokens, Keyword_Set keywords, F
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    fprintf(out, "String_Const_u8 %.*s_key_array[%d] = {\n",
 | 
			
		||||
    fprintf(out, "String_Const_u8 " LANG_NAME_LOWER_STR "_%.*s_key_array[%d] = {\n",
 | 
			
		||||
            string_expand(keywords.pretty_name), key_layout.slot_count);
 | 
			
		||||
    for (i32 i = 0; i < key_layout.slot_count; i += 1){
 | 
			
		||||
        if (key_layout.slots[i] == 0){
 | 
			
		||||
            fprintf(out, "{0, 0},\n");
 | 
			
		||||
        }
 | 
			
		||||
        else{
 | 
			
		||||
            fprintf(out, "{%.*s_key_array_%d, %llu},\n",
 | 
			
		||||
            fprintf(out, "{" LANG_NAME_LOWER_STR "_%.*s_key_array_%d, %llu},\n",
 | 
			
		||||
                    string_expand(keywords.pretty_name), i, key_layout.slots[i]->lexeme.size);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    fprintf(out, "};\n");
 | 
			
		||||
    
 | 
			
		||||
    fprintf(out, "Lexeme_Table_Value %.*s_value_array[%d] = {\n",
 | 
			
		||||
    fprintf(out, "Lexeme_Table_Value " LANG_NAME_LOWER_STR "_%.*s_value_array[%d] = {\n",
 | 
			
		||||
            string_expand(keywords.pretty_name), key_layout.slot_count);
 | 
			
		||||
    for (i32 i = 0; i < key_layout.slot_count; i += 1){
 | 
			
		||||
        if (key_layout.slots[i] == 0){
 | 
			
		||||
| 
						 | 
				
			
			@ -3245,9 +3245,9 @@ gen_keyword_table(Arena *scratch, Token_Kind_Set tokens, Keyword_Set keywords, F
 | 
			
		|||
    }
 | 
			
		||||
    fprintf(out, "};\n");
 | 
			
		||||
    
 | 
			
		||||
    fprintf(out, "i32 %.*s_slot_count = %d;\n",
 | 
			
		||||
    fprintf(out, "i32 " LANG_NAME_LOWER_STR "_%.*s_slot_count = %d;\n",
 | 
			
		||||
            string_expand(keywords.pretty_name), key_layout.slot_count);
 | 
			
		||||
    fprintf(out, "u64 %.*s_seed = 0x%016llx;\n",
 | 
			
		||||
    fprintf(out, "u64 " LANG_NAME_LOWER_STR "_%.*s_seed = 0x%016llx;\n",
 | 
			
		||||
            string_expand(keywords.pretty_name), key_layout.seed);
 | 
			
		||||
    
 | 
			
		||||
    end_temp(temp);
 | 
			
		||||
| 
						 | 
				
			
			@ -3453,8 +3453,12 @@ gen_SLOW_action_list__cont_flow(Arena *scratch, Token_Kind_Set tokens, Flag_Set
 | 
			
		|||
                        {
 | 
			
		||||
                            Keyword_Set *keywords = handler->keywords;
 | 
			
		||||
                            fprintf(out, "Lexeme_Table_Lookup lookup = "
 | 
			
		||||
                                    "lexeme_table_lookup(%.*s_hash_array, %.*s_key_array, "
 | 
			
		||||
                                    "%.*s_value_array, %.*s_slot_count, %.*s_seed, "
 | 
			
		||||
                                    "lexeme_table_lookup("
 | 
			
		||||
                                    LANG_NAME_LOWER_STR "_%.*s_hash_array, "
 | 
			
		||||
                                    LANG_NAME_LOWER_STR "_%.*s_key_array, "
 | 
			
		||||
                                    LANG_NAME_LOWER_STR "_%.*s_value_array, "
 | 
			
		||||
                                    LANG_NAME_LOWER_STR "_%.*s_slot_count, "
 | 
			
		||||
                                    LANG_NAME_LOWER_STR "_%.*s_seed, "
 | 
			
		||||
                                    "state.emit_ptr, token.size);\n",
 | 
			
		||||
                                    string_expand(keywords->pretty_name),
 | 
			
		||||
                                    string_expand(keywords->pretty_name),
 | 
			
		||||
| 
						 | 
				
			
			@ -3477,8 +3481,12 @@ gen_SLOW_action_list__cont_flow(Arena *scratch, Token_Kind_Set tokens, Flag_Set
 | 
			
		|||
                        {
 | 
			
		||||
                            Keyword_Set *keywords = handler->keywords;
 | 
			
		||||
                            fprintf(out, "Lexeme_Table_Lookup lookup = "
 | 
			
		||||
                                    "lexeme_table_lookup(%.*s_hash_array, %.*s_key_array, "
 | 
			
		||||
                                    "%.*s_value_array, %.*s_slot_count, %.*s_seed, "
 | 
			
		||||
                                    "lexeme_table_lookup("
 | 
			
		||||
                                    LANG_NAME_LOWER_STR "_%.*s_hash_array, "
 | 
			
		||||
                                    LANG_NAME_LOWER_STR "_%.*s_key_array, "
 | 
			
		||||
                                    LANG_NAME_LOWER_STR "_%.*s_value_array, "
 | 
			
		||||
                                    LANG_NAME_LOWER_STR "_%.*s_slot_count, "
 | 
			
		||||
                                    LANG_NAME_LOWER_STR "_%.*s_seed, "
 | 
			
		||||
                                    "state.delim_first, (state.delim_one_past_last - state.delim_first));\n",
 | 
			
		||||
                                    string_expand(keywords->pretty_name),
 | 
			
		||||
                                    string_expand(keywords->pretty_name),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue