John, the article isn't actually mine, it's amon <http://stackoverflow.com/users/1521179/amon>'s to illustrate his answer to this stackoverflow question <http://stackoverflow.com/questions/17275748/scripting-read-condition-written-in-words-and-converting-into-c-ternary-opera> .
That being said, on a careful reading it looks like the final transformation is left as an exercise for the assiduous reader. On a related note, you may find this implementation (article <http://jeffreykegler.github.io/Ocean-of-Awareness-blog/individual/2013/03/bnf_to_ast.html>, code <https://gist.github.com/jeffreykegler/5121769>) of the The Interpreter Design Pattern from the Design Patterns book useful. It looks more complete. In my experience, building a translator with Marpa::R2 boils down to developing a parser for the source language and then processing the abstract syntax tree (AST, ASF stands for abstract syntax forests, which are useful the case of ambiguous grammars/inputs) by traversing and transforming in into the AST of the target language, which can then be serialized to a text in the target language. Hope I got your question right; if I didn't, feel free to say so. On Tue, Jul 8, 2014 at 7:06 PM, John Alvord <[email protected]> wrote: > Ruslan - I truly appreciate your analysis and explication. > > With great respect - it seems like the document is only 90% complete, > since the final steps to produce what the user user wanted > > ============================================== > So I excel sheet I have string like below: > > If ((Myvalue.xyz == 1) Or (Frmae_1.signal_1 == 1)) Then a = 1 > else a = 0; > > This I have to convert into: > > a = (((Myvalue.xyz == 1) || (Frmae_1.signal_1 == 1))?1:0) > > How this can be handled in perl? > > =============================================== > > was never documented. I certainly do not expect that - or any - level of > hand holding, but your post does seem to stop short of the goal. > > John Alvord > > > > > > On Thu, Jun 26, 2014 at 7:12 AM, Ruslan Shvedov <[email protected]> > wrote: > >> http://longanswers.blogspot.de/2013/06/transforming-syntax.html >> >> >> On Thu, Jun 26, 2014 at 4:43 PM, John Alvord <[email protected]> >> wrote: >> >>> I have been successful enough parsing a mini-language. Now someone >>> wants me to do a translator from that language to a newer flavor. >>> >>> Are there any examples so far... to get a head start from the ASF to >>> another language? >>> >>> John Alvord >>> >>> -- >>> 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/d/optout. >>> >> >> -- >> 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/d/optout. >> > > -- > 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/d/optout. > -- 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/d/optout.
