[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Create a special purpose programming language, in XML, usi
State machines are essentially flowcharts: programming with GOTOs. Have you read Dijkstra: /GOTO statement considered harmful/ ? https://files.ifi.uzh.ch/rerg/arvo/courses/kvse/uebungen/Dijkstra_Goto.pdf Michael Kay Saxonica On 17 Oct 2013, at 22:39, Costello, Roger L. wrote: > Hi Folks, > > Occasionally I find that I need to create a special-purpose programming language, to be used to describe how to process XML documents. > > In creating the language I would mimic other programming languages such as Java, e.g., > > <if> > <condition>...</condition> > <then> > <action>...</action> > > and > > <while> > <condition>...</condition> > <do> > <action>...</action> > > Then I would write an interpreter (using XSLT) to interpret "programs" written in my new programming language. > > However, I recently realized that there is another approach. This illustrates the approach: > > <Machine> > <TransitionRules> > <Transition currentState="Number" read="0" write="0" > nextState=Number" /> > <Transition currentState="Number" read="1" write="1" > nextState=Number" /> > <Transition currentState="Number" read=" " write="0" > nextState=Halt" /> > </TransitionRules> > </Machine> > > Instructions and algorithms are expressed using state transition rules. > > The neat thing about this approach is: > > (1) It is very regular. I don't need to invent a bunch of new elements, such as <if> and <while>. > > (2) It is very powerful - it can express any algorithm [1]. > > (3) No need to constantly extend the language to support new features. > > I was inspired to this approach after reading this fantastic article [2], which represents Turing Machines in XML. > > Have you created your own special purpose programming language, formatted as XML? If so, what approach did you take to create your language? > > /Roger > > [1] You may recognize that this is essentially a Turing machine. Turing machines are known to be capable of expressing any algorithm. > > [2] See section 2 of: > http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=F9BABBA74FAEC3276C5DEBC8CC756775?doi=10.1.1.100.3032&rep=rep1&type=pdf > > _______________________________________________________________________ > > XML-DEV is a publicly archived, unmoderated list hosted by OASIS > to support XML implementation and development. To minimize > spam in the archives, you must subscribe before posting. > > [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ > Or unsubscribe: xml-dev-unsubscribe@lists.xml.org > subscribe: xml-dev-subscribe@lists.xml.org > List archive: http://lists.xml.org/archives/xml-dev/ > List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|