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.

Reply via email to