Dear Fonc list and Dr Warth,

(I'm not sure this is suitable for the fonc list but since my impression is
that OMeta will be the parsing framework used in fonc I'll take the risc ;)
)

I'm reading the OMeta paper (from DLS 07) and trying to understand the
benefits implied by the statement:

"However, OMeta is not a parser generator; it is a programming language
whose control structure is based on PEGs."

I have been using my own OO-based PEG-implementation in Ruby (implemented in
Rockit) for some time and it is similar to OMeta in several regards (can be
applied to any "streamable" input, OO inheritance of parsers/grammars etc).
However, Rockit is different in that it uses a Ruby DSL to build a grammar
description which is then executed/interpreted when parsing. OMeta seem to
take a different approach in which for example the "foreign" function parses
its arguments from the stream before calling the "external" grammar
production/method. In Rockit the foreign call would have been pre-parsed so
that when actually parsing some input, the arguments to "foreign" would be
sent to the foreign method directly.

It would be great if someone could elaborate on why OMeta has chosen this
implementation. Is it mostly for implementation reasons (shorter /simpler
implementation) or does it add some actual power to the parsing framework?

Basically my question is: Would OMeta loose something by being a generator
instead of a "programming lang with a PEG control structure"?

It seems to me that the main benefit to OMeta's choice is conceptual
simplicity; a parser writer need not distinguish between two different
levels (in Rockit you extend the set of commands with normal Ruby code but
then write your grammar using the existing commands) but can use a single
formalism. Or are there other benefits?

Thanks for any input and best regards,

/Robert Feldt
--
PhD, Assistant Professor in Software Engineering
Blekinge Inst. of Technology, School of Engineering (APS), SE-372 25
Ronneby, Sweden
Personal web: http://drfeldt.googlepages.com/
Research group web: http://www.bth.se/tek/serl/
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to