Property Grammar

-- property : aGrammar : metagrammar ---

Grammar property :

Option

  version  = 4
  comBegin = '(*'
  comEnd   = '*)'
  splitOnFiles = 1
  stringChar = '\'' 
  suffix = '.prop'

Rule


  <Properties> ::= <PropertyList> ;

  <PropertyList> ::+ <PropertyOpt> ';' ;

  <PropertyOpt> ::? <Property> ;

  <Property>  ::| <ORIGIN> 
                | <INCLUDE> 
                | <BODY> 
                | <MDBODY> 
                | <OBJFILE> 
                | <LIBFILE> 
                | <LINKOPT>
                | <BETARUN>
                | <BUILD>
                | <MAKE>
                | <RESOURCE>
                | <LIBDEF>
                | <LIBITEM>
                | <ON>
                | <OFF>
                | <Other>;

  <ORIGIN> ::= 'ORIGIN' <TextConst> ;

  <INCLUDE> ::= 'INCLUDE' <StringList> ;

  <BODY> ::= 'BODY' <StringList> ;

  <MDBODY> ::= 'MDBODY' <MachineSpecificationList> ;

  <OBJFILE> ::= 'OBJFILE' <MachineSpecificationList> ;

  <LIBFILE> ::= 'LIBFILE' <MachineSpecificationList> ;

  <LINKOPT> ::= 'LINKOPT' <MachineSpecificationList> ;

  <BETARUN> ::= 'BETARUN' <MachineSpecificationList> ;

  <MAKE> ::= 'MAKE' <MachineSpecificationList> ;

  <BUILD> ::= 'BUILD' <MachineSpecificationList> ;

  <RESOURCE> ::= 'RESOURCE' <MachineSpecificationList> ;

  (*<LIBDEF> ::= 'LIB_DEF' <Name:TextConst> <Location:TextConst>;
    this gives qua error in sif (setsyncatno) *)

  <LIBDEF> ::= 'LIB_DEF' <StringList>;

  <LIBITEM> ::= 'LIB_ITEM' <Name:TextConst>;

  <ON> ::= 'ON' <IntegerList>;

  <OFF>  ::= 'OFF' <IntegerList>;

  <StringList>::* <TextConst> ;
 
  <IntegerList>::+ <IntegerConst> ;

  <MachineSpecificationList>::+ <MachineSpecification>;

  <MachineSpecification> ::= <Machine> <StringList>;

  <Machine> ::| <NameApl> | <Default> ;

  <Default> ::= 'default' ;

  <Other> ::= <NameDcl> <PropertyValueList> ;

  <PropertyValueList> ::* <PropertyValue> ;

  <PropertyValue> ::= <Value> ;

  <Value> ::| <NameDcl> | <IntegerConst> | <TextConst> ;

  <NameDcl> ::= <NameDecl>;

  <NameApl> ::= <NameAppl>;

  <TextConst>   ::= <String>;

  <IntegerConst> ::= <Const>
  


Property Grammar
© 1990-2004 Mjølner Informatics
[Modified: Monday January 4th 1999 at 12:22]