ix.util.xml
Class BNFSyntax

java.lang.Object
  extended by ix.util.xml.XMLSyntax
      extended by ix.util.xml.BNFSyntax

public class BNFSyntax
extends XMLSyntax

Describes the (XML) syntax of data objects in a BNF-like style.


Nested Class Summary
(package private)  class BNFSyntax.Alternatives
           
(package private)  class BNFSyntax.CollectionInstance
           
(package private)  class BNFSyntax.ConstraintTemplate
           
(package private)  class BNFSyntax.Instance
           
(package private)  class BNFSyntax.InstanceField
           
(package private)  class BNFSyntax.ListInstance
           
(package private)  class BNFSyntax.Literal
           
(package private)  class BNFSyntax.MapEntryInstance
           
(package private)  class BNFSyntax.MapInstance
           
(package private)  class BNFSyntax.Nonterminal
           
(package private)  class BNFSyntax.RHS
           
(package private)  class BNFSyntax.Rule
           
(package private)  class BNFSyntax.RuleList
           
(package private)  class BNFSyntax.SetInstance
           
(package private)  class BNFSyntax.SimpleInstance
           
(package private)  class BNFSyntax.StructInstance
           
(package private)  class BNFSyntax.TemplateInstance
           
 
Field Summary
 
Fields inherited from class ix.util.xml.XMLSyntax
attributeFieldP, classSyntax, inheritance, xmlt
 
Constructor Summary
BNFSyntax()
           
BNFSyntax(XMLTranslator xmlt)
           
 
Method Summary
 void describeClass(java.lang.String className, java.io.PrintStream out)
           
static void main(java.lang.String[] argv)
          Test loop that repeatedly asks the user for a class name and prints a description of the syntax for objects of that class.
(package private)  BNFSyntax.Instance makeClassInstance(ClassDescr cd)
           
(package private)  void printAlternatives(BNFSyntax.Alternatives alts, java.io.PrintStream out)
           
(package private)  void printIndented(java.io.PrintStream out, int indent, java.lang.String text)
           
(package private)  void printInstance(BNFSyntax.Instance inst, java.io.PrintStream out)
           
(package private)  void printRuleSyntax(BNFSyntax.RuleList list, java.io.PrintStream out)
           
(package private)  void printRuleSyntax(BNFSyntax.Rule rule, java.io.PrintStream out)
           
(package private)  java.lang.String tagged(java.lang.String tag, java.lang.String contents)
           
 
Methods inherited from class ix.util.xml.XMLSyntax
attributeFields, collectListofClasses, elementFields, getClassDescr, getConstraintSyntaxList, getElementName, getElementName, getElementName, getEnumerationValues, getNTName, getNTName, getUpperName, getUpperName, relevantClasses, structTextDescription, walkStructFields
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BNFSyntax

public BNFSyntax()

BNFSyntax

public BNFSyntax(XMLTranslator xmlt)
Method Detail

describeClass

public void describeClass(java.lang.String className,
                          java.io.PrintStream out)
Overrides:
describeClass in class XMLSyntax

printRuleSyntax

void printRuleSyntax(BNFSyntax.RuleList list,
                     java.io.PrintStream out)

printRuleSyntax

void printRuleSyntax(BNFSyntax.Rule rule,
                     java.io.PrintStream out)

printAlternatives

void printAlternatives(BNFSyntax.Alternatives alts,
                       java.io.PrintStream out)

printInstance

void printInstance(BNFSyntax.Instance inst,
                   java.io.PrintStream out)

printIndented

void printIndented(java.io.PrintStream out,
                   int indent,
                   java.lang.String text)

makeClassInstance

BNFSyntax.Instance makeClassInstance(ClassDescr cd)

tagged

java.lang.String tagged(java.lang.String tag,
                        java.lang.String contents)

main

public static void main(java.lang.String[] argv)
Test loop that repeatedly asks the user for a class name and prints a description of the syntax for objects of that class.