Note that there are some explanatory texts on larger screens.

plurals
  1. POCross-platform parser development - What are the options?
    primarykey
    data
    text
    <p>I'm currently working on a project that makes use of a custom language with a simple <a href="http://en.wikipedia.org/wiki/Context-free_grammar" rel="nofollow">context-free grammar</a>.</p> <p>Due to the project's characteristics the same language will have to be used on several platforms, especially mobile ones. Currently, I'm using my small hand-written <strong>Java</strong> parser (for the Android platform). Soon, I'll have to write basically the same parser for <strong>JavaScript</strong> and later possibly also for <strong>C#</strong> (Windows Phone) and <strong>Objective C</strong> (iOS). There is an additional chance that I'll also have to write it for <strong>PHP</strong>.</p> <hr> <p>My question is: What options are there to simplify the parser development process? Do I really have to write basically the same parser for each platform or is there a less work-intensive way?</p> <hr> <p>From a development process point of view the best alternative would enable me to write a grammar definition which would then automatically be compiled into a parser.</p> <p>However, basically the only cross-platform parser generator I've found so far it the <a href="http://goldparser.org/" rel="nofollow">GOLD Parser</a> which supports two of my target platforms (Java and C#). It would really be awesome if you could point me to other alternatives.</p> <p>In case you don't know about other cross-platform compiler-compilers: Do you have hints how to structure the code towards future language extensibility?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload