diff options
Diffstat (limited to 'web/yacco2/compiler/grammars/Err.w')
-rw-r--r-- | web/yacco2/compiler/grammars/Err.w | 1799 |
1 files changed, 1799 insertions, 0 deletions
diff --git a/web/yacco2/compiler/grammars/Err.w b/web/yacco2/compiler/grammars/Err.w new file mode 100644 index 0000000000..d411ac23d3 --- /dev/null +++ b/web/yacco2/compiler/grammars/Err.w @@ -0,0 +1,1799 @@ +\input "supp-pdf" +\input "/usr/local/yacco2/diagrams/o2mac.tex" +\DOCtitle{Error Vocabulary}{yacco2\_err\_symbols} +{NS\_yacco2\_err\_symbols}{191} + +@i "/usr/local/yacco2/copyright.w" +@** Error symbols vocabulary.\fbreak +Error symbols for the telling.\fbreak +Due to my verbosity and |cweb|'s (\TeX) black slug output +some of my symbol keys are +more cryptic in description as i wanted to title them with +their enumeration symbol. +Now, the enumeration symbol is removed from the index so there is +no blob of ... +If the truth be told, these descriptions should +be indirect key values that allow for +multilingual translation. +One step at a time... + +Upon experimentation with error keys +having a suffixed Exxx indicator in the key itself +whereby +the xxx is a number: 001 and +associating a translation file with the error construct, i nixed the ideas. +It is simply a post error evaluation on the given +error keys to translate them using some form of associated map. +The error enumeration key with a language indicator would suffice. +A simple database could be used. +For example T\_Enum::T\_LR1\_err\_nested\_files\_exceeded\_ with + a country code of ``DE'' for +German would translate ``nested files exceeded''. +Not finding a translation should default to the error token's +literal key. +See grammar ``o2\_err\_hdr.lex'' for a context sensitive approach to error reporting. + + +Ahh... grandeur. Now what about unicode? + +@*2 {\bf \NOsign T in list not eq}.\fbreak +Enum: T\_Err\_no\_of\_native\_Ts\_in\_list\_not\_equal\_ +\fbreak +\line{Class: Err\_no\_of\_native\_Ts\_in\_list\_not\_equal \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 \NOsign T in list not eq user-declaration directive. +@<\NOsign T in list not eq user-declaration directive@>= + + public: + Err_no_of_native_Ts_in_list_not_equal(unsigned long Value); + unsigned long no()const; + private:unsigned long no_; + +@*3 \NOsign T in list not eq user-implementation directive. +@<\NOsign T in list not eq user-implementation directive@>= + + Err_no_of_native_Ts_in_list_not_equal:: + Err_no_of_native_Ts_in_list_not_equal(unsigned long No) +T_CTOR("no terminals in list not equal, chk items in list",T_Enum::T_Err_no_of_native_Ts_in_list_not_equal_,0,false,false) + { no_ = No;} + unsigned long + Err_no_of_native_Ts_in_list_not_equal::no()const{return no_;} + +@*2 {\bf \NOsign threads in list not eq}.\fbreak +Enum: T\_Err\_no\_of\_threads\_in\_list\_not\_equal\_ +\fbreak +\line{Class: Err\_no\_of\_threads\_in\_list\_not\_equal \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 \NOsign threads in list not eq user-declaration directive. +@<\NOsign threads in list not eq user-declaration directive@>= + + public: + Err_no_of_threads_in_list_not_equal(unsigned long No); + unsigned long no()const; + private:unsigned long no_; + +@*3 \NOsign threads in list not eq user-implementation directive. +@<\NOsign threads in list not eq user-implementation directive@>= + + Err_no_of_threads_in_list_not_equal:: + Err_no_of_threads_in_list_not_equal(unsigned long No) +T_CTOR("no threads in list not equal, chk list",T_Enum::T_Err_no_of_threads_in_list_not_equal_,0,false,false) + { no_ = No;} + unsigned long + Err_no_of_threads_in_list_not_equal::no()const{return no_;} + +@*2 {\bf ? ended subrule expr}.\fbreak +Enum: T\_Err\_not\_T\_or\_R\_or\_eos\_in\_subrule\_expr\_ +\fbreak +\line{Class: Err\_not\_T\_or\_R\_or\_eos\_in\_subrule\_expr \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf Empty file no grammar constructs present}.\fbreak +Enum: T\_Err\_empty\_file\_ +\fbreak +\line{Class: Err\_empty\_file \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf O2 epsilon badly gened: 0 items in fsc lists}.\fbreak +Enum: T\_Err\_epsilon\_pass\_thru\_ +\fbreak +\line{Class: Err\_epsilon\_pass\_thru \hfil AB: N \hfil AD: N} + + +\O2 states that a thread has epsilon pass thru of thread calling. +Example the called thread start state has an epsilon subrule. +Sanity check or paranoia on my work. + +\fbreak +\hrule +@*2 {\bf O2 epsilon: T present, but no T list}.\fbreak +Enum: T\_Err\_epsilon\_pass\_thru\_no\_Ts\_ +\fbreak +\line{Class: Err\_epsilon\_pass\_thru\_no\_Ts \hfil AB: N \hfil AD: N} + + +\O2 states that a thread has epsilon pass thru of thread calling. +Example the called thread start state has an epsilon subrule. +Sanity check or paranoia on my work. + +\fbreak +\hrule +@*2 {\bf T in list not defined in T-alphabet}.\fbreak +Enum: T\_Err\_bad\_T\_in\_list\_ +\fbreak +\line{Class: Err\_bad\_T\_in\_list \hfil AB: N \hfil AD: N} + + +\Olinker message. It indicates that the terminal +is not defined in ``T-alphabet'' construct. +This is the T vocabulary. +If the terminal is not defined, it means that the +grammar writer has not generated the vocabulary. +So turn on the /t option and re-compile a grammar thus +creating the updated list. + +\fbreak +\hrule +@*2 {\bf T not found in stbl}.\fbreak +Enum: T\_Err\_T\_not\_in\_stbl\_ +\fbreak +\line{Class: Err\_T\_not\_in\_stbl \hfil AB: N \hfil AD: N} + + +Either the grammmar writer forgot to add a new T definition or +its a mistype. + +\fbreak +\hrule +@*2 {\bf T not returned from a thread}.\fbreak +Enum: T\_Err\_not\_T\_for\_rtned\_token\_from\_th\_ +\fbreak +\line{Class: Err\_not\_T\_for\_rtned\_token\_from\_th \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf T-alphabet file does not exist}.\fbreak +Enum: T\_Err\_T\_alphabet\_file\_does\_not\_exist\_ +\fbreak +\line{Class: Err\_T\_alphabet\_file\_does\_not\_exist \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf T-alphabet file not present}.\fbreak +Enum: T\_Err\_T\_alphabet\_file\_not\_present\_ +\fbreak +\line{Class: Err\_T\_alphabet\_file\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf T-alphabet kw not present}.\fbreak +Enum: T\_Err\_T\_alphabet\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_T\_alphabet\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf already defined AB tag}.\fbreak +Enum: T\_Err\_already\_defined\_AB\_ +\fbreak +\line{Class: Err\_already\_defined\_AB \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf already defined AD tag}.\fbreak +Enum: T\_Err\_already\_defined\_AD\_ +\fbreak +\line{Class: Err\_already\_defined\_AD \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad char}.\fbreak +Enum: T\_Err\_bad\_char\_ +\fbreak +\line{Class: Err\_bad\_char \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 bad char destructor directive. +@<bad char destructor directive@>= + + if(R->bad_char_!=0) + delete R->bad_char(); + +@*3 bad char user-declaration directive. +@<bad char user-declaration directive@>= + + public: + Err_bad_char(CAbs_lr1_sym* Err_char); + yacco2::CAbs_lr1_sym* bad_char()const; + void zero_out_bad_char(); + private: + yacco2::CAbs_lr1_sym* bad_char_; + +@*3 bad char user-implementation directive. +@<bad char user-implementation directive@>= + + Err_bad_char:: + Err_bad_char(CAbs_lr1_sym* Bad_char) +T_CTOR("bad char",T_Enum::T_Err_bad_char_,&dtor_Err_bad_char,false,false) + {bad_char_ = Bad_char;} + yacco2::CAbs_lr1_sym* Err_bad_char::bad_char()const{return bad_char_;} + void Err_bad_char::zero_out_bad_char(){bad_char_ = 0;} + +@*2 {\bf bad cmd-opt}.\fbreak +Enum: T\_Err\_bad\_cmd\_lne\_opt\_ +\fbreak +\line{Class: Err\_bad\_cmd\_lne\_opt \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad directive}.\fbreak +Enum: T\_Err\_bad\_directive\_ +\fbreak +\line{Class: Err\_bad\_directive \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad eos}.\fbreak +Enum: T\_Err\_bad\_eos\_ +\fbreak +\line{Class: Err\_bad\_eos \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad esc}.\fbreak +Enum: T\_Err\_bad\_esc\_ +\fbreak +\line{Class: Err\_bad\_esc \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad filename}.\fbreak +Enum: T\_Err\_bad\_filename\_ +\fbreak +\line{Class: Err\_bad\_filename \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 bad filename user-declaration directive. +@<bad filename user-declaration directive@>= + + public: + Err_bad_filename(std::string& File_name); + Err_bad_filename(const char* File_name); + std::string* file_name(); + private: + std::string file_name_; + +@*3 bad filename user-implementation directive. +@<bad filename user-implementation directive@>= + + Err_bad_filename:: + Err_bad_filename(std::string& File_name) + T_CTOR("bad filename",T_Enum::T_Err_bad_filename_,0,false,false) + {file_name_ += File_name.c_str();} + Err_bad_filename:: + Err_bad_filename(const char* File_name) + T_CTOR("bad filename",T_Enum::T_Err_bad_filename_,0,false,false) + {file_name_ += File_name;} + std::string* Err_bad_filename::file_name(){return &file_name_;} + +@*2 {\bf bad filename for Errors vocabulary header}.\fbreak +Enum: T\_Err\_bad\_errors\_hdrfilename\_ +\fbreak +\line{Class: Err\_bad\_errors\_hdrfilename \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 bad filename for Errors vocabulary header user-declaration directive. +@<bad filename for Errors vocabulary header user-declaration directive@>= + + public: + Err_bad_errors_hdrfilename(std::string& File_name); + Err_bad_errors_hdrfilename(const char* File_name); + std::string* file_name(); + private: + std::string file_name_; + +@*3 bad filename for Errors vocabulary header user-implementation directive. +@<bad filename for Errors vocabulary header user-implementation directive@>= + + Err_bad_errors_hdrfilename:: + Err_bad_errors_hdrfilename(std::string& File_name) +T_CTOR("bad filename for Errors vocabulary header",T_Enum::T_Err_bad_errors_hdrfilename_,0,false,false) + {file_name_ += File_name.c_str();} + Err_bad_errors_hdrfilename:: + Err_bad_errors_hdrfilename(const char* File_name) +T_CTOR("bad filename for Errors vocabulary header",T_Enum::T_Err_bad_errors_hdrfilename_,0,false,false) + {file_name_ += File_name;} + std::string* Err_bad_errors_hdrfilename::file_name(){return &file_name_;} + +@*2 {\bf bad filename for Errors vocabulary implementation}.\fbreak +Enum: T\_Err\_bad\_errors\_impfilename\_ +\fbreak +\line{Class: Err\_bad\_errors\_impfilename \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 bad filename for Errors vocabulary implementation user-declaration directive. +@<bad filename for Errors vocabulary implementation user-declaration directive@>= + + public: + Err_bad_errors_impfilename(std::string& File_name); + Err_bad_errors_impfilename(const char* File_name); + std::string* file_name(); + private: + std::string file_name_; + +@*3 bad filename for Errors vocabulary implementation user-implementation directive. +@<bad filename for Errors vocabulary implementation user-implementation directive@>= + + Err_bad_errors_impfilename:: + Err_bad_errors_impfilename(std::string& File_name) +T_CTOR("bad filename for Errors vocabulary implementation",T_Enum::T_Err_bad_errors_impfilename_,0,false,false) + {file_name_ += File_name.c_str();} + Err_bad_errors_impfilename:: + Err_bad_errors_impfilename(const char* File_name) +T_CTOR("bad filename for Errors vocabulary implementation",T_Enum::T_Err_bad_errors_impfilename_,0,false,false) + {file_name_ += File_name;} + std::string* Err_bad_errors_impfilename::file_name(){return &file_name_;} + +@*2 {\bf bad filename to output cpp}.\fbreak +Enum: T\_Err\_bad\_fsmcpp\_filename\_ +\fbreak +\line{Class: Err\_bad\_fsmcpp\_filename \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 bad filename to output cpp user-declaration directive. +@<bad filename to output cpp user-declaration directive@>= + + public: + Err_bad_fsmcpp_filename(std::string& File_name); + Err_bad_fsmcpp_filename(const char* File_name); + std::string* file_name(); + private: + std::string file_name_; + +@*3 bad filename to output cpp user-implementation directive. +@<bad filename to output cpp user-implementation directive@>= + + Err_bad_fsmcpp_filename:: + Err_bad_fsmcpp_filename(std::string& File_name) +T_CTOR("bad filename to output cpp",T_Enum::T_Err_bad_fsmcpp_filename_,0,false,false) + {file_name_ += File_name.c_str();} + Err_bad_fsmcpp_filename:: + Err_bad_fsmcpp_filename(const char* File_name) +T_CTOR("bad filename to output cpp",T_Enum::T_Err_bad_fsmcpp_filename_,0,false,false) + {file_name_ += File_name;} + std::string* Err_bad_fsmcpp_filename::file_name(){return &file_name_;} + +@*2 {\bf bad filename to output enumeration header}.\fbreak +Enum: T\_Err\_bad\_enum\_filename\_ +\fbreak +\line{Class: Err\_bad\_enum\_filename \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 bad filename to output enumeration header user-declaration directive. +@<bad filename to output enumeration header user-declaration directive@>= + + public: + Err_bad_enum_filename(std::string& File_name); + Err_bad_enum_filename(const char* File_name); + std::string* file_name(); + private: + std::string file_name_; + +@*3 bad filename to output enumeration header user-implementation directive. +@<bad filename to output enumeration header user-implementation directive@>= + + Err_bad_enum_filename:: + Err_bad_enum_filename(std::string& File_name) +T_CTOR("bad filename to output enumeration header",T_Enum::T_Err_bad_enum_filename_,0,false,false) + {file_name_ += File_name.c_str();} + Err_bad_enum_filename:: + Err_bad_enum_filename(const char* File_name) +T_CTOR("bad filename to output enumeration header",T_Enum::T_Err_bad_enum_filename_,0,false,false) + {file_name_ += File_name;} + std::string* Err_bad_enum_filename::file_name(){return &file_name_;} + +@*2 {\bf bad filename to output grammar header}.\fbreak +Enum: T\_Err\_bad\_fsmheader\_filename\_ +\fbreak +\line{Class: Err\_bad\_fsmheader\_filename \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 bad filename to output grammar header user-declaration directive. +@<bad filename to output grammar header user-declaration directive@>= + + public: + Err_bad_fsmheader_filename(std::string& File_name); + Err_bad_fsmheader_filename(const char* File_name); + std::string* file_name(); + private: + std::string file_name_; + +@*3 bad filename to output grammar header user-implementation directive. +@<bad filename to output grammar header user-implementation directive@>= + + Err_bad_fsmheader_filename:: + Err_bad_fsmheader_filename(std::string& File_name) +T_CTOR("bad filename to output grammar header",T_Enum::T_Err_bad_fsmheader_filename_,0,false,false) + {file_name_ += File_name.c_str();} + Err_bad_fsmheader_filename:: + Err_bad_fsmheader_filename(const char* File_name) +T_CTOR("bad filename to output grammar header",T_Enum::T_Err_bad_fsmheader_filename_,0,false,false) + {file_name_ += File_name;} + std::string* Err_bad_fsmheader_filename::file_name(){return &file_name_;} + +@*2 {\bf bad filename to output sym}.\fbreak +Enum: T\_Err\_bad\_fsmsym\_filename\_ +\fbreak +\line{Class: Err\_bad\_fsmsym\_filename \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 bad filename to output sym user-declaration directive. +@<bad filename to output sym user-declaration directive@>= + + public: + Err_bad_fsmsym_filename(std::string& File_name); + Err_bad_fsmsym_filename(const char* File_name); + std::string* file_name(); + private: + std::string file_name_; + +@*3 bad filename to output sym user-implementation directive. +@<bad filename to output sym user-implementation directive@>= + + Err_bad_fsmsym_filename:: + Err_bad_fsmsym_filename(std::string& File_name) +T_CTOR("bad filename to output sym",T_Enum::T_Err_bad_fsmsym_filename_,0,false,false) + {file_name_ += File_name.c_str();} + Err_bad_fsmsym_filename:: + Err_bad_fsmsym_filename(const char* File_name) +T_CTOR("bad filename to output sym",T_Enum::T_Err_bad_fsmsym_filename_,0,false,false) + {file_name_ += File_name;} + std::string* Err_bad_fsmsym_filename::file_name(){return &file_name_;} + +@*2 {\bf bad filename to output tbl}.\fbreak +Enum: T\_Err\_bad\_fsmtbl\_filename\_ +\fbreak +\line{Class: Err\_bad\_fsmtbl\_filename \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 bad filename to output tbl user-declaration directive. +@<bad filename to output tbl user-declaration directive@>= + + public: + Err_bad_fsmtbl_filename(std::string& File_name); + Err_bad_fsmtbl_filename(const char* File_name); + std::string* file_name(); + private: + std::string file_name_; + +@*3 bad filename to output tbl user-implementation directive. +@<bad filename to output tbl user-implementation directive@>= + + Err_bad_fsmtbl_filename:: + Err_bad_fsmtbl_filename(std::string& File_name) +T_CTOR("bad filename to output tbl",T_Enum::T_Err_bad_fsmtbl_filename_,0,false,false) + {file_name_ += File_name.c_str();} + Err_bad_fsmtbl_filename:: + Err_bad_fsmtbl_filename(const char* File_name) +T_CTOR("bad filename to output tbl",T_Enum::T_Err_bad_fsmtbl_filename_,0,false,false) + {file_name_ += File_name;} + std::string* Err_bad_fsmtbl_filename::file_name(){return &file_name_;} + +@*2 {\bf bad int-no}.\fbreak +Enum: T\_Err\_bad\_int\_no\_ +\fbreak +\line{Class: Err\_bad\_int\_no \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad int-no range}.\fbreak +Enum: T\_Err\_bad\_int\_no\_range\_ +\fbreak +\line{Class: Err\_bad\_int\_no\_range \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad operator la expr: not a + or -}.\fbreak +Enum: T\_Err\_bad\_operator\_in\_la\_expr\_ +\fbreak +\line{Class: Err\_bad\_operator\_in\_la\_expr \hfil AB: N \hfil AD: N} + + +Thread's lookahead expression malformed. + +\fbreak +\hrule +@*2 {\bf bad pos of t def}.\fbreak +Enum: T\_Err\_cannot\_define\_term\_after\_sufx\_dir\_ +\fbreak +\line{Class: Err\_cannot\_define\_term\_after\_sufx\_dir \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad pos of terminals-refs}.\fbreak +Enum: T\_Err\_terminals\_refs\_def\_after\_terminals\_ +\fbreak +\line{Class: Err\_terminals\_refs\_def\_after\_terminals \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad term in la expr}.\fbreak +Enum: T\_Err\_bad\_term\_in\_la\_expr\_ +\fbreak +\line{Class: Err\_bad\_term\_in\_la\_expr \hfil AB: N \hfil AD: N} + + +Must be a Rule or a T term within the subrule expression. + +\fbreak +\hrule +@*2 {\bf bad term in subrule expr}.\fbreak +Enum: T\_Err\_not\_T\_or\_R\_in\_subrule\_expr\_ +\fbreak +\line{Class: Err\_not\_T\_or\_R\_in\_subrule\_expr \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad thread expr}.\fbreak +Enum: T\_Err\_bad\_th\_qualifier\_ +\fbreak +\line{Class: Err\_bad\_th\_qualifier \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf bad univ-seq}.\fbreak +Enum: T\_Err\_bad\_univ\_seq\_ +\fbreak +\line{Class: Err\_bad\_univ\_seq \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 bad univ-seq user-declaration directive. +@<bad univ-seq user-declaration directive@>= + + public: + Err_bad_univ_seq(unsigned long Value); + unsigned long bad_univ_seq()const; + private:unsigned long bad_univ_seq_; + +@*3 bad univ-seq user-implementation directive. +@<bad univ-seq user-implementation directive@>= + + Err_bad_univ_seq:: + Err_bad_univ_seq(unsigned long Bad_univ_seq) + T_CTOR("bad univ seq",T_Enum::T_Err_bad_univ_seq_,0,false,false) + {bad_univ_seq_ = Bad_univ_seq; + } + unsigned long + Err_bad_univ_seq::bad_univ_seq()const{return bad_univ_seq_;} + +@*2 {\bf command line chaffe}.\fbreak +Enum: T\_Err\_cmd\_line\_chaffe\_ +\fbreak +\line{Class: Err\_cmd\_line\_chaffe \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf comment-overrun}.\fbreak +Enum: T\_Err\_comment\_overrun\_ +\fbreak +\line{Class: Err\_comment\_overrun \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf dup ? sufx directive}.\fbreak +Enum: T\_Err\_dup\_sufx\_directive\_ +\fbreak +\line{Class: Err\_dup\_sufx\_directive \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf dup-entry in sym-table}.\fbreak +Enum: T\_Err\_dup\_entry\_in\_sym\_table\_ +\fbreak +\line{Class: Err\_dup\_entry\_in\_sym\_table \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate T\_enum phrase}.\fbreak +Enum: T\_Err\_already\_processed\_T\_enum\_phase\_ +\fbreak +\line{Class: Err\_already\_processed\_T\_enum\_phase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate directive}.\fbreak +Enum: T\_Err\_duplicate\_directive\_ +\fbreak +\line{Class: Err\_duplicate\_directive \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate error phrase}.\fbreak +Enum: T\_Err\_already\_processed\_error\_phase\_ +\fbreak +\line{Class: Err\_already\_processed\_error\_phase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate fsm phrase}.\fbreak +Enum: T\_Err\_already\_processed\_fsm\_phase\_ +\fbreak +\line{Class: Err\_already\_processed\_fsm\_phase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate logical name}.\fbreak +Enum: T\_Err\_duplicate\_logical\_name\_ +\fbreak +\line{Class: Err\_duplicate\_logical\_name \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate lrk phrase}.\fbreak +Enum: T\_Err\_already\_processed\_lrk\_phase\_ +\fbreak +\line{Class: Err\_already\_processed\_lrk\_phase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate parallel-parse phrase}.\fbreak +Enum: T\_Err\_already\_processed\_pp\_phase\_ +\fbreak +\line{Class: Err\_already\_processed\_pp\_phase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate raw character phrase}.\fbreak +Enum: T\_Err\_already\_processed\_rc\_phase\_ +\fbreak +\line{Class: Err\_already\_processed\_rc\_phase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate rule phrase}.\fbreak +Enum: T\_Err\_already\_processed\_rule\_phase\_ +\fbreak +\line{Class: Err\_already\_processed\_rule\_phase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate terminal phrase}.\fbreak +Enum: T\_Err\_already\_processed\_T\_phase\_ +\fbreak +\line{Class: Err\_already\_processed\_T\_phase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf duplicate-entry in alphabet}.\fbreak +Enum: T\_Err\_dup\_entry\_in\_alphabet\_ +\fbreak +\line{Class: Err\_dup\_entry\_in\_alphabet \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf emitfile file does not exist}.\fbreak +Enum: T\_Err\_emitfile\_file\_does\_not\_exist\_ +\fbreak +\line{Class: Err\_emitfile\_file\_does\_not\_exist \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf emitfile file not present}.\fbreak +Enum: T\_Err\_emitfile\_file\_not\_present\_ +\fbreak +\line{Class: Err\_emitfile\_file\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf emitfile kw not present}.\fbreak +Enum: T\_Err\_emitfile\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_emitfile\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf file of T-alphabet not present}.\fbreak +Enum: T\_Err\_file\_of\_T\_alphabet\_not\_present\_ +\fbreak +\line{Class: Err\_file\_of\_T\_alphabet\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf file-name file does not exist}.\fbreak +Enum: T\_Err\_filename\_file\_does\_not\_exist\_ +\fbreak +\line{Class: Err\_filename\_file\_does\_not\_exist \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf fsc file does not exist}.\fbreak +Enum: T\_Err\_fsc\_file\_does\_not\_exist\_ +\fbreak +\line{Class: Err\_fsc\_file\_does\_not\_exist \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf fsc file not present}.\fbreak +Enum: T\_Err\_fsc\_cntl\_file\_not\_present\_ +\fbreak +\line{Class: Err\_fsc\_cntl\_file\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf improper closing of rules construct}.\fbreak +Enum: T\_Err\_improper\_closing\_of\_rules\_ +\fbreak +\line{Class: Err\_improper\_closing\_of\_rules \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf improper directive}.\fbreak +Enum: T\_Err\_improper\_directive\_ +\fbreak +\line{Class: Err\_improper\_directive \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf invalid fsm-debug value}.\fbreak +Enum: T\_Err\_fsm\_debug\_string\_not\_true\_or\_false\_ +\fbreak +\line{Class: Err\_fsm\_debug\_string\_not\_true\_or\_false \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf invalid logical name}.\fbreak +Enum: T\_Err\_invalid\_logical\_name\_ +\fbreak +\line{Class: Err\_invalid\_logical\_name \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf invalid logical value}.\fbreak +Enum: T\_Err\_invalid\_logical\_value\_ +\fbreak +\line{Class: Err\_invalid\_logical\_value \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf la expression calculates an empty set}.\fbreak +Enum: T\_Err\_la\_expr\_calc\_empty\_set\_ +\fbreak +\line{Class: Err\_la\_expr\_calc\_empty\_set \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf linker's monolithic value not n or y}.\fbreak +Enum: T\_Err\_monolithic\_value\_bad\_ +\fbreak +\line{Class: Err\_monolithic\_value\_bad \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf linker's transitive value not n or y}.\fbreak +Enum: T\_Err\_transitive\_value\_bad\_ +\fbreak +\line{Class: Err\_transitive\_value\_bad \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf misplaced or missing T enumeration phrase}.\fbreak +Enum: T\_ERR\_no\_T\_enum\_phrase\_ +\fbreak +\line{Class: ERR\_no\_T\_enum\_phrase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf misplaced or missing errors phrase}.\fbreak +Enum: T\_ERR\_no\_errors\_phrase\_ +\fbreak +\line{Class: ERR\_no\_errors\_phrase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf misplaced or missing fsm phrase}.\fbreak +Enum: T\_ERR\_no\_fsm\_phrase\_ +\fbreak +\line{Class: ERR\_no\_fsm\_phrase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf misplaced or missing lrk phrase}.\fbreak +Enum: T\_ERR\_no\_lrk\_phrase\_ +\fbreak +\line{Class: ERR\_no\_lrk\_phrase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf misplaced or missing rc phrase}.\fbreak +Enum: T\_ERR\_no\_rc\_phrase\_ +\fbreak +\line{Class: ERR\_no\_rc\_phrase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf misplaced or missing rules phrase}.\fbreak +Enum: T\_ERR\_no\_rules\_phrase\_ +\fbreak +\line{Class: ERR\_no\_rules\_phrase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf misplaced or missing terminals phrase}.\fbreak +Enum: T\_ERR\_no\_terminals\_phrase\_ +\fbreak +\line{Class: ERR\_no\_terminals\_phrase \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf misplaced or misspelt Rule or T outside of Rules defs}.\fbreak +Enum: T\_Err\_misplaced\_or\_misspelt\_Rule\_or\_T\_ +\fbreak +\line{Class: Err\_misplaced\_or\_misspelt\_Rule\_or\_T \hfil AB: N \hfil AD: N} + + +Thrown by |pass3.lex| grammar. +It is outside of a proper grammar's construct and +does not have a symbol table entry. +So it could be a misspelt T or an orphanned rule outside of its +defining Rules construct. + +\fbreak +\hrule +@*2 {\bf missing lrk-sufx kw}.\fbreak +Enum: T\_Err\_missing\_lrk\_sufx\_kw\_ +\fbreak +\line{Class: Err\_missing\_lrk\_sufx\_kw \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf missing terminals-refs kw}.\fbreak +Enum: T\_Err\_missing\_terminals\_refs\_kw\_ +\fbreak +\line{Class: Err\_missing\_terminals\_refs\_kw \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf missing terminals-sufx kw}.\fbreak +Enum: T\_Err\_missing\_terminals\_sufx\_kw\_ +\fbreak +\line{Class: Err\_missing\_terminals\_sufx\_kw \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf nested files exceeded}.\fbreak +Enum: T\_Err\_nested\_files\_exceeded\_ +\fbreak +\line{Class: Err\_nested\_files\_exceeded \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 nested files exceeded user-declaration directive. +@<nested files exceeded user-declaration directive@>= + + public: + Err_nested_files_exceeded(yacco2::INT Nested_file_cnt,std::string& File_name); + yacco2::INT nested_cnt(){return nested_cnt_;}; + std::string* file_exceeded(){return &file_exceeded_;}; + private: + yacco2::INT nested_cnt_; + std::string file_exceeded_; + +@*3 nested files exceeded user-implementation directive. +@<nested files exceeded user-implementation directive@>= + + Err_nested_files_exceeded:: + Err_nested_files_exceeded(yacco2::INT Nested_cnt,std::string& File_name) + T_CTOR("nested files exceeded",T_Enum::T_Err_nested_files_exceeded_,0,false,false) + {nested_cnt_ = Nested_cnt;file_exceeded_ += File_name.c_str();} + +@*2 {\bf no \ASTERICsign{}\ASTERICsign{}\ASTERICsign{}}.\fbreak +Enum: T\_Err\_no\_syntax\_code\_end\_present\_ +\fbreak +\line{Class: Err\_no\_syntax\_code\_end\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no T in T-alphabet list}.\fbreak +Enum: T\_Err\_no\_terminals\_in\_T\_alphabet\_list\_ +\fbreak +\line{Class: Err\_no\_terminals\_in\_T\_alphabet\_list \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no Ts in T-alphabet}.\fbreak +Enum: T\_Err\_no\_terminals\_present\_in\_T\_alphabet\_ +\fbreak +\line{Class: Err\_no\_terminals\_present\_in\_T\_alphabet \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no close-brace}.\fbreak +Enum: T\_Err\_no\_close\_brace\_ +\fbreak +\line{Class: Err\_no\_close\_brace \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no close-parenthesis}.\fbreak +Enum: T\_Err\_no\_close\_parenthesis\_ +\fbreak +\line{Class: Err\_no\_close\_parenthesis \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no closing brace ending rules defs}.\fbreak +Enum: T\_Err\_no\_close\_brace\_ending\_rules\_defs\_ +\fbreak +\line{Class: Err\_no\_close\_brace\_ending\_rules\_defs \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no cmd-lne-data}.\fbreak +Enum: T\_Err\_no\_cmd\_lne\_data\_ +\fbreak +\line{Class: Err\_no\_cmd\_lne\_data \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no comma present}.\fbreak +Enum: T\_Err\_no\_comma\_present\_ +\fbreak +\line{Class: Err\_no\_comma\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no constant-defs keyword present}.\fbreak +Enum: T\_Err\_no\_kdefs\_kw\_present\_ +\fbreak +\line{Class: Err\_no\_kdefs\_kw\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no constant-defs-code present}.\fbreak +Enum: T\_Err\_no\_kdefs\_code\_present\_ +\fbreak +\line{Class: Err\_no\_kdefs\_code\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no constant-defs-directive present}.\fbreak +Enum: T\_Err\_no\_constant\_defs\_present\_ +\fbreak +\line{Class: Err\_no\_constant\_defs\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no directive present}.\fbreak +Enum: T\_Err\_no\_directive\_present\_ +\fbreak +\line{Class: Err\_no\_directive\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no end-T-alphabet present}.\fbreak +Enum: T\_Err\_end\_T\_alphabet\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_end\_T\_alphabet\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no end-list-of-native...}.\fbreak +Enum: T\_Err\_end\_list\_native\_T\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_end\_list\_native\_T\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no end-list-of-trans...}.\fbreak +Enum: T\_Err\_end\_list\_of\_transitive\_threads\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_end\_list\_of\_transitive\_threads\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no end-of-code}.\fbreak +Enum: T\_Err\_no\_end\_of\_code\_ +\fbreak +\line{Class: Err\_no\_end\_of\_code \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no end-preamble present}.\fbreak +Enum: T\_Err\_end\_preamble\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_end\_preamble\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no file-name kw present}.\fbreak +Enum: T\_Err\_filename\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_filename\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no file-name present}.\fbreak +Enum: T\_Err\_no\_filename\_present\_ +\fbreak +\line{Class: Err\_no\_filename\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no file-name value}.\fbreak +Enum: T\_Err\_filename\_value\_not\_present\_ +\fbreak +\line{Class: Err\_filename\_value\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no file-name-id present}.\fbreak +Enum: T\_Err\_no\_filename\_id\_present\_ +\fbreak +\line{Class: Err\_no\_filename\_id\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no file-of-T-alphabet}.\fbreak +Enum: T\_Err\_file\_of\_T\_alphabet\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_file\_of\_T\_alphabet\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no filename}.\fbreak +Enum: T\_Err\_no\_filename\_ +\fbreak +\line{Class: Err\_no\_filename \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-class present}.\fbreak +Enum: T\_Err\_no\_fsm\_class\_present\_ +\fbreak +\line{Class: Err\_no\_fsm\_class\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-comments present}.\fbreak +Enum: T\_Err\_no\_fsm\_comments\_present\_ +\fbreak +\line{Class: Err\_no\_fsm\_comments\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-comments string present}.\fbreak +Enum: T\_Err\_no\_fsm\_comments\_string\_ +\fbreak +\line{Class: Err\_no\_fsm\_comments\_string \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-date present}.\fbreak +Enum: T\_Err\_no\_fsm\_date\_present\_ +\fbreak +\line{Class: Err\_no\_fsm\_date\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-date string present}.\fbreak +Enum: T\_Err\_no\_fsm\_date\_string\_ +\fbreak +\line{Class: Err\_no\_fsm\_date\_string \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-debug present}.\fbreak +Enum: T\_Err\_no\_fsm\_debug\_present\_ +\fbreak +\line{Class: Err\_no\_fsm\_debug\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-debug string present}.\fbreak +Enum: T\_Err\_no\_fsm\_debug\_string\_ +\fbreak +\line{Class: Err\_no\_fsm\_debug\_string \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-filename id present}.\fbreak +Enum: T\_Err\_no\_fsm\_filename\_id\_present\_ +\fbreak +\line{Class: Err\_no\_fsm\_filename\_id\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-filename present}.\fbreak +Enum: T\_Err\_no\_fsm\_filename\_present\_ +\fbreak +\line{Class: Err\_no\_fsm\_filename\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-id-present}.\fbreak +Enum: T\_Err\_no\_fsm\_id\_present\_ +\fbreak +\line{Class: Err\_no\_fsm\_id\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-id-string present}.\fbreak +Enum: T\_Err\_no\_fsm\_id\_string\_ +\fbreak +\line{Class: Err\_no\_fsm\_id\_string \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-namespace id present}.\fbreak +Enum: T\_Err\_no\_fsm\_namespace\_id\_present\_ +\fbreak +\line{Class: Err\_no\_fsm\_namespace\_id\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-namespace present}.\fbreak +Enum: T\_Err\_no\_fsm\_namespace\_present\_ +\fbreak +\line{Class: Err\_no\_fsm\_namespace\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-version present}.\fbreak +Enum: T\_Err\_no\_fsm\_version\_present\_ +\fbreak +\line{Class: Err\_no\_fsm\_version\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no fsm-version string present}.\fbreak +Enum: T\_Err\_no\_fsm\_version\_string\_ +\fbreak +\line{Class: Err\_no\_fsm\_version\_string \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no grammar-name present}.\fbreak +Enum: T\_Err\_grammar\_name\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_grammar\_name\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no grammar-name value}.\fbreak +Enum: T\_Err\_grammar\_name\_value\_not\_present\_ +\fbreak +\line{Class: Err\_grammar\_name\_value\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no identifier present}.\fbreak +Enum: T\_Err\_no\_identifier\_present\_ +\fbreak +\line{Class: Err\_no\_identifier\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no int present}.\fbreak +Enum: T\_Err\_no\_int\_present\_ +\fbreak +\line{Class: Err\_no\_int\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no key-value present in definition}.\fbreak +Enum: T\_Err\_no\_terminal\_key\_present\_ +\fbreak +\line{Class: Err\_no\_terminal\_key\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no list-of-native-terminals}.\fbreak +Enum: T\_Err\_list\_of\_terminals\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_list\_of\_terminals\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no list-of-transit...}.\fbreak +Enum: T\_Err\_no\_list\_of\_trans\_threads\_kw\_ +\fbreak +\line{Class: Err\_no\_list\_of\_trans\_threads\_kw \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no monolithic present}.\fbreak +Enum: T\_Err\_monolithic\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_monolithic\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no name-space}.\fbreak +Enum: T\_Err\_namespace\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_namespace\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no name-space present}.\fbreak +Enum: T\_Err\_no\_namespace\_present\_ +\fbreak +\line{Class: Err\_no\_namespace\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no name-space value}.\fbreak +Enum: T\_Err\_namespace\_value\_not\_present\_ +\fbreak +\line{Class: Err\_namespace\_value\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no name-space-id present}.\fbreak +Enum: T\_Err\_no\_namespace\_id\_present\_ +\fbreak +\line{Class: Err\_no\_namespace\_id\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no no-of-T present}.\fbreak +Enum: T\_Err\_no\_of\_T\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_no\_of\_T\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no open-brace}.\fbreak +Enum: T\_Err\_no\_open\_brace\_ +\fbreak +\line{Class: Err\_no\_open\_brace \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no open-parenthesis}.\fbreak +Enum: T\_Err\_no\_open\_parenthesis\_ +\fbreak +\line{Class: Err\_no\_open\_parenthesis \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no parallel thread function}.\fbreak +Enum: T\_Err\_no\_pp\_fnct\_id\_present\_ +\fbreak +\line{Class: Err\_no\_pp\_fnct\_id\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no parallel-code}.\fbreak +Enum: T\_Err\_no\_pp\_code\_present\_ +\fbreak +\line{Class: Err\_no\_pp\_code\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no parallel-code-syntax-code}.\fbreak +Enum: T\_Err\_no\_pp\_code\_stc\_present\_ +\fbreak +\line{Class: Err\_no\_pp\_code\_stc\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no parallel-control-monitor}.\fbreak +Enum: T\_Err\_no\_pp\_ctrl\_mntor\_kw\_present\_ +\fbreak +\line{Class: Err\_no\_pp\_ctrl\_mntor\_kw\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no parallel-la-bndary expr}.\fbreak +Enum: T\_Err\_pp\_la\_boundary\_attribute\_not\_fnd\_ +\fbreak +\line{Class: Err\_pp\_la\_boundary\_attribute\_not\_fnd \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no parallel-la-boundary}.\fbreak +Enum: T\_Err\_no\_pp\_bndry\_present\_ +\fbreak +\line{Class: Err\_no\_pp\_bndry\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no parallel-la-boundary-expr}.\fbreak +Enum: T\_Err\_no\_pp\_la\_bndary\_expr\_present\_ +\fbreak +\line{Class: Err\_no\_pp\_la\_bndary\_expr\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no parallel-thread-function}.\fbreak +Enum: T\_Err\_no\_pp\_thread\_function\_present\_ +\fbreak +\line{Class: Err\_no\_pp\_thread\_function\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no preamble source code}.\fbreak +Enum: T\_Err\_preamble\_srce\_code\_not\_present\_ +\fbreak +\line{Class: Err\_preamble\_srce\_code\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no rule name present}.\fbreak +Enum: T\_Err\_no\_rule\_name\_present\_ +\fbreak +\line{Class: Err\_no\_rule\_name\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no sub rule present}.\fbreak +Enum: T\_Err\_no\_sub\_rule\_present\_ +\fbreak +\line{Class: Err\_no\_sub\_rule\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no sym-class id present}.\fbreak +Enum: T\_Err\_no\_sym\_class\_id\_present\_ +\fbreak +\line{Class: Err\_no\_sym\_class\_id\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no sym-class present}.\fbreak +Enum: T\_Err\_no\_sym\_class\_present\_ +\fbreak +\line{Class: Err\_no\_sym\_class\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no symbol definition present}.\fbreak +Enum: T\_Err\_no\_sym\_defs\_present\_ +\fbreak +\line{Class: Err\_no\_sym\_defs\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no syntax-code present}.\fbreak +Enum: T\_Err\_no\_syntax\_code\_present\_ +\fbreak +\line{Class: Err\_no\_syntax\_code\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no terminal-def-code present}.\fbreak +Enum: T\_Err\_no\_tdef\_code\_present\_ +\fbreak +\line{Class: Err\_no\_tdef\_code\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no thread-name present}.\fbreak +Enum: T\_Err\_threadname\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_threadname\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no thread-name value}.\fbreak +Enum: T\_Err\_threadname\_value\_not\_present\_ +\fbreak +\line{Class: Err\_threadname\_value\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no transitive present}.\fbreak +Enum: T\_Err\_transitive\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_transitive\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no\NOsign in list-of-native-term...}.\fbreak +Enum: T\_Err\_no\_of\_terminals\_not\_present\_ +\fbreak +\line{Class: Err\_no\_of\_terminals\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf no\NOsign in list-of-trans...}.\fbreak +Enum: T\_Err\_no\_of\_threads\_not\_present\_ +\fbreak +\line{Class: Err\_no\_of\_threads\_not\_present \hfil AB: N \hfil AD: N} + + +Cross check against the \O2 linker ``fsc'' info. +The ``list-of-transitive-threads'' construct also +states the number of entries in its list. +Some how they don't jive. +i think thar's something rotten in the fingers and +diletants playing with the file? + +\fbreak +\hrule +@*2 {\bf no-of-T value not present}.\fbreak +Enum: T\_Err\_no\_of\_T\_value\_not\_present\_ +\fbreak +\line{Class: Err\_no\_of\_T\_value\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf not :: in thread expr}.\fbreak +Enum: T\_Err\_not\_dbl\_colon\_in\_th\_stmt\_ +\fbreak +\line{Class: Err\_not\_dbl\_colon\_in\_th\_stmt \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf not a Rule in chained dispatcher expr}.\fbreak +Enum: T\_Err\_not\_a\_Rule\_ +\fbreak +\line{Class: Err\_not\_a\_Rule \hfil AB: N \hfil AD: N} + + +Thrown by |subrule_def.lex| grammar supporting the +new back-to-back thread call construct whereby the following procedure call is chained to +the pushed ``return T'' of the 1st thread call. +The term following the 1st thread call expression must be a rule whose +contents use the \\TRAshift operator. + +\fbreak +\hrule +@*2 {\bf not a kw to start the top/down parse construct}.\fbreak +Enum: T\_Err\_not\_kw\_defining\_grammar\_construct\_ +\fbreak +\line{Class: Err\_not\_kw\_defining\_grammar\_construct \hfil AB: N \hfil AD: N} + + +Thrown by |pass3.lex| grammar. +Caused by an identifier that has been misplaced. +Could be a typo +where the item should be within the +defining Rules Vocabulary or +a premature ending of the Rules construct by an extra close brace +whereby it is trying to define a rule. + +\fbreak +\hrule +@*2 {\bf not a lhs kw}.\fbreak +Enum: T\_Err\_not\_a\_lhs\_kw\_ +\fbreak +\line{Class: Err\_not\_a\_lhs\_kw \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf not a namespace id in thread expr}.\fbreak +Enum: T\_Err\_not\_id\_for\_ns\_in\_th\_stmt\_ +\fbreak +\line{Class: Err\_not\_id\_for\_ns\_in\_th\_stmt \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf not a terminal definition}.\fbreak +Enum: T\_Err\_not\_a\_terminal\_definition\_ +\fbreak +\line{Class: Err\_not\_a\_terminal\_definition \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf not a thread name id in expr}.\fbreak +Enum: T\_Err\_not\_id\_for\_th\_name\_in\_th\_stmt\_ +\fbreak +\line{Class: Err\_not\_id\_for\_th\_name\_in\_th\_stmt \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf not an arbitration-code keyword}.\fbreak +Enum: T\_Err\_not\_arbitration\_code\_kw\_ +\fbreak +\line{Class: Err\_not\_arbitration\_code\_kw \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf not an eosr in subrule expr}.\fbreak +Enum: T\_Err\_not\_eos\_in\_subrule\_expr\_ +\fbreak +\line{Class: Err\_not\_eos\_in\_subrule\_expr \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf preamble kw not present}.\fbreak +Enum: T\_Err\_preamble\_kw\_not\_present\_ +\fbreak +\line{Class: Err\_preamble\_kw\_not\_present \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf re-compile grammar: bad T-alphabet}.\fbreak +Enum: T\_Err\_bad\_T\_alphabet\_ +\fbreak +\line{Class: Err\_bad\_T\_alphabet \hfil AB: N \hfil AD: N} + + +Mismatch with the contents of the ``T-alphabet'' construct and the +number of terminals stated in each individual grammar ``fsc'' file. +Usually means that terminals of some ilk have changed the +population and requires a recompilation per grammar +to match the vocabulary numbers. +That is regen grammars with the ``-t'' and ``-err'' switches. +This gens the eumeration file that ``o2linker'' depends on. + +\fbreak +\hrule +@*2 {\bf removal of term against empty set in la expr}.\fbreak +Enum: T\_Err\_empty\_set\_removal\_in\_la\_expr\_ +\fbreak +\line{Class: Err\_empty\_set\_removal\_in\_la\_expr \hfil AB: N \hfil AD: N} + + +Bad expression where a removal expression is against an empty set. +For example, a - eolr - b is invalid. The eolr empties the set. +a - eolr + b is a round about way of having just b in the set. + +\fbreak +\hrule +@*2 {\bf report-card-ptr-0}.\fbreak +Enum: T\_Err\_report\_card\_ptr\_0\_ +\fbreak +\line{Class: Err\_report\_card\_ptr\_0 \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf rotten chr in T-alphabet}.\fbreak +Enum: T\_Err\_rotten\_chr\_in\_T\_alphabet\_ +\fbreak +\line{Class: Err\_rotten\_chr\_in\_T\_alphabet \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf rule already defined}.\fbreak +Enum: T\_Err\_rule\_already\_defined\_ +\fbreak +\line{Class: Err\_rule\_already\_defined \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf rule does not gen T strings - sick grammar}.\fbreak +Enum: T\_ERR\_sick\_grammar\_ +\fbreak +\line{Class: ERR\_sick\_grammar \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf rule not found in stbl}.\fbreak +Enum: T\_Err\_rule\_not\_in\_stbl\_ +\fbreak +\line{Class: Err\_rule\_not\_in\_stbl \hfil AB: N \hfil AD: N} + + +Post process the grammar's vocabulary. +A rule can be referenced before +its definition. +Just help the grammar writer of misselling or forgetfulness. + +\fbreak +\hrule +@*2 {\bf rule used but undefined}.\fbreak +Enum: T\_Err\_used\_rule\_but\_undefined\_ +\fbreak +\line{Class: Err\_used\_rule\_but\_undefined \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf stbl char-pool full}.\fbreak +Enum: T\_Err\_sym\_tbl\_char\_pool\_full\_ +\fbreak +\line{Class: Err\_sym\_tbl\_char\_pool\_full \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf stbl context-buf-overflow}.\fbreak +Enum: T\_Err\_sym\_tbl\_context\_buf\_overflow\_ +\fbreak +\line{Class: Err\_sym\_tbl\_context\_buf\_overflow \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf stbl full}.\fbreak +Enum: T\_Err\_sym\_tbl\_full\_ +\fbreak +\line{Class: Err\_sym\_tbl\_full \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf stbl has entry but not a rule}.\fbreak +Enum: T\_Err\_stble\_has\_entry\_but\_not\_a\_rule\_ +\fbreak +\line{Class: Err\_stble\_has\_entry\_but\_not\_a\_rule \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf stbl scope-stk overflow}.\fbreak +Enum: T\_Err\_sym\_tbl\_nested\_scope\_stk\_overflow\_ +\fbreak +\line{Class: Err\_sym\_tbl\_nested\_scope\_stk\_overflow \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf stbl scope-stk underflow}.\fbreak +Enum: T\_Err\_sym\_tbl\_nested\_scope\_stk\_underflow\_ +\fbreak +\line{Class: Err\_sym\_tbl\_nested\_scope\_stk\_underflow \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf subrule overrun}.\fbreak +Enum: T\_Err\_subrule\_overrun\_ +\fbreak +\line{Class: Err\_subrule\_overrun \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf subscript out-of-range}.\fbreak +Enum: T\_Err\_subscript\_out\_of\_range\_ +\fbreak +\line{Class: Err\_subscript\_out\_of\_range \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf term not a lhs or parallel-control-monitor kw}.\fbreak +Enum: T\_Err\_not\_lhs\_pcnrl\_mntr\_ +\fbreak +\line{Class: Err\_not\_lhs\_pcnrl\_mntr \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf terminals-refs duplicate}.\fbreak +Enum: T\_Err\_terminals\_refs\_dup\_def\_ +\fbreak +\line{Class: Err\_terminals\_refs\_dup\_def \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf thread defined by another fsc file}.\fbreak +Enum: T\_Err\_already\_defined\_in\_fsc\_file\_ +\fbreak +\line{Class: Err\_already\_defined\_in\_fsc\_file \hfil AB: N \hfil AD: N} + + +Each individual thread's fsc file contains its bio. +This error indicates that the grammar writer probably +cloned off a grammar but did not +edit properly the vital statistics. +So go edit the erroneous grammar and correct +its thread name, namespace etc. + +\fbreak +\hrule +@*2 {\bf thread in stbl but subscript badly set}.\fbreak +Enum: T\_Err\_bad\_thread\_subscript\_ +\fbreak +\line{Class: Err\_bad\_thread\_subscript \hfil AB: N \hfil AD: N} + + +More of a sanity check in the symbol table. +If this occurs i'm really in trouble. + +\fbreak +\hrule +@*2 {\bf thread xrefed, but not defed}.\fbreak +Enum: T\_Err\_thread\_refed\_but\_not\_defined\_ +\fbreak +\line{Class: Err\_thread\_refed\_but\_not\_defined \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*3 thread xrefed, but not defed user-declaration directive. +@<thread xrefed, but not defed user-declaration directive@>= + + public: + Err_thread_refed_but_not_defined(CAbs_lr1_sym* Th_id); + CAbs_lr1_sym* th_id(); + private:CAbs_lr1_sym* th_id_; + +@*3 thread xrefed, but not defed user-implementation directive. +@<thread xrefed, but not defed user-implementation directive@>= + + Err_thread_refed_but_not_defined:: + Err_thread_refed_but_not_defined(CAbs_lr1_sym* Th_id) +T_CTOR("thread xrefed, but not defed",T_Enum::T_Err_thread_refed_but_not_defined_,0,false,false) + { th_id_ = Th_id;} +yacco2::CAbs_lr1_sym* Err_thread_refed_but_not_defined::th_id(){return th_id_;}; + +@*2 {\bf token found in stbl but not a kw}.\fbreak +Enum: T\_Err\_not\_a\_keyword\_ +\fbreak +\line{Class: Err\_not\_a\_keyword \hfil AB: N \hfil AD: N} + + +The symbol is not a keyword. Could be an initialization +problem with my \O2 setup. + +\fbreak +\hrule +@*2 {\bf transitive list thread not defined by fsc files}.\fbreak +Enum: T\_Err\_bad\_th\_in\_list\_ +\fbreak +\line{Class: Err\_bad\_th\_in\_list \hfil AB: N \hfil AD: N} + + +The hand coded ``???.fsc'' control file provides +all the threads' ``fsc'' files has thread entries missing. +Typically the grammar writer created a new thread but forgot the +include it in the global ``fsc'' file. +So go add the missing thread entries in the global ``fsc'' file. + +\fbreak +\hrule +@*2 {\bf undefined terminal in subrule}.\fbreak +Enum: T\_Err\_subrule\_use\_undefined\_T\_ +\fbreak +\line{Class: Err\_subrule\_use\_undefined\_T \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf unknown symbol type in stbl}.\fbreak +Enum: T\_Err\_stbl\_entry\_unknown\_ +\fbreak +\line{Class: Err\_stbl\_entry\_unknown \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@*2 {\bf use of Non-terminal (rule) outside Rules's construct}.\fbreak +Enum: T\_Err\_use\_of\_N\_outside\_Rules\_construct\_ +\fbreak +\line{Class: Err\_use\_of\_N\_outside\_Rules\_construct \hfil AB: N \hfil AD: N} + + +Thrown by |pass3.lex| grammar. +The rule reference has already been +seen by the parsed Rules construct and +stored in the symbol table. +The symbol table returns the found item as a rule. +Cause is a reference to the rule outside of the Rules construct. +Probably a typo by the grammar writer caused by the premature +parsing of the Rules Vocabulary. + +\fbreak +\hrule +@*2 {\bf use of T outside Rules's construct}.\fbreak +Enum: T\_Err\_use\_of\_T\_outside\_Rules\_construct\_ +\fbreak +\line{Class: Err\_use\_of\_T\_outside\_Rules\_construct \hfil AB: N \hfil AD: N} + + +Thrown by |pass3.lex| grammar. +The terminal definitions have already been parsed and +stored in the symbol table. +The symbol table returns the found item as a terminal rather than +the unfound identifier. +Cause is reference of a terminal outside of the Rules construct. +Probably a typo by the grammar writer. + +\fbreak +\hrule +@*2 {\bf zero len symbol}.\fbreak +Enum: T\_Err\_zero\_len\_sym\_ +\fbreak +\line{Class: Err\_zero\_len\_sym \hfil AB: N \hfil AD: N} + +\fbreak +\hrule +@** Index. |