Copyright.

Copyright (c) Dave Bone 1998 - 2015eval_phrases Grammar.

Make sure all the grammar phases are properly parsed. This is due to my not programming a grammar sequencer to explicitly define the syntax of a grammar. I wanted to parse each phrase separately by keyword triggering a descent procedure.

Question: What source GPS do u align the error against? i just place it to the beginning of the grammar file if there is no previous phase seen. A previous phase becomes the reference point to the source file. If i was energetic, i should get the last token of that phase to be more accurate but today i'm lazy. The message is adequate to correct the problem.

## 3 Fsm Ceval_phrases class.

### Ceval_phrases op directive.

(Ceval_phrases op directive 4) =

_gps_ = 0_;

### Ceval_phrases user-declaration directive 5) =

(Ceval_phrases user-declaration directive 5) =

**public**: _CAbs_lr1_sym * gps_;

**void**_post_error_(_CAbs_lr1_sym * Err_);

**void**_post_gps_(_CAbs_lr1_sym * Sym_);

### Ceval_phrases user-implementation directive.

(Ceval_phrases user-implementation directive 6) =

**void**_Ceval_phrases :: post_error_(_CAbs_lr1_sym * Err_)

{

**using namespace NS_yacco2_T_enum**;

_Err_-_set_rc_(\(*\)_gps_, __FILE_, __LINE_);

**if**: (_gps_-_enumerated_id_ = _T_Enum_:: _T_LR1_eog_) {

_Err_-_set_line_no_and_pos_in_line_(1,1);

_parser_-_add_token_to_error_queue_(\(*\)_Err_);

_parser_-_set_abort_parse_(_true_);

}

### post_gps.

(More code 7) =

**void**_Ceval_phrases :: post_gps_(_CAbs_lr1_sym * Sym_)

{

_gps_ = Sym_;


**13**. _Rparallel_phrase_ **rule.**

Rparallel_phrase

parallel-parser-phrase

**14**. _Rparallel_phrase_'s subrule 1.**

parallel-parser-phrase

**1**. (Rparallel_phrase subrule 1 op directive 14) \(\equiv\)

_Ceval_phrases \(*\) fsm =_ (_Ceval_phrases \(*\)_) _rule_info_parser_~fsm_tbl_;

_fsm_post_gps_(_sf~p1_);

**15**. _RT_enum_phrase_ **rule.**

**16**. _RT_enum_phrase_'s subrule 1.**

**1**. (RT_enum_phrase subrule 1 op directive 16) \(\equiv\)

_Ceval_phrases \(*\) fsm =_ (_Ceval_phrases \(*\)_) _rule_info_parser_~fsm_tbl_;

_fsm_post_gps_(_sf~p1_);

**17**. _RT_enum_phrase_'s subrule 2.**

**1**. (RT_enum_phrase subrule 2 op directive 17) \(\equiv\)

_Ceval_phrases \(*\) fsm =_ (_Ceval_phrases \(*\)_) _rule_info_~_parser_~~fsm_tbl_;

_fsm_post_gps_(_sf~p1_);

_fsm_post_error_(**new_ERR_no_T_enum_phrase_);

**18**. _Rerr_sym_phrase_ **rule.**

Rerr_sym_phrase

error-symbols-phrase

**19**. _RT_enum_phrase subrule 2.**

**19**.: _Rerr_sym_phrase_**'s subrule 1.**

(Rerr_sym_phrase subrule 1 op directive 19) =

_Ceval_phrases \(*\)fsm =_ ( _Ceval_phrases \(*\)_) _rule_info_parser_~fsm_tbl_;

_fsm_post_gps_(_sf~p1_);

**20**.: _Rerr_sym_phrase_**'s subrule 2.**

(Rerr_sym_phrase subrule 2 op directive 20) =

_Ceval_phrases \(*\)fsm =_ ( _Ceval_phrases \(*\)_) _rule_info_~_parser_~fsm_tbl_;

_fsm_post_gps_(_sf~p1_);

_fsm_post_error_(**new _ERR_no_errors_phrase_**);

**21**.: _Rrc_phrase_**'s subrule 1.**

(Rrc_phrase subrule 1 op directive 22) =

_Ceval_phrases \(*\)fsm =_ ( _Ceval_phrases \(*\)_) _rule_info_~_parser_~fsm_tbl_;

_fsm_post_gps_(_sf~p1_);

**23**.: _Rrc_phrase_**'s subrule 2.**

(Rrc_phrase subrule 2 op directive 23) =

_Ceval_phrases \(*\)fsm =_ ( _Ceval_phrases \(*\)_) _rule_info_~_parser_~fsm_tbl_;

_fsm_post_gps_(_sf~p1_);

_fsm_post_error_(**new _ERR_no_rc_phrase_**);

**24**.: _Rlr1_k_phrase_**rule.**

Rlr1_k_phrase

(Rlr1_k_phrase);

(Rrc_phrase subrule 2 op directive 23) =

_Ceval_phrases \(*\)fsm =_ ( _Ceval_phrases \(*\)_) _rule_info_~_parser_~fsm_tbl_;

_fsm_post_gps_(_sf~p1_);

_fsm_post_error_(**new _ERR_no_rc_phrase_**);

**25**.: _Rlr1_k_phrase_**rule.**


**31.**_Rrules_phrase's subrule 1._

(Rrules_phrase subrule 1 op directive 31) \(\equiv\)

_Ceval_phrases \(*\)fsm =_ (_Ceval_phrases \(*\)_) _rule_info__parser__-fsm_tbl__;

_fsm_-post_gps_(_sf_~p1__);

**32.**_Rrules_phrase's subrule 2._

(Rrules_phrase subrule 2 op directive 32) \(\equiv\)

_Ceval_phrases \(*\)fsm =_ (_Ceval_phrases \(*\)_) _rule_info__parser__-fsm_tbl__;

_fsm_-post_gps_(_sf_~p1__);

_fsm_-post_error_(**new**_ERR_no_rules_phrase_);

## 33 First Set Language for \(O_{2}^{linker}\).

/*  File: eval_phrases.fsc  Date and Time: Fri Jan 2 15:33:35 2015  */  transitive n  grammar-name "eval_phrases"  name-space "NS_eval_phrases"  thread-name "Ceval_phrases"  monolithic y  file-name "eval_phrases.fsc"  no-of-T 569  list-of-native-first-set-terminals 3  LR1_questionable_shift_operator  LR1_eog  T_fsm_phrase  end-list-of-native-first-set-terminals  list-of-transitive-threads 0  end-list-of-transitive-threads  list-of-used-threads 0  end-list-of-used-threads  fsm-comments  "Evaluate parse phrase sequencer: \n as i use a top / down approach to dispatching the various phrases."




**35. Index.**

\(\epsilon\) : 13.

|?!: 10, 15, 18, 21, 24, 27, 30.

__FILE__: 6.

__LINE__: 6.

_add_token_to_error_queue_: 6.

_CAbs_lr1_sym_: 5, 6, 7.

_Ceval_phrases_: 6, 7, 9, 11, 12, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32.

_enumerated_id_: 6.

eog: 8.

_Err_: 5, 6.

_Err_empty_file_: 9.

_ERR_no_errors_phrase_: 20.

_ERR_no_fsm_phrase_: 12.

_ERR_no_lrk_phrase_: 26.

_ERR_no_rc_phrase_: 23.

_ERR_no_rules_phrase_: 32.

_ERR_no_T_enum_phrase_: 17.

_ERR_no_terminals_phrase_: 29.

error-symbols-phrase: 18.

_eval_phrases_: 2.

_fsm_: 9, 11, 12, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32.

fsm_phrase_: 10.

_fsm_tbl_: 9, 11, 12, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32.

_gps_: 4, 5, 6, 7.

1r1-k-phrase: 24.

**NS_yacco2_T_enum**: 6.

parallel-parser-phrase: 13.

_parser_: 6, 9, 11, 12, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32._

_post_error_: 5, 6, 9, 12, 17, 20, 23, 26, 29, 32.

_post_gps_: 5, 7, 9, 11, 12, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32.

_p1_: 9, 11, 12, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32._

_26, 28, 29, 31, 32._

rc-phrase: 21.

Rerr_sym_phrase_: 8.

_Rerr_sym_phrase_: 18, 19, 20.

_Reval_phrases_: 8, 9.

Rfsm_phrase_: 8.

_Rfsm_phrase_: 8.

_Rfsm_phrase_: 10, 11, 12.

Rlrl_k_phrase_: 8.

_Rlrl_k_phrase_: 24, 25, 26.

Rparallel_phrase_: 8.

_Rparallel_phrase_: 13, 14.

Rrc_phrase_: 8.

_Rrc_phrase_: 21, 22, 23.

Rrules_phrase_: 8.

_Rrules_phrase_: 30, 31, 32._

_RT_enum_phrase_: 8.

_RT_enum_phrase_: 15, 16, 17.

Rterms_phrase_: 8.

_Rterms_phrase_: 27, 28, 29.

_rule_info_: 9, 11, 12, 14, 16, 17, 19, 20, 22, 23, 25, 26, 28, 29, 31, 32._

_Sym_: 5, 7.

T-enum-phrase: 15.

_T_Enum_: 6.

_T_LR1_eog_: 6.

terminals-phrase: 27.

_true_: 6.

\(\langle\)Ceval_phrases op directive 4\(\rangle\)\(\langle\)Ceval_phrases user-declaration directive 5\(\rangle\)\(\langle\)Ceval_phrases user-implementation directive 6\(\rangle\)\(\langle\)More code 7\(\rangle\)\(\langle\)RT_enum_phrase subrule 1 op directive 16\(\rangle\langle\)RT_enum_phrase subrule 2 op directive 17\(\rangle\langle\)Rerr_sym_phrase subrule 1 op directive 19\(\rangle\langle\)Rerr_sym_phrase subrule 2 op directive 20\(\rangle\langle\)Reval_phrases subrule 2 op directive 9\(\rangle\langle\)Rfsm_phrase subrule 1 op directive 11\(\rangle\langle\)Rfsm_phrase subrule 2 op directive 12\(\rangle\langle\)Rlrl_k_phrase subrule 1 op directive 25\(\rangle\langle\)Rlr1_k_phrase subrule 2 op directive 26\(\rangle\langle\)Rparallel_phrase subrule 1 op directive 14\(\rangle\langle\)Rrc_phrase subrule 1 op directive 22\(\rangle\langle\)Rrc_phrase subrule 2 op directive 23\(\rangle\langle\)Rrules_phrase subrule 1 op directive 31\(\rangle\langle\)Rrules_phrase subrule 2 op directive 32\(\rangle\langle\)Rterms_phrase subrule 1 op directive 28\(\rangle\langle\)Rterms_phrase subrule 2 op directive 29\(\rangle\)

