Open Muon opened 1 month ago
@eliotwrobson Do you have any thoughts on this? I can't say I'm too familiar with the specific algorithms, but adding support for this seems like a reasonable idea to me.
This seems like a reasonable thing to add! I think this just generalizes the definition of PDAs. There aren't too many algorithms implemented for those, so should be a straightforward change to add. I'm swamped with other projects now, but @Muon if you or someone else were to implement this change, I could definitely review.
The way Sipser's textbook defines PDAs, they can have epsilon stack moves. So for example "a, eps -> x" says "read a, push x" and "a, eps -> eps" says just "read a". These are compatible with the Hopcroft and Ullman definition which is used here. (Just a slight extension!) Could support for them please be added? Sipser's textbook is very popular and I just had to post this workaround to my class: