Regarding my misbehaving BNF/railroad diagram robot: I think I fixed it. BNF rules now must be terminated with a "sentinel" mark $$.
program ::= "begin" (statement ";")+ "end" $$ When the robot processes a rule it deletes the mark. If a user wants the robot to reprocess the rule, the user must add the sentinel terminator $$ back. This works for me. Please try the robot and let me know what you think robot id: whiff-gae-tutor...@appspot.com development notes: http://listtree.appspot.com/firstWaveRobot/ Thanks for your attention! -- Aaron Watters === an apple every 8 hours will keep 3 doctors away. -kliban On Dec 22, 5:51 pm, Aaron Watters <aaron.watt...@gmail.com> wrote: > Hi folks, > > I wrote a robot which detects BNF rules like > > program ::= "begin" (statement ;)* "end" . > > And plops a railroad diagram into the blip to illustrate the rule. > It kinda works. I leave the BNF text in the blip because > I want people to be able to edit it and change the rule after > the robot has introduced the image. > > The problem is that if you start to edit the rule after > you've added it, the robot will add a new image at every > keystroke without correctly deleting the old image :) > (more or less). I tried to prevent this from > happening by deleting regions and placing annotations > to prevent duplicate operations, but it's not working (well > enough). > > I made copious notes which you can browse here > > http://listtree.appspot.com/firstWaveRobot > > In particular you can see the "document change" callback at > this node > > http://listtree.appspot.com/firstWaveRobot/wp2m4AwkOUEJ7JiniCUt0A > > Please comment here or at the listtree (the password is "robot"). > > I may break the robot (even more) because I'm continuing to try it out > -- if you try it in a broken state, I apologize. > > Thanks! -- Aaron Watters > > === > less is more -- You received this message because you are subscribed to the Google Groups "Google Wave API" group. To post to this group, send email to google-wave-...@googlegroups.com. To unsubscribe from this group, send email to google-wave-api+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-wave-api?hl=en.