-t name of the output file to generate
-c name of the output file to generate
-c... -t... more as one output file with this pair of arguments
invoke>java -cp zbnf.jar org.vishia.zmake.Zmake [INPUT] [{OPTIONS}]
* PATH to files or dirs are absolute or relativ from cmd line invocation.
* TPATH means a path started from given -ZBNFJAX_HOME:PATH or ZBNFJAX_HOME in environment.
  But if the path starts with . it is from current dir. 
* WPATH means a path started from given -tmp directory (WorkPATH).
One can use either '=' or ':' as separator between option key and value.
-i:    inputfilepath, this file is parsing
-s:   syntax prescript in ZBNF format for parsing
-x:   output xml file written in UTF8-encoding
-y:   output xml file written in the standard encoding of system
               or the given -charset:encoding
-z:   output xml file written in US-ASCII-encoding
-checknew     executes only if output not exists or input is newer
-charset: use this encoding.
-a:= set an additional xml information
    of a additional XML infomation, typical @attribute    its text, may be in ""
INPUT         The first argument without - is the input file with path and extension.
-iINPUT    path to the input file.
-genCtrlTPATH     file which describes the generation for the output file
-syntaxPATH       Write an information file which contains the help and the syntax.
-zbnfTPATH        zbnf-file to parse the input, default is zmake/ZmakeStd.zbnf
-oPATH            output-file to generate
-ZBNFJAX_HOMEPATH path to the ZBNFJAX_HOME, default it is getted from environment.
-currdirPATH       sets the current dir alternatively to command line invocation path.
-tmppath of tmp dir, will be created if not exists, default="../tmp"
-checkxmlCHECK  if given then 3 files will be written
--about show the help infos
--help  show the help infos
---arg ignore this argument
--@file use file for further arguments, one argument per line.
--report=FILE  write the report (log) into the given file, create or clear the file.
--report+=FILE add to the end of given file or create the report file.
--rlevel=R     set the level of report, R is number from 1 to 6.
--rlevel=DR    also write reports upto level D on display, sample: ..-rlevel:24
--rlevel=WDR   write output also in report, W is nr from 1 to 3 (error, warning, info



==Syntax of the ZmakeGenCtrlScript================================================================================
$comment=(?...?).
$endlineComment=\#\#.  ##The ## is the start chars for an endline-comment or commented line in the generator script.

ZTextctrl::= 
{ \<:scriptclass : <$\.?scriptclass> \> 
| \<:include : <*\>\ ?include> \> 
|  
|  
| \<= 
} \e.


subtext::= \<:subtext : <$?name> [ : {  ? , }] \> \<\.subtext\>.



##A genControl script should have a part <:file>....<.file> which describes how the whole file should build.

genFile::= \<:file\>

\<\.file\>.

  


##The textual content of any target, file, variable etc.

genContent::=
{ \<=                        ##Possibility to have local variables.
| \<:for:
| \<:if: 
| \<:hasNext\>  \<\.hasNext\>
| \<*subtext : 
| \<*\>
| \<:\>\<\.\>
| <*|\<:|\<*|\<\.?text>                        ##text after whitespace but inclusive trailing whitespaces till next
  control <: <* <.
}.



callSubtext::=[<""?name>|] [ : {  ? , }] \>.

dataText::=[ : <""?formatText>].

expression::={  ? [! + | -] }.

value::= [ + | -|] [<#?intValue> | 0x<#x?intValue> | <#f?floatValue> | '' | <""?textValue> 
              | $new\   | $! | $$<$?envVariable> | ].

newJavaClass::= <$\.?javapath> [ ({  ? , } )].
staticJavaMethod::= <$\.?javapath> ( [ {  ? , } ] ).
##a javapath is the full package path and class [.staticmetod] separated by dot. 

datapath::= $<$?startVariable>[\.{  ? \.}] |{  ? \.}.  

datapathElement::=<$@-?ident> [( [{  ? ,}])].

genContentNoWhitespace::=<$NoWhiteSpaces>
{ [?\<\.\>]              ##abort on <.> 
[ \<*\>
| <*|\<:|\<*|\<\.?text>           ##text inclusive leading and trailing whitespaces
]
}.

variableDef::=  | .
textVariable::= <$?name> \>   \<\.=\>.
objVariable::= <$?name> :  \>.

namedArgument::= <$?name>[ = ].

forContainer::= [$]<$?@name> :  \>  \<\.for[ : <$?@name> ]\>. ##name is the name of the
  container element data reference

if::=  [{ \<:elsif :   }][ \<:else\>  ] \<\.if\>.
ifBlock::=  \> .

condition::= [].

cmpOperation::=[ \?[gt|ge|lt|le|eq|ne] |  [ != | == ]] 





==================================================================================================================