Thanks for explaining.

The thing was I thought if SLIF DSL could benefit from less diverse/more
strict — (pseudo-)rule/adverbs only — syntax and model, where

lexeme default statement becomes :lexeme default ::= pseudo rule


inaccessible statement becomes an adverb of
:default and/or :lexeme default pseudo-rules, e.g.


:default action => [name, values] inaccessible => ok

and


named event statement — event ( 'name' | name ) = ( completed | nulled |
predicted ) *symbol* — becomes an adverb of the rule whose LHS *symbol* is,
e.g.

                event subtext = completed <subtext>
                event 'A[]' = nulled <A>
                event '^a' = predicted A


become

                subtext ::= ... event completed => subtext
                <A> ::= ... event nulled => 'A[]'
                A ::= ... event predicted => '^a'


Heretic as it is, but I thought I'd better braindump it. :)

What do you think?



On Tue, Feb 25, 2014 at 8:11 PM, Jeffrey Kegler <
[email protected]> wrote:

>  The "logic" goes like this.  Note the "=" instead of "::=".  This
> signals that the statement is not a rule, and is non-lexical -- it's
> location in the file does not matter.  Since it's not a rule, it does not
> take the form LHS ::= RHS2 ...
>
> The initial colon was for pseudo-symbols.  Since the lexeme default
> statement is not a rule, it does not have a LHS, so what appears before the
> equal sign ("=") is not considered symbol, pseudo- or otherwise.
>
> I am, frankly, less than 100% happy with this "logic" and my design
> choices, but there they are.
>
> In an ironic way, it does show Marpa's strength.  Because it allows and
> exploits ambiguity, I can "unpaint myself out of the corner", by
> introducing new statements and syntax.  Languages based on other parsers
> cannot evolve in that way.
>
> -- jeffrey
>
>  On 02/25/2014 08:25 AM, Ruslan Shvedov wrote:
>
>  Just caught myself thinking that
>
>  :default ::= action => [name, values]
> :lexeme default ::= latm => 1
>
>
>  looks like a bit more consistent (well, for some definitions of
> consistency at least) syntax than the current
>
>   :default ::= action => [name, values]
>  lexeme default = latm => 1
>
>
>  :default ::= ... and :lexeme ~ ... are pseudo-rules, but lexeme default
> = ... is a statement. This is by design, so I'd appreciate any information
> from those in the know.
>  --
> You received this message because you are subscribed to the Google Groups
> "marpa parser" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "marpa parser" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"marpa parser" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to