Package org.freestyler.xmlrpcmodelartist.compiler; Helpers all = [0 .. 127]; digit = ['0' .. '9']; nondigit = ['_' + ['.' + [['a' .. 'z'] + ['A' .. 'Z']]]]; nonzero_digit = ['1' .. '9']; tab = 9; lf = 10; cr = 13; space = 32; Tokens model = 'model'; package = 'package'; author = 'author'; comma = ','; describe = '@'; xmltype='xmltype'; handler= 'handler'; lcurlypar = '{'; rcurlypar = '}'; lroundpar = '('; rroundpar = ')'; semicolon =';'; int = 'int'; boolean = 'boolean'; string = 'String'; double = 'double'; date = 'Date'; struct = 'struct'; array = 'array'; base64 = 'base64'; void = 'void'; blank = (tab | lf | cr | space)+; string_value = '"' [all - '"']* '"'; decimal_constant = nonzero_digit digit*; identifier = nondigit (digit | nondigit)*; Ignored Tokens blank; Productions xmlrpcmodel = model_declaration package_declaration author_clause? model_description? any_declaration* ; model_declaration = model identifier semicolon; package_declaration = package identifier semicolon; author_clause = author string_value semicolon; model_description = describe string_value semicolon; any_declaration = {optxmltype} xml_type_declaration | {opthandler} handler_declaration; xml_type_declaration = xmltype identifier xml_type_description? semicolon; xml_type_description = describe string_value; handler_declaration = handler identifier handler_description? lcurlypar method_declaration+ rcurlypar; handler_description = describe string_value; method_declaration = return_value identifier lroundpar arg_list rroundpar method_description? semicolon; method_description = describe string_value; return_value = arg_type; arg_type = {boolean} boolean | {int} int | {date} date | {double} double | {string} string | {struct} struct | {array} array | {base64} base64 | {void} void | {xml_type} identifier; arg_list = {noargs} | {multiple_args} argument follow_on_argument*; argument=arg_type identifier; follow_on_argument=comma arg_type identifier;
This site has been last updated by the web master
on 2007/6/24.