Definition file grammar
Token |
Meaning |
|---|---|
‘*’ |
Zero or more |
‘!’ |
Zero or one |
‘+’ |
One or more |
‘>>’ |
Sequence/concatenation |
‘|’ |
alternate |
‘-‘ |
not |
defs ::= *(nextline|extern) >> +suite>> EOL extern ::= "extern" >> (absolutepath>> !( ":" >>identifier) >> +nextlinesuite ::= "suite" >>suiteName>> *(variable|inlimit|defstatus|limit|late|clock|repeat|autocancel|zombie) >> *(family|task) >>endsuitefamily ::= "family" >>familyName>> !leaf_ecf>> *(task|family) >>endfamilytask ::= "task" >>taskName>>leaf_ecf>> !endtask leaf_ecf ::= *(variable|trigger|time|today|date|day|defstatus|complete|inlimit|label|event|late|limit|meter|repeat|cron|autocancel|zombie) |aviso|mirrorclock ::= "clock" >> ( "real"| "hybrid" ) >> ( (clock_date>> !(hh_mm| int ) ) | (hh_mm| int )) >> +nextlinetrigger ::= "trigger" >>expression>> +nextlinecomplete ::= "complete" >>expression>> +nextlinevariable ::= "edit" >>identifier>>varvalue>> +nextlinelabel ::= "label" >>identifier>>quotedstring>> +nextlineaviso ::= "aviso" >> *( "--name" >>identifier| "--listener" >> "'" >>jsonstring>> "'" | "--url" >> (varvalue|string) | "--polling" >> (varvalue| +(integer)) | "--schema" >> (varvalue|string) | "--auth" >> (varvalue|string) ) mirror ::= "mirror" >> *( "--name" >>identifier| "--remote_path" >>string| "--remote_host" >> (varvalue|string) | "--remote_port" >> (varvalue|string) | "--polling" >> (varvalue| +(integer)) | "--auth" >> (varvalue|string) | --ssl ) time ::= "time" >> !'+ >> (timeseries|two_int_p>> “:”two_int_p) >> +nextlinetoday ::= "today" >> !'+ >> (timeseries|two_int_p>> “:”two_int_p) >> +nextlineday ::= "day" >> (“monday” | “tuesday” | “wednesday” | “thursday” | “friday” | “saturday” | “sunday”) +nextlinedate ::= "date" >> !’+’ >> (two_int_p| ‘*’ ) >> "." >> (two_int_p| ‘*’) >> "." >> (two_int_p| ‘*’) autocancel ::= "autocancel" >> !’+’ >> ((two_int_p>> ‘:’ >>two_int_p) | unsigned integer) >> +nextlinelimit ::= "limit" >> (identifier>> unsigned int ) >> +nextlineinlimit ::= "inlimit" >>( (nodePath>> ":“ >>identifier) |identifier)) >> ! unsigned int >> +nextlineevent ::=eventcontent2|eventcontent1; eventcontent1 ::= "event” >> (eventnumber|eventname) >> +nextlineeventcontent2 ::= "event” >> (eventnumber>>eventname) >> +nextlinemeter ::= "meter" >>identifier>> ( int >> int >> !unsigned int) >> +nextlinedefstatus ::= "defstatus" >>dstate>> +nextlineendsuite ::= "endsuite" >> *nextlineendfamily ::= "endfamily" >> +nextlineendtask ::= "endtask" >> +nextlinezombie ::= "zombie" >>zombie_type>> ":" >> !(client_side_action|server_side_action) >> ":" >> *child>> ":" >> !zombie_life_timezombie_type ::= "user" | "ecf" | "path" child ::= "init" | "event" | "meter" | "label" | "wait" | "abort" | "complete" client_side_action ::= "fob" | "fail" | "block" server_side_action ::= "adopt" | "delete" | "kill" zombie_life_time ::= unsigned integer ( default: user(300), ecf(3600), path(900) ) late ::= "late" >>late_option>> !late_option>> !late_option>> +nextlinelate_option ::= "-c" >>hh_mm| ("-s" >>hh_mm) | "-a" >>hh_mmrepeat ::= "repeat" >>repeat_type>> +nextlinerepeat_type ::=repeat_datetime|repeat_date|repeat_day|repeat_month|repeat_year|repeat_integer|repeat_enumerated|repeat_string|repeat_datelistrepeat_day ::= "day" >> unsigned integer >> !ymdrepeat_integer ::= "integer" >>identifier>> integer >> " " >> integer >> " " >> integer repeat_enumerated ::= "enumerated" >>identifier>> +identifierrepeat_string ::= "string" >>identifier>> +identifierrepeat_date ::= "date" >>identifier>>ymd>>ymd>> integer repeat_datetime ::= "datetime" >>identifier>>instant>>instant>>durationrepeat_datelist ::= "datelist" >>identifier>> +(ymd) varvalue ::=tickquotedstring|quotedstring|identifiersuiteName ::=node_name>> +nextlinefamilyName ::=node_name>> +nextlinetaskName ::=node_name>> +nextlinenodestate ::= "complete” | "unknown” | "queued" | "aborted" | “active” dstate ::= "complete” | "unknown” | "queued" | "aborted" | “active” | “suspended” eventnumber ::= unsigned integer eventname ::=identifierhh_mm ::= !'+' >>two_int_p>> ":" >>two_int_pclock_date ::= (two_int_p| ‘*’ ) >> "." >> (two_int_p| ‘*’ ) >> "." >> (two_int_p| ‘*’) cron ::= "cron" >> ((‘-w >> +int) | (‘-d’ >> +int) | (‘-m’ >> +int)) >>timeseries>> +nextlinenode_name ::= (alpha_numeric | ‘_’ ) >> *(alpha_numeric | ‘_’ | ‘.’ ) comment ::= ’#’ >> printable chars >newlinenextline ::=newline|commenttimeseries ::=two_int_p>> “:” >>two_int_p>>two_int_p>> “:” >>two_int_p>>two_int_p>> “:” >>two_int_pquotedstring ::= ’”‘ >> *(printable chars) >> ‘”’ tickquotedstring ::= ’'’ >> *(print_p -nextline) ] absolutepath ::= !’/’ >>identifier>> *( ‘/’ >>identifier) dotdotpath ::= ".." >> +( ‘/’ >>identifier) dotpath ::= ‘.’ >> +( ‘/’ >>identifier) identifier ::= (alpha_numeric | ‘_’) >> *(alpha_numeric | ‘_’) nodePath ::=absolutepath|dotdotpath|dotpathexpression ::=printable_chars>> !’\’ >>nextlineint_p ::= integer two_int_p ::= 2 digit integer theYear ::= 4 digit integer ymd ::= 8 digit integer instant ::=theYear>>two_int_p>>two_int_p>> "T" >>two_int_p>>two_int_p>>two_int_pduration ::=int_p>> ":" >>two_int_p>> ":" >>two_int_pnewline ::= \n string ::=printable_chars>> *(printable_chars) jsonstring ::= __ as per JSON format specification __ printable_chars ::= "a-zA-Z"