Lists Home |
Date Index |
somewhere in my now faulty bio-archive i seem to remember that if you
can write an lr-1 grammar you can build a fsm. i'm not sure xml is lr-1.
but if it is and given that lex and co are effectivley fsms, if you can
write the bnf for xml, surely you can feed them into yacc/lex etc and
get what you want.
which raises the other issue - a fsm controls something - ie some states
have effects - i presume you have a list of states and desired effects
that you want to plug into this fsm - but then yacc should still be able
to do that....
personally i've always preferred recursive descent for this type of
exercise, but each to his own..
> Damn that Bermuda Triangled then!
> But wont this FSM contain possibilities of valid and invalid state? So
> how does that play with knowledge of the rules of the grammer, with
> just being a parser, in effect?
> On 12/04/06, *Rick Jelliffe* <email@example.com
> <mailto:firstname.lastname@example.org>> wrote:
> Mukul Gandhi said:
> > A finite state machine (FSM) or finite automaton is a model of
> > behavior composed of states, transitions and actions.
> > Refering to http://en.wikipedia.org/wiki/Finite_state_machine, I can
> > represent FSM as a XML for the door example as follows
> > <fsm>
> > <state name="opened">
> > <entryaction name="open door" />
> > <condition name="close door" tostate="closed" />
> > </state>
> > <state name="closed">
> > <entryaction name="close door" />
> > <condition name="open door" tostate="opened" />
> > </state>
> > </fsm>
> > Do you have something like this in mind?
> Err no, exactly wrong. I want an FSM for parsing XML. A DFA for
> parsing XML.
> I want the grammar of XML expressed in a state machine form. I want an
> automaton for lexing well-formed XML. (Not the grammar for XML.
> Not an XML
> document type for FSMs.)
> For example, Tim Bray used one for generating the original Lark
> code, but it isnt included in the Lark distribution.
> Rick Jelliffe
> The xml-dev list is sponsored by XML.org < http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> The list archives are at http://lists.xml.org/archives/xml-dev/
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>
tel;cell:+61 411 287 530