1PPD 2 3# translationKeyword only if stand-alone = no *Keyword statements 4"*Default"Keyword ":" StringValue ["/" translationString ]. 5"*"Keyword [Option ["/" translationString ]] ":" Value ["/" translationString ]. 6"*?"Keyword ":" InvocationValue ["/" translationString ]. 7"*Param"Keyword [Option ["/" translationString ]] ":" Value ["/" translationString ]. 8 9Line comments start with "*%". 10 11*Include 12 13Keyword = ident. # ,'.',/ 14Option = ident {"." ident}. 15# translationString must not follow SymbolValue! 16# translationString is terminated by ":" if it follows a Option 17# or CR if it follows a Value. 18Value = InvocationValue | QuotedValue | SymbolValue | StringValue | NoValue. 19 20# ps code 21# requires statement with option keyword! 22# Must end with in separate line *End if multiline. 23InvocationValue = '"' printable '"' ["/" translationString ]. 24 25# requires statement without an option keyword! 26# *JCL can have an option keyword! 27# Must end with in separate line *End if multiline. 28QuotedValue = '"' literalSubstring '"'. 29 30SymbolValue = "^" printable. # without whitespaces 31 32# In case of translation string it is separated by newline or slash. 33StringValue = printable . # first char must not be " or ^ 34 35literalSubstring = { hexadecimalSubstring | char }. 36 37hexadecimalSubstring = "<" { whitespace* hexdigit hexdigit} ">". 38hexdigit = ['0'..'9','a'..'f','A'..'F']. 39 40# No option keyword present. Keyword stands alone. 41NoValue =. 42 43ident = identChar+. 44identChar = [33..126]. 45 46printable = printableChar+. 47printableChar = [32..126] | tab | lf | cr. # " belongs not to printableChar! 48 49translationString = literalSubstring. # without lf and cr. 50 51char = [32..255] | tab | lf | cr. 52 53whitespace= space | tab. 54 55tab=9. 56lf=10. 57cr=13. 58space=32. 59 60max size of MainKeyword = 40 characters 61 62File Structure see 3.8 63 64Standard Option Values: 65True | False | None | Unknown 66 67 68OpenUI Keyword: PickOne | PickMany | Boolean 69CloseUI: Keyword 70Open[Sub]Group: string 71# InstallableOptions is a registered option! 72Close[Sub]Group: string 73 74UIConstraints: keyword1 option1 keyword2 option2 75# option 1 can be omitted see page 57 76 77# Unique name 78ModelName: "text"