/* $echo FILE: pathological.lex $echo Purpose: Rules that do no derive T strings $echo Error */ /@ @** pathological Grammar.\fbreak Test on the variants on pathological grammars.\fbreak RA,RB,RD,RF are variants on rules not deriving ${^* \Rightarrow}$ t. @/ fsm (fsm-id "pathological.lex",fsm-filename pathological,fsm-namespace NS_pathological ,fsm-class Cpathological ,fsm-version "1.0",fsm-date "24 Mar. 2006",fsm-debug "true" ,fsm-comments "pathological grammar") @"/usr/local/yacco2/compiler/grammars/yacco2_T_includes.T" /@ @** Rules.\fbreak @/ rules{ Rstart AD AB(){ -> RA eog -> RB eog -> RD eog -> RF eog } /@ @** |RA| rule.\fbreak Call self. @/ RA AD AB() { -> RA } /@ @** |RB| rule.\fbreak Indirect call on self. @/ RB AD AB() { -> RC } RC AD AB() { -> RB } /@ @** |RD| rule.\fbreak ${\alpha}${} ${^* \Rightarrow}${} ${\epsilon}${} with right recursion. @/ RD AD AB() { -> RE RD } RE AD AB() { -> } /@ @** |RF| rule.\fbreak ${\alpha}${} ${^+ \Rightarrow}${} ${1}${} with right recursion. @/ RF AD AB() { -> RG RF } RG AD AB() { -> 1 } }// end of rules