Alright, here is the first draft of the UDL grammars using Antlr
expressions.
Any comments and suggestions are welcome. Don't miss your chance to
shape
UDL.
-----------------------------------------------------------------------------------------
grammar Udl;
uid
: baseUid
| listUid
| tableUid
;
baseUid
: ID
;
listUid
: '{' INDEX '}' 'as' ID
;
tableUid
: tableHeaderUid
| tableFooterUid
| tableBodyUid
;
tableHeaderUid
: '{' 'header' ':' INDEX '}' 'as' ID
;
tableFooterUid
: '{' 'footer' ':' INDEX '}' 'as' ID
;
tableBodyUid
: '{' 'row' ':' INDEX ',' 'column' ':' INDEX '}' 'as' ID
| '{' 'row' '=' ID ',' 'column' ':' INDEX '}' 'as' ID
| '{' 'row' ':' INDEX ',' 'column' '=' ID '}' 'as' ID
| '{' 'row' '=' ID ',' 'column' '=' ID '}' 'as' ID
| '{' 'tbody' ':' INDEX ',' 'row' ':' INDEX ',' 'column'
':' INDEX '}' 'as' ID
| '{' 'tbody' ':' INDEX ',' 'row' '=' ID ',' 'column' ':'
INDEX '}' 'as' ID
| '{' 'tbody' ':' INDEX ',' 'row' ':' INDEX ',' 'column'
'=' ID '}' 'as' ID
| '{' 'tbody' ':' INDEX ',' 'row' '=' id1=ID ',' 'column' '='
ID '}' 'as' ID
;
fragment LETTER : ('a'..'z' | 'A'..'Z') ;
fragment DIGIT : '0'..'9';
INDEX : (DIGIT+ |'all' | 'odd' | 'even' | 'any' | 'first' |
'last' );
ID : LETTER (LETTER | DIGIT)*;
WS : (' ' | '\t' | '\n' | '\r' | '\f')+ {$channel = HIDDEN;};
-------------------------------------------------------------------------------------------------
On Feb 18, 4:37 pm, Jian Fang <[email protected]> wrote:
> If no objections, I would like to use the following format for table body:
>
> "{tbody : 1, row : 2, column : 3} as Search"
>
> and
>
> "{tbody : 1, row = 2, column = bad} as Search"
>
> where the ":" defines a value and "=" is a reference to other id, for
> instance, header column id, then
> Tellurium will try to handle the case that the column keeps changing when a
> user drags the column around.
>
> On Thu, Feb 18, 2010 at 1:00 PM, Jian Fang <[email protected]> wrote:
> > Hi,
>
> > I start to work on the UID description language (UDL). One goal is to add
> > name reference for UI elements in a List or Table.
>
> > I could have the following formats, where assume Search is name that you
> > could reference the element.
>
> > "Search as tbody: 1, row:1, column:4"
> > "Search as ( tbody: 1, row:1, column:4)"
> > "Search as {tbody: 1, row:1, column:4}"
>
> > or
>
> > "tbody: 1, row:1, column:4 as Search"
> > "(tbody: 1, row:1, column:4) as Search"
> > "{tbody: 1, row:1, column:4}" as Search"
>
> > Any preference or even better suggestions?
>
> > Thanks,
>
> > Jian
--
You received this message because you are subscribed to the Google Groups
"tellurium-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/tellurium-users?hl=en.