[Toc][Index]

Constants, String-Literals, Identifiers, and Keywords


PMI constants are 32-bit integer constants, either in decimal or 
hexadecimal format. 



<digit>  ::= '0'..'9'
<hexdigit> ::= <digit>  |  'a'..'f'
<character> ::= 'a'..'z' |  'A'..  'Z'|  '_' |  '.'
<decimal number>  ::= <digit>  |  <decimal number> <digit>
<hexadecimal number>  ::= '0x' <hexdigit>  |
                         <hexadecimal number>  <hexdigit>
<constant>  ::= <decimal number>  |  <hexadecimal number>


Any combination of printable ASCII characters in quotes is considered a 
string-literal. String-literals are not parsed in any way. They are stored 
in their uppercase format and are passed on query-style calls, converting 
both source and target to uppercase. String-literals are limited to 128 
characters in length, including 0 at the end. Binary strings are also 
limited to 128 bits (4 doublewords). 



<string>  ::= "<ASCII character> [<string>]"
<binary-string>  ::= " <'0'|'1'> | <'0'|1'> [<binary-string>]"


An Identifier, or a name, is a sequence of letters and digits. The first 
character must be a letter. The underscore (_) and point (.) count as a 
letter, but point (.) cannot be used in the first position. Maximum length 
of an identifier is 32 characters. 



<name>  ::= <character>  <token>
<token>  ::= {<character>  |  [<digit> <token>]}


Reserved identifiers are called keywords. Keywords are divided into three 
groups: 
   *  PMI keyvariables, which are keywords representing configuration and 
      mode parameters 
   *  PMI constants, backed by system-wide definitions 
   *  All other reserved identifiers 
 
 All of the PMI keyvariables are available through the VIDEOPMI 
 programming interface as fields of the video instance structure. They are 
 also available to all of the PMI sections and functions and can be used 
 in conditional statements or expressions. At run time, during a SetMode, 
 some of the ModeInfo PMI keyvariables could differ from the values 
 assigned by the .PMI file. These PMI keyvariables can be modified at the 
 user or system level and are therefore regarded as Dynamic. Others are 
 called Static. At the procedural level, static PMI keyvariables are fixed 
 to the values specified in the .PMI file and cannot be changed for a 
 given mode. Some dynamic variables have a limited set of possible values; 
 others are valid in a range that should be verified by dedicated 
 sections. See [ModeInfo], [Hardware] and [TuneDisplay] in PMI Sections 
 for more information on dynamic vs. static keyvariables. 
 Not all of the PMI keyvariables have to be defined. See [ModeInfo] and 
 [Hardware] in PMI Sections for further explanations. 
 

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs