Does $\epsilon \in L$ simply mean that the empty (zero-length) word is not in the language $L$? Or do you mean something more complex by that, like $L$ having a context-free gramming with doesn't include rules of the form $A \rightarrow \epsilon$? If it's the former, what's the problem with constructing the automatom for $L \setminus \epsilon$, and then modifying it to also accept $\epsilon$?
–
fgpOct 6 '12 at 22:09

@fgp - the statement has been proved for the case that the empty (zero-length) word is not in the language and I am asking of a proof for the general case - i.e. without demanding anything of $L$ beside being context free
–
BelgiOct 6 '12 at 22:11

1 Answer
1

I’m assuming that $L_e$ means that you’re accepting by empty stack. In that case you should be able simply to modify $\delta(q_0,\epsilon,Z)$, where $Z$ is the initial stack symbol, by adding $(q_0,\epsilon)$. That is, if $\delta(q_0,\epsilon,Z)=A$ in the original PDA, let $\delta(q_0,\epsilon,Z)=A\cup\{(q_0,\epsilon)\}$ in the modified PDA.

Does this modification to a PDA changes it langauge so it will additionally accept $\epsilon$, but won't add any other words or remove words from the language ? I think so, but I want to be sure. thanks for the help!
–
BelgiOct 7 '12 at 10:47

@Belgi: It can’t remove anything. It can’t add anything besides $\epsilon$ unless the existing PDA can return to $q_0$ with just $Z$ on the stack. If I remember Greibach normal form correctly, that shouldn’t happen, but in any case it’s the only potential problem.
–
Brian M. ScottOct 7 '12 at 10:51