P6 Grammars: The Official Archenemy of Me™

When I made my last post, I had all test passing, or so I remember.

Not anymore.

I just updated my rakudo, and ran ‘make test’ again. Something in my t/actions.t file failed. (although if I run perl6 t/actions.t, every test spits out OK. Weird.) After some manual testing (i.e. using the REPL), I found that my parser now won’t parse ambient blocks, nor anything after that failed-to-match ambient material, even if a vaild Pod block comes along.

After more manual testing, it seems it stops parsing the rest of anything if it comes across something it doesn’t like. I found is out when in my very weird test.pod file (which I run through the program itself to see how the whole process turns out every once in a while) the block “=begin Text” and everything afterwards wouldn’t parse. Tacking || \H+ to the end of the list of possible block names didn’t work. Hmm, another problem.

I have had a longstanding problem with P6 grammars, it seems. So now I declare it The (Temporarily) Official Archenemy of Me™. I think I felt the same way when I first learned programming in general (or I think I would have if my first language wasn’t — *shudder* — Visual Basic). Ah well.

Well, now to get to my point. I have been working on my Pod parser for a while, so I’m wondering if I should just put what I have on github right now, and let people start working on the issues I have w/o me showing only parts of the code (as well as me s///ing things to keep the name of the program and all pointers to it sekrit). I’m of the mindset that the first version of something I release should “work”, at least on the very simplest of things it can do. (e.g. my Perl 6 parser would be able to process say “hello world”; before I release it).  Let me type it again in a new paragraph and in bold and italic to make the point stand out (in case you’re a post-skimmer):

Should I release my Pod6 parser in its current state onto github?

I’ll get some response from the community before deciding. If the answer’s yes, then I’ll tidy the project up for uploading to github ASAP. I’ll be waiting for your answers 🙂 .

This entry was posted in Crisis Chamber, Think Tank and tagged , , , , , , . Bookmark the permalink.

Leave a comment