-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] | [ != | == ]]
==================================================================================================================