13.10 Propertycfl Interface

ORIGIN '~beta/mps/astlevel';
LIB_DEF 'mpspropertycfl' '../lib';
--astInterfaceLib: attributes--

property: TreeLevel
  (# <<SLOT propertyAttributes:attributes>>;
     Properties: cons
       (# getPropertyList: getson1(# #);
          putPropertyList: putson1(# #);
       exit 1
       #);
     PropertyList: list
       (# soncat::< Property;
       exit 2
       #);
     Property: cons
       (# #);
     ORIGIN: Property
       (# getTextConst: getson1(# #);
          putTextConst: putson1(# #);
       exit 5
       #);
     INCLUDE: Property
       (# getStringList: getson1(# #);
          putStringList: putson1(# #);
       exit 6
       #);
     BODY: Property
       (# getStringList: getson1(# #);
          putStringList: putson1(# #);
       exit 7
       #);
     MDBODY: Property
       (# getMachineSpecificationList: getson1(# #);
          putMachineSpecificationList: putson1(# #);
       exit 8
       #);
     OBJFILE: Property
       (# getMachineSpecificationList: getson1(# #);
          putMachineSpecificationList: putson1(# #);
       exit 9
       #);
     LIBFILE: Property
       (# getMachineSpecificationList: getson1(# #);
          putMachineSpecificationList: putson1(# #);
       exit 10
       #);
     LINKOPT: Property
       (# getMachineSpecificationList: getson1(# #);
          putMachineSpecificationList: putson1(# #);
       exit 11
       #);
     BETARUN: Property
       (# getMachineSpecificationList: getson1(# #);
          putMachineSpecificationList: putson1(# #);
       exit 12
       #);
     MAKE: Property
       (# getMachineSpecificationList: getson1(# #);
          putMachineSpecificationList: putson1(# #);
       exit 13
       #);
     BUILD: Property
       (# getMachineSpecificationList: getson1(# #);
          putMachineSpecificationList: putson1(# #);
       exit 14
       #);
     RESOURCE: Property
       (# getMachineSpecificationList: getson1(# #);
          putMachineSpecificationList: putson1(# #);
       exit 15
       #);
     LIBDEF: Property
       (# getStringList: getson1(# #);
          putStringList: putson1(# #);
       exit 16
       #);
     LIBITEM: Property
       (# getName: getson1(# #);
          putName: putson1(# #);
       exit 17
       #);
     ON: Property
       (# getIntegerList: getson1(# #);
          putIntegerList: putson1(# #);
       exit 18
       #);
     OFF: Property
       (# getIntegerList: getson1(# #);
          putIntegerList: putson1(# #);
       exit 19
       #);
     StringList: list
       (# soncat::< TextConst;
       exit 20
       #);
     IntegerList: list
       (# soncat::< IntegerConst;
       exit 21
       #);
     MachineSpecificationList: list
       (# soncat::< MachineSpecification;
       exit 22
       #);
     MachineSpecification: cons
       (# getMachine: getson1(# #);
          putMachine: putson1(# #);
          getStringList: getson2(# #);
          putStringList: putson2(# #);
       exit 23
       #);
     Machine: cons
       (# #);
     Default: Machine
       (# exit 25 #);
     Other: Property
       (# getNameDcl: getson1(# #);
          putNameDcl: putson1(# #);
          getPropertyValueList: getson2(# #);
          putPropertyValueList: putson2(# #);
       exit 26
       #);
     PropertyValueList: list
       (# soncat::< PropertyValue;
       exit 27
       #);
     PropertyValue: cons
       (# getValue: getson1(# #);
          putValue: putson1(# #);
       exit 28
       #);
     Value: cons
       (# #);
     NameDcl: Value
       (# getNameDecl: getson1(# #);
          putNameDecl: putson1(# #);
       exit 30
       #);
     NameApl: Machine
       (# getNameAppl: getson1(# #);
          putNameAppl: putson1(# #);
       exit 31
       #);
     TextConst: Value
       (# getString: getson1(# #);
          putString: putson1(# #);
       exit 32
       #);
     IntegerConst: Value
       (# getConst: getson1(# #);
          putConst: putson1(# #);
       exit 33
       #);

     grammarIdentification::<(# do 'property' -> theGrammarName #);
     version::<
       (# do 4 -> value #);
     suffix::<
       (# do '.prop' -> theSuffix #);
     maxproductions::<
       (# do 33 -> value #);

     init::<
       (# ... #);
  #)


13.10 Propertycfl Interface
© 1991-2002 Mjølner Informatics
[Modified: Monday January 10th 2000 at 13:00]