//
// File: c:/yacco2/compiler/grammars/yacco2_fsc.cpp
// Generated by linker.exe
// Date and Time: Fri May 06 16:30:11 2005 
//

// Preamble code
#include <yacco2.h>
#include <yacco2_T_enumeration.h>
#include <yacco2_err_symbols.h>
#include <yacco2_k_symbols.h>
#include <yacco2_terminals.h>
#include <yacco2_characters.h>
using namespace NS_yacco2_T_enum;
using namespace NS_yacco2_err_symbols;
using namespace NS_yacco2_k_symbols;
using namespace NS_yacco2_terminals;
using namespace NS_yacco2_characters;
// thread include and namespace
#include <T_enum_phrase_th.h>
using namespace NS_T_enum_phrase_th;
#include <angled_string.h>
using namespace NS_angled_string;
#include <bad_char_set.h>
using namespace NS_bad_char_set;
#include <c_comments.h>
using namespace NS_c_comments;
#include <c_literal.h>
using namespace NS_c_literal;
     ...
#include <yacco2_code_end.h>
using namespace NS_yacco2_code_end;
#include <yacco2_lcl_option.h>
using namespace NS_yacco2_lcl_option;
#include <yacco2_linker_keywords.h>
using namespace NS_yacco2_linker_keywords;
#include <yacco2_syntax_code.h>
using namespace NS_yacco2_syntax_code;

// BIT MAPS
#define TOTAL_NO_BIT_WORDS 2*1024*50
int yacco2::TOTAL_NO_BIT_WORDS__(TOTAL_NO_BIT_WORDS);
yacco2::ULINT  bit_maps[TOTAL_NO_BIT_WORDS];
void* yacco2::BIT_MAPS_FOR_SALE__ = (void*)&bit_maps;
int yacco2::BIT_MAP_IDX__(0);
// THREAD STABLE
yacco2::Thread_entry ITH_T_enum_phrase_th = 
    {"TH_T_enum_phrase_th",NS_T_enum_phrase_th::TH_T_enum_phrase_th,0
    ,NS_T_enum_phrase_th::PROC_TH_T_enum_phrase_th};
yacco2::Thread_entry ITH_angled_string = 
    {"TH_angled_string",NS_angled_string::PROC_TH_angled_string,1
    ,NS_angled_string::TH_angled_string};
                               ...
yacco2::Thread_entry ITH_yacco2_syntax_code = 
    {"TH_yacco2_syntax_code",NS_yacco2_syntax_code::TH_yacco2_syntax_code
    ,52,NS_yacco2_syntax_code::PROC_TH_yacco2_syntax_code};
struct thd_array_type {
  yacco2::USINT no_entries__;
  yacco2::Thread_entry* first_entry__[53];
};
thd_array_type thd_array = {
 53
 ,
  {
    &ITH_T_enum_phrase_th
   ,&ITH_angled_string
   ,&ITH_bad_char_set
   ,&ITH_c_comments
           ...
   ,&ITH_yacco2_code_end
   ,&ITH_yacco2_lcl_option
   ,&ITH_yacco2_linker_keywords
   ,&ITH_yacco2_syntax_code
  }
};
void* yacco2::THDS_STABLE__ = (void*)&thd_array;
// Terminal thread sets
struct T_0_type{
 yacco2::ULINT first_entry__[2];
};
T_0_type T_0 = {// for T: LR1_eof
//20: TH_linker_preamble_code
//31: TH_rhs_bnd
//32: TH_rhs_component
//47: TH_unquoted_string
//52: TH_yacco2_syntax_code
 {2148532224
  ,1081345
 }
};
struct T_1_type{
 yacco2::ULINT first_entry__[2];
};
T_1_type T_1 = {// for T: LR1_eog
//20: TH_linker_preamble_code
//31: TH_rhs_bnd
//32: TH_rhs_component
//47: TH_unquoted_string
//52: TH_yacco2_syntax_code
 {2148532224
  ,1081345
 }
};
struct T_6_type{
 yacco2::ULINT first_entry__[2];
};
T_6_type T_6 = {// for T: LR1_all_shift_operator
//20: TH_linker_preamble_code
//32: TH_rhs_component
//47: TH_unquoted_string
//52: TH_yacco2_syntax_code
 {1048576
  ,1081345
 }
};
struct T_7_type{
 yacco2::ULINT first_entry__[2];
};
T_7_type T_7 = {// for T: LR1_fset_transience_operator
//0: TH_T_enum_phrase_th
//9: TH_error_symbols_phrase_th
//14: TH_fsm_class_phrase_th
//15: TH_fsm_phrase_th
//21: TH_lr1_k_phrase_th
//24: TH_parallel_control
//28: TH_parallel_parser_phrase_th
//29: TH_prefile_include
//30: TH_rc_phrase_th
//33: TH_rule_def_phrase
//35: TH_rules_phrase_th
//39: TH_subrules_phrase
//42: TH_terminal_def_phrase
//44: TH_terminals_phrase_th
 {1897972225
  ,5258
 }
};
          ...
struct T_510_type{
 yacco2::ULINT first_entry__[2];
};
T_510_type T_510 = {// for T: thread_attributes
//20: TH_linker_preamble_code
//32: TH_rhs_component
//47: TH_unquoted_string
//52: TH_yacco2_syntax_code
 {1048576
  ,1081345
 }
};
struct T_511_type{
 yacco2::ULINT first_entry__[2];
};
T_511_type T_511 = {// for T: th_in_stbl
//20: TH_linker_preamble_code
//32: TH_rhs_component
//47: TH_unquoted_string
//52: TH_yacco2_syntax_code
 {1048576
  ,1081345
 }
};
struct T_512_type{
 yacco2::ULINT first_entry__[2];
};
T_512_type T_512 = {// for T: kw_in_stbl
//20: TH_linker_preamble_code
//32: TH_rhs_component
//47: TH_unquoted_string
//52: TH_yacco2_syntax_code
 {1048576
  ,1081345
 }
};
struct t_array_type {
  yacco2::USINT no_entries__;
  yacco2::thd_ids_having_T* first_entry__[513];
};
t_array_type t_array = {
  513
  ,{(yacco2::thd_ids_having_T*)&T_0 // LR1_eof
    ,(yacco2::thd_ids_having_T*)&T_1 // LR1_eog
    ,0// LR1_eolr
    ,0// LR1_parallel_operator
    ,0// LR1_parallel_procedure_call_operator
    ,0// LR1_invisible_shift_operator
    ,(yacco2::thd_ids_having_T*)&T_6 // LR1_all_shift_operator
    ,(yacco2::thd_ids_having_T*)&T_7 // LR1_fset_transience_operator
    ,(yacco2::thd_ids_having_T*)&T_8 // raw_nul
                ...
    ,(yacco2::thd_ids_having_T*)&T_509 // T_attributes
    ,(yacco2::thd_ids_having_T*)&T_510 // thread_attributes
    ,(yacco2::thd_ids_having_T*)&T_511 // th_in_stbl
    ,(yacco2::thd_ids_having_T*)&T_512 // kw_in_stbl
   }
};
void* yacco2::T_ARRAY_HAVING_THD_IDS__ = (void*)&t_array;