12 comments posted · 14 followers · following 0
Tengo mucho tiempo no viendo este programa :)
Te contesto por email.
Why don't you join in and burn some calories developing this with me? :)
Ouch and ouch :)
The first one for the reply-by-email feature of IntenseDebate, screwed up a bit apparently (I bet you replied through email, your reply got posted as rakabali78, my account).
And "ouch!" for the complexity of SRGS/SISR grammar implementation! Thanks for giving me a hint, I'll have to adjust the scope / aim; maybe I'll just implement a part of it, for the most commonly-used scenarios to be fully supported.
The free version is locked to a simplistic application that gives you a sense of what the product can do. The product is aimed at enterprise teams. If it’s something you want to know more about, let me know.
SRGS/SISR is a bit bigger than your average DSL. SRGS is mostly a finite state machine. The repeat attribute allowing infinite repeats creates some extra hassles, but it’s mostly a by the book FSM. We have to explore the grammar like we explore VoiceXML applications so it has a variety of features beyond just the FSM. Once you have a grammar match, you have to chain the ECMAScript code together and correctly execute it in individual contexts and then extract the right data (out variable) and set up the variables for the next higher context component. Very doable, but logic that jumps in and out of an interpreter (we use Rhino) can twist your mind a bit as you jump between wrapping logic, ECMAScript contexts all bundled together with some recursive techniques. A fun piece of code.
Our code base takes that complexity and then allows for grammar syntax and SI layer to be swapped in at runtime. For example, we needed to support SISR2004, which is similar to SISR 1.0, but with a bunch of the rules changed so the unwrapping and rewrapping of data as you jump between different executions of ECMAScript code has to be done differently. Then you look at OSR, which has another set of rules (many not documented). And, just to make things fun, some companies used either customer ECMAScript engines or those that were highly customized. I’ve had to inline fix certain bits of ECMAScript from the grammar as Rhino did support the oddball syntax.
All in all, probably the most complicated code module in our product. The browser itself is large, but it is more modular and is less complex in most or all areas.
Thanks for the additional input, right from the source! :D
I will take a look at Voiyager (I see there's a free-trial download).
In the meantime I'm reading a book I just bought on implementing language applications (Pragmatic Programmer, Terrence Parr, Language Implementation Patterns, ISBN: 9781934356456). I'm going to need the knowledge for implementing a SRGS/SISR interpreter.
My current job requires me to delve into embedded and real-time system, and in a short time I will add new entry on that topic (and probably will switch to a "proper" website -- not blog format -- on different address). Telco things keep going on, now with several good friends backing me up. Cya!
No, mis padres son indonesios. Soy de Bali. Ya tengo casi 4 años trabajando en mexico desde 2005 (2007 me fui a shanghai por un año).
Que hago aqui aparte de trabajar? Varias cosas, incluso promoviendo comida indonesia a mis amigos :D (siempre los invito a comer en mi departamento cada vez cocino comida indonesa en los domingos). Je je. Y, bueno, tambien estoy aprendiendo español y cosas interesantes de mexico y america latina (me gustan las musicas: tango, bolero, bossanova, algunos ritmos cubanos).
Saludos y disfruta la diversidad de indonesia! (ya veo que la esta disfrutando :D )
Thanks! Glad you found it that way.
I'm also looking for ways to use it in another project we have here in mexico. I'm still designing the testing procedure for this particular type of project / system, and I'll see how this tool fits in.