Perl 6 - the future is here, just unevenly distributed

IRC log for #marpa, 2017-12-06

| Channels | #marpa index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:10 idiosyncrat joined #marpa
00:10 idiosyncrat Demat!
02:58 ilbot3 joined #marpa
02:58 Topic for #marpa is now Start here: http://savage.net.au/Marpa.html - Code paste/run: https://f.perlbot.pl/#marpa - Jeffrey's Marpa site: http://jeffreykegler.github.io/Marpa-web-site/ - IRC log: http://irclog.perlgeek.de/marpa/today - Youtube channel: https://www.youtube.com/channel/UCYKVfGBtfTqbs1JdYq-dc5g
04:43 ronsavage joined #marpa
08:29 iarna joined #marpa
10:04 chansen_ joined #marpa
12:11 Cheery idiosyncrat: you're right.
12:19 Cheery but I think there's more to this
12:22 Cheery the combination of algorithms you've picked for marpa make it simpler than an equivalent earley parser
12:23 Cheery the right-recursion implementation is a bit tricky but not too much to derail.
12:24 Cheery that's something that troubles me right now though. It's so nice that I don't want to introduce anything that makes it worse
12:31 Cheery you did the both.
12:36 Cheery I've been thinking of this a bit.. I came up with an idea.
12:38 Cheery say I define that every parsed terminal and nonterminal gets a column index, and information whether it starts a new line.
12:39 Cheery for a parsed nonterminal, it always comes from the first nonterminal.
12:41 Cheery nice thing about this is that it's easy to check.
12:46 Cheery darn! did I figure it out?
12:46 Cheery block: block statement{=line} | statement{=line}
12:46 Cheery statement: "while" cond block{>line} | expr
12:48 Cheery this condition would be checked on the prediction and reduction.
12:48 Cheery basically.. when you shift
12:48 Cheery doesn't need to extend the state
12:49 Cheery and very easy to understand.
12:52 Cheery I could also collect the 'indent' and smear it across the tokens.
12:52 Cheery it's not perfect.
12:54 Cheery but.. simple, easy to understand rules, easy to implement without high costs.
12:54 Cheery avoids the parser -> lexer feedback
12:55 Cheery every state gets to know the column/indent variables
12:55 Cheery but that won't considerably explode the system.
12:58 Cheery https://bpaste.net/show/9d194cf35f91
21:51 ronsavage joined #marpa

| Channels | #marpa index | Today | | Search | Google Search | Plain-Text | summary