Acknowledgements
Marpa is directly derived from two other parsers. The first was discovered by John Aycock and R. Nigel Horspool and is described in their Aycock and Horspool 2002. The second was discovered by Joop Leo and is described in Leo 1991. Aycock, Horspool, and Leo, in turn, based their algorithms on the algorithm discovered by Jay Earley. I combined the Aycock-Horspool algorithm with the Leo algorithm, and added significant changes of my own.I'm grateful to Randal Schwartz for his support over the years that I've been working on Marpa. My chats with Larry Wall have been few and brief, but his openness to new ideas has been a major encouragement and his insight into the relationship between ``natural language'' and computer language has been a major influence. More recently, Allison Randal and Patrick Michaud have been generous with their very valuable time. They might have preferred that I volunteered as a Parrot cage-cleaner, but if so, they were too polite to say.
Many at perlmonks.org answered questions for me. I used answers from chromatic, Corion, dragonchild, jdporter, samtregar and Juerd, among others, in writing this module. I'm just as grateful to those whose answers I didn't use. My inquiries were made while I was thinking out the code and it wasn't always 100% clear what I was after. If the butt is moved after the round, it shouldn't count against the archer.
In writing the Pure Perl version of Marpa, I benefited from studying the work of Francois Desarmenien ("Parse::Yapp"), Damian Conway ("Parse::RecDescent") and Graham Barr ("Scalar::Util"). Adam Kennedy patiently instructed me in module writing, both on the finer points and on issues about which I really should have known better.
I am very grateful to a handful of early contributors, whose contributions were made when I desperately needed help. I am especially grateful to Ron Savage, who has been a very aggressive early adopter of all Marpa's versions. Ruslan Zakirov generously started, and agreed to moderate, the ``Marpa parser'' mailing list. Peter Stuifzand invented the ``Stuifzand interface'', which was the original inspiration for the SLIF.
Ron, Peter and Ruslan Z. have since gone on to contribute in ways too numerous to mention, and others have joined in. Jean-Damien Durand's numerous contributions include the Windows port of Marpa. Ruslan Shvedov helped with ASF's and my documentation. Andrew Rodland's TAP parser, with one Marpa grammar layered on another, was another major inspiration for the SLIF.
Finally, my thanks to all those who participated on the ``Marpa parser'' mailing list. It is hard to describe how important informed and constructive feedback is to a lone laborer on a complex and large project like Marpa, and I greatly appreciate all the contributors to the list.
Copyright and License
Copyright 2014 Jeffrey Kegler This file is part of Marpa::R2. Marpa::R2 is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Marpa::R2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with Marpa::R2. If not, see http://www.gnu.org/licenses/.