/* $echo FILE: test_called_thd_fs.lex $echo Purpose: test transience on called threads and Start rule. $echo Okay */ /@ @** |test_called_thd_fs| grammar.\fbreak Test out the transience of called threads and native first sets. \O2's ``.fsc'' file tells the tale. Here's an excerp where Start rule is \emptyrule{} caused by Rc. Note the common prefix Ra to see if the transience goes through the called threads and T first set. And so it does:\fbreak \fbreak list-of-native-first-set-terminals 3\fbreak LR1\_eolr\fbreak raw\_c\fbreak raw\_e\fbreak end-list-of-native-first-set-terminals\fbreak list-of-transitive-threads 3\fbreak NSa::THa\fbreak NSb::THb\fbreak NSd::THd\fbreak end-list-of-transitive-threads\fbreak \fbreak @/ fsm (fsm-id "test_called_thd_fs.lex" ,fsm-filename test_called_thd_fs,fsm-namespace NS_test_called_thd_fs ,fsm-class Ctest_called_thd_fs ,fsm-version "1.0" ,fsm-date "25 Mar 2008",fsm-debug "true" ,fsm-comments "test the transience") parallel-parser ( parallel-thread-function TH_test_called_thd_fs *** parallel-la-boundary z *** ) @"/usr/local/yacco2/compiler/grammars/yacco2_T_includes.T" rules{ RSt AD AB(){ -> RS } RS(){ -> Ra Rb Rc -> Ra Rd Re } Ra () { -> -> ||| a NSa::THa } Rb () { -> -> ||| b NSb::THb } Rc () { -> -> c } Rd () { -> -> ||| d NSd::THd } Re () { -> e } }// end of rules