Jeffrey Kegler
- Website: jeffreykegler.github.io/personal/
- About: I blog about Perl, with a focus on parsing and Marpa, my parsing algorithm based on Jay Earley's.
Recent Actions
-
Posted "Infinite Lookahead and Ruby Slippers" to Ocean of Awareness
There is a new blog post on my Ocean of Awareness blog: "Infinite Lookahead and Ruby Slippers". It is a relatively simple example that packs in a lot about the various parsing strategies available in…
-
Posted "Sherlock Holmes & the Case of the Missing Parsing Solution" to Ocean of Awareness
There is a new blog post at my Ocean of Awareness blog: "Sherlock Holmes and the Case of the Missing Parsing Solution".
-
Posted "Parsing: a Timeline", version 3.1 to Ocean of Awareness
I have updated my "Parsing: a Timeline" to version 3.1. You can see the official announcement on my blog, or "cheat" by going
-
Posted "Measuring language popularity" to Ocean of Awareness
Measures of language popularity are more than a little rough. Can they be improved? My latest blog post is "Measuring language popularity".
-
Posted "A Haskell challenge" to Ocean of Awareness
"A Haskell challenge" is my most recent blog post. Michael Arntzenius pointed out that Haskell's native parsers have trouble with its list comprehension syntax, and wondered if Marpa could do better. …
-
Posted "Marpa and combinator parsing 2" to Ocean of Awareness
My new blog post is "Marpa and combinator parsing 2". In it, I continue to talk about how to combine Earley and combinator parsing to get the best of both.…
-
Posted "Undershoot: parsing theory in 1965" to Ocean of Awareness
The newest blog post on the Ocean of Awareness blog is "Undershoot: parsing theory in 1965". It revisits the question "Why, despite all evidence, is parsing considered solved?", this time…
-
Posted "Parsing left recursions" to Ocean of Awareness
My latest Ocean of Awareness blog post is "Parsing Left Recursions".
"A lot has been written about parsing left recursion. Unfortunately, much of it simply adds to the mystery. In this p…
-
Posted "Marpa and combinator parsing" to Ocean of Awareness
"Marpa and combinator parsing" -- the Marpa algorithm as the basis of better combinator parsing.
… -
Posted "Marpa and procedural parsing" to Ocean of Awareness
The newest post on the "Ocean of Awareness" blog is "Marpa and procedural parsing": Marpa's procedural parsing is more flexible and more powerful than recursive descent's.
-
Posted "Parsing with Pictures" to Ocean of Awareness
The newest entry in my Ocean of Awareness blog is about the paper "Parsing with Pictures" by Pingali and Bilardi. It describes a new, easier and more natural way to look at parsing. I try it out,…
-
Posted Why is parsing considered solved? to Ocean of Awareness
"Why is parsing considered solved?" is the newest entry on my Ocean of Awareness blog.
It is often said that parsing is a "solved problem". Given the level of frustration with the …
-
Posted Is language just a set of strings? to Ocean of Awareness
The newest entry on my Ocean of Awareness blog: "Is language just a set of strings?"
… -
Posted Parsers and their useful power to Ocean of Awareness
I have posted a new entry on the Ocean of Awareness blog: "Parsers and useful power". I look at what parser users want and what makes a parser successful, in light of the 1960s contest between …
-
Posted Version 3 of "Parsing: a timeline" to Ocean of Awareness
I have published version 3 of my parsing timeline. It has many changes-- The new material includes coverage…
-
Posted Parsing: an expanded timeline to Ocean of Awareness
My latest blog post expands my timeline of the history of parsing.
-
Commented on Perl's Pegex Module: a great way to parse files by creating grammars
Intuitions certainly can differ. I may add more about PEG to my "Parsing: A Timeline" piece: http://jeffreykegler.github.io/Ocean-of-Awareness-blog/individual/2014/09/chron.html PEG's algorithm in fact goes back to the pre-YACC compiler-compilers of the 1960's....
-
Commented on Perl's Pegex Module: a great way to parse files by creating grammars
Thanks for looking at my piece. Most users will read the PEG A = "a"A"a"/"aa" as if it was BNF or a regex, in which case the number of "a"'s clearly must be a multiple of two. But to match...
-
Posted Introduction to Marpa book in progress to Ocean of Awareness
My latest blog post is the introduction to my Marpa Book, currently in progress. The book will be a theory monograph, so it's kind of stuffy, but it's a good summary of Marpa's features. It also…
-
Posted What parser do birds use? to Ocean of Awareness
In my new blog post, I compare parsing, as practiced by birds and by computer programmers.
-
Posted What are the reasonable programming languages? to Ocean of Awareness
My latest blog post is "What are the reasonable programming languages?" Nowadays, we think we know what languages are realistically possible. But in the 1970's, programmers knew that they didn't know. …
-
Posted Top-down parsing is guessing to Ocean of Awareness
"Top-down parsing is guessing" is my newest blog post. Top-down is the most flexible of parsing methods -- you can add anything else to it. And you have to, because pure top-down parsing is,…
-
Posted Grammar reuse to Ocean of Awareness
My latest blog post looks at a grammar reuse, comparing regular expressions, PEG, Perl 6 grammars and general BNF parsers, including Marpa. A good property to have in itself, grammar reusability…
-
Posted Fast handy languages to Ocean of Awareness
My new blog post is a summary of what the Marpa parser is about. It even includes a section on when not to use Marpa.
-
Posted Linear? Yeah right. to Ocean of Awareness
Marpa claims to be linear -- O(n) -- for every grammar class that PEG, recursive descent, yacc or bison are, and then some. Dubious? Check out "Linear? Yeah right."
-
Posted PEG: Ambiguity, precision and confusion to Ocean of Awareness
In my lastest blog post, I talk about PEG, the popular parsing algorithm.
-
Posted Parsing: top-down versus bottom-up to Ocean of Awareness
[ This is cross-posted by invitation, from its on the Ocean of Awareness blog. ]
Comparisons between top-down and bottom-up parsing are often either too high-level or too low-l…
-
Posted Removing obsolete versions of Marpa from CPAN to Ocean of Awareness
[ This is cross-posted by invitation, Ocean of Awareness blog. ]
Marpa::XS, Marpa::PP, and Marpa::HTML are obsolete versions of Marpa, which I have been keep…
-
Posted Reporting mismatched delimiters to Ocean of Awareness
[ This is cross-posted by invitation, from its home on the Ocean of Awareness blog. ]
In many contexts, programs need to identify non-overlapping pieces of a text. O…
-
Posted Parsing: a timeline to Ocean of Awareness
[Cross-posted by invitation from its home on the Ocean of Awareness blog.]
1960: The ALGOL 60 spec comes out. It specifies, for the first time, a block structured language. The AL…
Comment Threads
-
Ben Bullock commented on
A tour on perl-5.18.1 with c2ast, Marpa-powered C parser
This is a nice demonstration. But ...
Nevertheless, these are all good practices
Debatable. POSIX doesn't allow me to have a typedef benbullock_t or a function called strike_me_with_a_hammer () in my program since it may clash with the future POSIX something or other. These restrictions are just a little ridiculous, and whatever problems do actually occur could be fixed when they do actually occur, not by hogging gigantic spaces of identifiers.
-
Jean-Damien Durand commented on
A tour on perl-5.18.1 with c2ast, Marpa-powered C parser
Ron,
Point 0 acked and header added.
Thanks / JD. -
john napiorkowski commented on
A tour on perl-5.18.1 with c2ast, Marpa-powered C parser
How is it debatable? My understanding is that its not impossible that some future compiler will not compile the source because of this. Is that true? If so than this work is valuable and we should at least have it on the list.
I'm not a C/C++ programmer and don't know the pains here, but it seems with a tool like this one we can detect and solve them. Obviously the work is a pain in the ass to deal with but I guess that's the result of using an open standard like C
-
Flavio Poletti commented on
Parse::RecDescent and number of elements read on the fly
@Jeffrey too bad that posts in group discussions get deleted eventually. Did you copy your full considerations somewhere else?
-
Matt S Trout (mst) commented on
Perl's Pegex Module: a great way to parse files by creating grammars
Ron: If the article was insufficient for *me* to understand why you think PEG is "dangerous", I fail to see how it's going to help beginners at all.
Jeffrey: Nah, I read it as a regex-like thing and got the right answer immediately - a *multiple* of two would obviously require "aa"A/"aa" or similar, no? I think perhaps it might be an interesting exercise for you to show a few more "intuition defying" examples to a few perl hackers some time and see whether it truly defies intuition in general or merely *an* intuition, and we have a different one.
-- mst
About blogs.perl.org
blogs.perl.org is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.