Hi Just for fun I made a RFC4180 parser using the ABNF in the RFC. Compile rfc4180.abnf using abnfc
abnfc -binary rfc4180.abnf And You get a working csv parser. There are some things in the textual description in the RFC that is not reflected in the abnf, e.g. if the file has a header row or not, and the generated parser does not check that all rows has the same number of fields. /Anders On Wed, Oct 5, 2011 at 12:15 PM, Anders Nygren <[email protected]> wrote: > On Wed, Oct 5, 2011 at 12:09 PM, Eric Merritt <[email protected]> wrote: >> On 10/05/11 at 11:48am, Anders Nygren wrote: >>> Eric >>> In case You are not already aware of it, I would like to point You to >>> my ABNF parser >>> generator, abnfc, (most RFCs are specified using ABNF) >> >> I wasn't aware of it at all. Thats good to know. I probably will not >> go back and rewrite the existing stuff. However, I will absolutely >> keep it in mind for the future. >> >>> https://github.com/nygge/abnfc >>> >>> The documentation is nonexistent, but it was presented at EUC 2008 >>> >>> http://www.erlang.org/euc/08/1500Nygren2.pdf >>> >>> There has been some changes after that, so contact me if You have any >>> questions/problems. >>> >>> In general I am not sure it is a good idea to put all RFC parsers in one >>> erlang >>> application. Since after a while You may get a large number of unrelated >>> stuff. >> >> I am always on the fence about this. I am not a big fan of 1 erlang >> file OTP apps, though there is nothing intrinsically wrong with >> that. I try to group modules in some reasonable way. In this case, I >> think that the fact that this is a library application (ie static) >> implies that there is no system overhead in having all the RFCs >> there. Though as you say there maybe some conceptual overhead. >> > > Thinking a little more about this, it is not so bad, since with reltool > it is fairly simple to specify which modules to include from an application > when creating a release. > > /Anders > >> >>> But on the other hand many RFCs imports parts of other RFCs so I do >>> not have any good ideas on how to structure it. >> >> Right now its just going be structured by name. for example each RFC >> implementation will be named erfc_<rfc number>.erl. For example, 8120 >> would be named erfc_8120.erl. etc. >> >>> >>> Maybe the best is just to make a big bag of parsers and let people pick the >>> ones >>> they need. >> >> That is exactly the current plan. :) >> >> Thanks Anders, your input is always rock solid. >>> >>> /Anders >>> >>> On Wed, Oct 5, 2011 at 10:48 AM, Eric Merritt <[email protected]> >>> wrote: >>> > Hello All, >>> > >>> > I have started an RFC parsing library in support of my latest >>> > endeavor. This seems like a target to put under erlware. I thought I >>> > would float the idea to the list. >>> > >>> > https://github.com/ericbmerritt/erfc_parsers >>> > >>> > I dont have a specific goal of implementing all RFCs but as I need >>> > them (RFC 821 should show up shortly) I will add them. >>> > >>> > What does everone think of putting them under erlware? >>> > >>> > Eric >>> > >>> > -- >>> > You received this message because you are subscribed to the Google Groups >>> > "erlware-dev" group. >>> > To post to this group, send email to [email protected]. >>> > To unsubscribe from this group, send email to >>> > [email protected]. >>> > For more options, visit this group at >>> > http://groups.google.com/group/erlware-dev?hl=en. >>> > >>> > >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "erlware-dev" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]. >>> For more options, visit this group at >>> http://groups.google.com/group/erlware-dev?hl=en. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "erlware-dev" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/erlware-dev?hl=en. >> >> > -- You received this message because you are subscribed to the Google Groups "erlware-dev" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/erlware-dev?hl=en.
