[Pyparsing] need help building parsing framework for disability access tool
Brought to you by:
ptmcg
From: Eric S.. J. <es...@es...> - 2012-09-07 07:11:51
|
I have a project that needs help with. It's a web framework designed for easy use with speech recognition. Given that I'm disabled, there is a bit of a self-serving aspect of this request. :-) sadly the parser in this tool tool is broken (i.e. built out of regular expressions)and is built on a regular expression The project is a rejuvenation of something I worked on in the mid-2000. Named Akasha, it's a small scale web development framework designed to be a tool, not a career like some of the larger scale web frameworks out there. It's also designed to be usable if you're disabled like me. the meditation is easy to speak and and easy to navigate if I had the right editor support. as I said earlier, I inherited a parser that was cobbled together out of regular expressions and it's failing at odd corners. I like to place it and it shouldn't be too complicated. It's just beyond my current level of knowledge. here are a few examples. Coupled nodes is that any plain text by itself is printed out. There are two ways of dealing with special characters, but if you escape them individually as shown in the pre-format list below and the other is to enclose the text with special characters in triple quotes. after the first example is a more complicated demonstration. It was a user interface for managing vacation notifications. Again, most of this was something I could dictate and what had to be typed was encapsulated to a relatively small portion. At the end has probably the closest I've come to for a mock BNF description of the syntax. it's probably wrong since I'm out of practice so I would appreciate any feedback. Thanks in advance. Helping me rejuvenate this tool will enable speech recognition dependent disabled programmers to create web applications easily and effectively. 3x table [grid [wide 3] [cell 1] [cell 2] [cell 3] [cell 4] [cell 5] [cell 6] [cell 7] ] preformat text [preformat \[grid \[cell 1\] \[cell 2\] \[cell 3\] \[cell 4\] \[cell 5\] \[cell 6\] \[cell 7\] \] ------------- [script [url /files/tw-sack.js]] [script [url /files/logic.js]] [script [url /files/ak_vacation.js]] [script [body onload="doSomething()"]] [title Out-of-Office E-mail Setup] [div [id wrapper] [heading [level 1] Out-of-Office E-mail Setup] [heading [level 2] User Account: [reveal active_user]] [span [class label]Please answer the following questions in order to complete the setup of your out-of-office mode. Please note that you must login and disable this mode once you return from vacation.] [comment preserve active user] [reveal administrative_instructions] [reveal administrative_incremental] [div [id account][class data][reveal administrative_display]] [reveal administrative_interface] [form [id account_data] [action edit_vacation] [method post] [hidden [id active_user][name active_user] [value [reveal active_user]]] [span [class label]I want the out-of-office notification:] [radio [class textentry] [name active_checked][rawbits onclick="javascript:showField('message');showField('exceptions');" ] [value on][checked [reveal enabled]]Enabled] [radio [class textentry] [name active_checked] [rawbits onclick="javascript:hideField('message');hideField('exceptions');"] [value off] [checked [reveal disabled [default off]]] Disabled] [div [id message] [class normal] [span [class label]Enter all of your e-mail addresses in this box, one address on a line] [div [class center] [textarea [reveal addresses] [class data] [name addresses] [rows 5] [columns 50] ]] [span [class label]I want the message to say:] [div [class center] [textarea [class data] [reveal_raw message] [name message] [rows 7] [columns 50] ]] [span[class label] once you've made changes to the above information, you must save it so it can take effect] ] [div [class center] [button [name commit] [class button] [value save] [type submit]] ] ]] -------------------- dss =:: <bracket><keyword> 0*<arg> <text><bracket> arg =: <bracket>argword <text><bracket> <text> 1*(0*<words>| 0*<dss>) |