Package eu.bandm.tools.d2d2.base
Class Reducer
java.lang.Object
eu.bandm.tools.tdom.runtime.BaseVisitor
eu.bandm.tools.d2d2.absy.Visitor
eu.bandm.tools.d2d2.base.Reducer
- All Implemented Interfaces:
PCDataVisitor
public final class Reducer
extends eu.bandm.tools.d2d2.absy.Visitor
Reduces a d2d definition text file ("ddf") given as a tdom
Documentation texts are distributed to their targets. This is the only syntactic relation in the "ddf" format which requires "def before use".
Document_module into an umod Module and its
sub-structures (= contained sub-modules and definitions).
Only entry point after construction is
reduce(MessageReceiver,int,Document_module).
Global statements in the source (w.r.t. trimming, namespaces, local
name mangling ruies,
etc) are distributed to definitions, and applied there, or stored for later
context-free inquiry.
Documentation texts are distributed to their targets. This is the only syntactic relation in the "ddf" format which requires "def before use".
Further checks are not done, esp. Identifier are not resolved
but stored as Reference objects.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected classDistributes documentation text to source items in the current module, descending into local definitions when required.protected static enum -
Field Summary
FieldsModifier and TypeFieldDescription(package private) intprotected Reducer.manglingModeprotected Stringprotected SourceItem(package private) String(package private) int(package private) Expressionprotected XRegExpprotected Boolean(package private) Definition(package private) Enumerationprotected Module(package private) XRegExp(package private) ImportItemprotected int(package private) boolean(package private) boolean(package private) Booleanprotected MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> protected StringValid namespace default prefix, may be inherited.protected booleanWhether the default prefix is only for elements:protected StringLocally set namespace default prefix, not inherited.protected CheckedMap_RD<String, String> All namespace decls, including the inherited.The locally defined ones, which must be free of double prefix use.(package private) boolean(package private) booleanprotected static final String<!ELEMENT nodetypedecl (cPUBLIC?, (cTAGS | cCHARS), identlist, (hGENERIC | hDISTRIBUTED | hEMPTY | grammarexpr), modifiers?)>protected Stringprotected Moduleprotected intprotected Location<XMLDocumentIdentifier> Fields inherited from class eu.bandm.tools.tdom.runtime.BaseVisitor
validating -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void_addToModule(Module host, SourceItem item, String kind) protected voidaddToContext(Definition newdef, String kind) AddDefinition(Enum or Tags or Chars Parser) to currentscope (either to Module or (as a local definition) to a definition).static voidaddToModule(MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msg, Module host, SourceItem item, String kind) Store a definition to the given module.protected booleanprotected voidcheckNumberMode(boolean hasNumber, Location<XMLDocumentIdentifier> loc) protected voidIs called for any definition: Local definitions first apply name mangling.protected voiddefineXmlNamespaceTag(Location<XMLDocumentIdentifier> loc, Definition def, String qname) D2d only knows the combination "non-empty prefix and non-empty uri", or "empty prefix and empty uri".protected voiderror(Location<XMLDocumentIdentifier> loc, String s, Object... args) protected booleanisNonTightSeq(Expression expr) protected booleanisTightSeq(Expression expr) parse(Reader charstream, MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msg, int tracelevel, String sourceIndication) DISLOCATED from ModuleRegistry:protected voidputDocu(Enumeration e, String item) Docu text and key have been stored in GLO variables by visit(El.._documentation).protected voidputDocu(SourceItem item) Docu text and key have been stored in GLO variables by visit(El.._documentation).protected static Stringrecompose(eu.bandm.tools.d2d2.absy.Element_reference element) <!ELEMENT reference (ident+) >reduce(MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msg, int tracelevel, eu.bandm.tools.d2d2.absy.Document_module input) Translate the XML encoded parsing result into a d2d model structure.protected voidsplitdoctext(String text, Location<XMLDocumentIdentifier> startloc) (package private) voidvoidvisit(eu.bandm.tools.d2d2.absy.Element_atom.Choice_1_Alt_1 alt) <!ELEMENT atom ((hIMPLICIT?, reference) | insertion // IST RAUS | (hORDERED?, grammarexpr) | (hGT?, grammarexpr) | gwrapper | stringconst | deznum | hexnum | charset | (hCHARS, trimming?)) >voidvisit(eu.bandm.tools.d2d2.absy.Element_atom.Choice_1_Alt_9 alt) <!ELEMENT hCHARS EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_cAS element) <!ELEMENT cAS EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_cDATA element) <!ELEMENT cDATA EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_cEMPTY element) <!ELEMENT cEMPTY EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_cFIRST element) <!ELEMENT cFIRST EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_charset element) <!ELEMENT charset (#PCDATA) >voidvisit(eu.bandm.tools.d2d2.absy.Element_cNONE element) <!ELEMENT cNONE EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_cNUMERIC element) <!ELEMENT cNUMERIC EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_cPUBLIC element) <!ELEMENT cPUBLIC EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_cTRIMMED element) <!ELEMENT cTRIMMED EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_cUNTRIMMED element) <!ELEMENT cUNTRIMMED EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_cVERBATIM element) <!ELEMENT cVERBATIM EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_defaultGroup element) <!ELEMENT defaultGroup ((%defaultDef;)*, (module | modline | defaultGroup)* ) >
Default Groups allow to distribute modifiers (mangling mode, text trimming) to sub-ranges of definitions of a module.voidvisit(eu.bandm.tools.d2d2.absy.Element_deznum element) <!ELEMENT deznum (#PCDATA) >voidvisit(eu.bandm.tools.d2d2.absy.Element_doctext element) voidvisit(eu.bandm.tools.d2d2.absy.Element_documentation element) <!ELEMENT documentation (ident, localreflist?, (doctext|longdoctext) ) >
The identifier is the "key" for the documentation, like "user_en" or "to_xhtml_1_0".voidvisit(eu.bandm.tools.d2d2.absy.Element_editspec element) <!ELEMENT editspec (id_or_string) >voidvisit(eu.bandm.tools.d2d2.absy.Element_enum_modif el) private enum_modif: "with" "xmlrep" (cEMPTY)? (xmlrep_att|xmlrep_el) (EQUALS! stringconst)? (cNUMERIC | cFIRST "name" |cAS "is" ) ?;<!ELEMENT enum_modif (cEMPTY?, (xmlrep_att | xmlrep_el), stringconst?, (cNUMERIC | cFIRST | cAS)?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_enumdecl element) <!ELEMENT enumdecl (ident, (hGENERIC | enumlist), enum_modif?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_enumitem element) <!ELEMENT enumitem ((ident | stringconst), deznum?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_exklam el) <!ELEMENT exklam EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_galt el) <!ELEMENT galt (gseq, galt?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_gc_cut el) <!ELEMENT gc_cut (gc_minus, gc_cut?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_gc_minus el) <!ELEMENT gc_minus (gc_range, gc_minus?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_gc_or el) <!ELEMENT gc_or (gc_cut, gc_or?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_gc_range el) <!ELEMENT gc_range (gprim, gprim?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_globaltrimming element) <!ELEMENT globaltrimming (trimming) >voidvisit(eu.bandm.tools.d2d2.absy.Element_gperm el) <!ELEMENT gperm (gtight, gperm?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_gprim el) <!ELEMENT gprim (substituted, (star | plus | tstar | tplus | quest)?, exklam?)>voidvisit(eu.bandm.tools.d2d2.absy.Element_greedyAtom sa) <!ELEMENT greedyAtom (greedy, atom) >voidvisit(eu.bandm.tools.d2d2.absy.Element_gseq el) <!ELEMENT gseq (gperm, gseq?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_gtight el) <!ELEMENT gtight (gc_or, gtight?) >voidvisit(eu.bandm.tools.d2d2.absy.Element_gwrapper element) <!ELEMENT gwrapper (ident, grammarexpr) >voidvisit(eu.bandm.tools.d2d2.absy.Element_hDISTRIBUTED element) <!ELEMENT hDISTRIBUTED EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_hEMPTY element) <!ELEMENT hEMPTY EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_hexnum element) <!ELEMENT hexnum (#PCDATA) >voidvisit(eu.bandm.tools.d2d2.absy.Element_hGENERIC element) <!ELEMENT hGENERIC EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_hIMPLICIT element) <!ELEMENT hIMPLICIT EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_hNONE element) <!ELEMENT hNONE EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_ident element) <!ELEMENT ident (#PCDATA) >voidvisit(eu.bandm.tools.d2d2.absy.Element_identlist element) <!ELEMENT identlist (ident+) >voidvisit(eu.bandm.tools.d2d2.absy.Element_importcmd element) <!ELEMENT importcmd (ident, (hGENERIC | modadress), modsubsts) >voidvisit(eu.bandm.tools.d2d2.absy.Element_insertion element) <!ELEMENT insertion (atom) >voidvisit(eu.bandm.tools.d2d2.absy.Element_joinstring element) <!ELEMENT joinstring (stringconst) >voidvisit(eu.bandm.tools.d2d2.absy.Element_localnodes element) <!ELEMENT localnodes (nodetypedecl*) >voidvisit(eu.bandm.tools.d2d2.absy.Element_longdoctext element) voidvisit(eu.bandm.tools.d2d2.absy.Element_modsubst element) <!ELEMENT modsubst (reference?, substitution) >voidvisit(eu.bandm.tools.d2d2.absy.Element_module element) Save and reset global registers; create and store newgrowingModule; descend into definitions in the source text; finally restore global registers.voidvisit(eu.bandm.tools.d2d2.absy.Element_namespacedecl element) <!ELEMENT namespacedecl (ident, stringconst, (namespacedefault | namespaceelementonlydefault )?) >namespacescontains also the inherited namespace maplets.voidvisit(eu.bandm.tools.d2d2.absy.Element_nodetypedecl element) Descend into source text for the grammar expression, setting registers (isgeneric,expr, ...).
On return build one newXRegExpaccordingly, store it togrowingDefand visit further modifiers, which store directly into this ("xmlSpec", "inputMode", "postProcessor").
Clone it for all identifiers in theElement_identlistand calculate its XML tag.
Finally parse local definitions recursively.voidvisit(eu.bandm.tools.d2d2.absy.Element_nomangling element) <!ELEMENT nomangling EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_plus element) <!ELEMENT plus EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_postprocessor element) <!ELEMENT postprocessor (stringconst) >voidvisit(eu.bandm.tools.d2d2.absy.Element_quest element) <!ELEMENT quest EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_reference element) <!ELEMENT reference (ident+) >voidvisit(eu.bandm.tools.d2d2.absy.Element_star el) <!ELEMENT star EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_stringconst element) <!ELEMENT stringconst (#PCDATA) >voidvisit(eu.bandm.tools.d2d2.absy.Element_substituted el) <!ELEMENT substituted (atom, substitution*) >voidvisit(eu.bandm.tools.d2d2.absy.Element_substitution el) <!ELEMENT substitution ((grammarexpr | hNONE), ident) >voidvisit(eu.bandm.tools.d2d2.absy.Element_tplus element) <!ELEMENT tplus EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_tstar element) <!ELEMENT tstar EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_upcase element) <!ELEMENT upcase EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_xmlrep_att element) <!ELEMENT xmlrep_att EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_xmlrep_el element) <!ELEMENT xmlrep_el EMPTY >voidvisit(eu.bandm.tools.d2d2.absy.Element_xmlspec element) voidvisit(eu.bandm.tools.d2d2.absy.Element_xmlspec.Seq_1 seq) protected voidwarning(int level, Location<XMLDocumentIdentifier> loc, String s, Object... args) Methods inherited from class eu.bandm.tools.d2d2.absy.Visitor
visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitMethods inherited from class eu.bandm.tools.tdom.runtime.BaseVisitor
visit
-
Field Details
-
tracelevel
protected int tracelevel -
msg
-
toplevelmodule
-
growingModule
-
namespaces
All namespace decls, including the inherited. -
namespaces_local
The locally defined ones, which must be free of double prefix use. -
namespaceDefault_elOnly
protected boolean namespaceDefault_elOnlyWhether the default prefix is only for elements: -
namespaceDefault
Valid namespace default prefix, may be inherited. -
namespaceDefault_local
Locally set namespace default prefix, not inherited. -
globaltrim
-
currentScope
-
currentManglingMode
-
currentManglingString
-
importItem2modify
ImportItem importItem2modify -
countlocals
int countlocals -
isgeneric
boolean isgeneric -
isdistributed
boolean isdistributed -
expr
Expression expr -
growingDef
Definition growingDef -
growingXRegExp
XRegExp growingXRegExp -
prototypeName
<!ELEMENT nodetypedecl (cPUBLIC?, (cTAGS | cCHARS), identlist, (hGENERIC | hDISTRIBUTED | hEMPTY | grammarexpr), modifiers?)>- See Also:
-
firstDef
-
xmlspec_loc
-
postProcTested
-
growingEnum
Enumeration growingEnum -
numImpl
boolean numImpl -
numExpl
boolean numExpl -
enumAutoNum
int enumAutoNum -
stringValue
-
intValue
protected int intValue -
localtrim
Boolean localtrim -
dockey
String dockey -
docs
-
-
Constructor Details
-
Reducer
public Reducer()
-
-
Method Details
-
parse
@Opt public static @Opt Module parse(Reader charstream, MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msg, int tracelevel, String sourceIndication) DISLOCATED from ModuleRegistry: -
reduce
@Opt public @Opt Module reduce(MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msg, int tracelevel, eu.bandm.tools.d2d2.absy.Document_module input) Translate the XML encoded parsing result into a d2d model structure.- Returns:
- null only if input document is empty.
-
error
-
warning
-
addToModule
public static void addToModule(MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msg, Module host, SourceItem item, String kind) Store a definition to the given module. ImportItems, (Sub-)Modules and Definitions (=Enums, Chars and Tags Parser) can be added. They are stored to different maps, but must have unique names over all.
(Made public and with explicit message channel for later re-construction of synthetic definitions, e.g. from Parser sub-particles.) -
_addToModule
-
addToContext
AddDefinition(Enum or Tags or Chars Parser) to currentscope (either to Module or (as a local definition) to a definition). -
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_module element) Save and reset global registers; create and store newgrowingModule; descend into definitions in the source text; finally restore global registers.
Esp.: Namespace declarations are inherited, but NOT the default name space.- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_importcmd element) <!ELEMENT importcmd (ident, (hGENERIC | modadress), modsubsts) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_modsubst element) <!ELEMENT modsubst (reference?, substitution) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_namespacedecl element) <!ELEMENT namespacedecl (ident, stringconst, (namespacedefault | namespaceelementonlydefault )?) >namespacescontains also the inherited namespace maplets.namespaces_localonly those explicitly defined on this module level, which must not have double defs.
ATTENTION: for valid xslt generation, the ns mappings must CURRENTLY be non-conflicting. ATTENTION: since ns are now (20150319) stored in the model, the visitor registers can be simplified !- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
defineXmlNamespaceTag
protected void defineXmlNamespaceTag(Location<XMLDocumentIdentifier> loc, Definition def, String qname) D2d only knows the combination "non-empty prefix and non-empty uri", or "empty prefix and empty uri". The former is achieved either by an explicit "a:b" in the declaration of the element, or by a "is default" appended to a namespace prefix+uri declaration with the module.
(This default can be restricted to elements, not attributes, therefore ASSUME that .xml_kind is already set !
Only when both are missing, a non-namespace-name is constructed here. -
constructMangledXmlTag
Is called for any definition: Local definitions first apply name mangling. Afterwards namespace defs are applied. -
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_nodetypedecl element) Descend into source text for the grammar expression, setting registers (isgeneric,expr, ...).
On return build one newXRegExpaccordingly, store it togrowingDefand visit further modifiers, which store directly into this ("xmlSpec", "inputMode", "postProcessor").
Clone it for all identifiers in theElement_identlistand calculate its XML tag.
Finally parse local definitions recursively.- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hGENERIC element) <!ELEMENT hGENERIC EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hDISTRIBUTED element) <!ELEMENT hDISTRIBUTED EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cPUBLIC element) <!ELEMENT cPUBLIC EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hEMPTY element) <!ELEMENT hEMPTY EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_identlist element) <!ELEMENT identlist (ident+) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_xmlrep_att element) <!ELEMENT xmlrep_att EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_xmlrep_el element) <!ELEMENT xmlrep_el EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cNONE element) <!ELEMENT cNONE EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cDATA element) <!ELEMENT cDATA EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_xmlspec element) - Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_xmlspec.Seq_1 seq) - Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_editspec element) <!ELEMENT editspec (id_or_string) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cVERBATIM element) <!ELEMENT cVERBATIM EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
testPostProcClass
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_postprocessor element) <!ELEMENT postprocessor (stringconst) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_localnodes element) <!ELEMENT localnodes (nodetypedecl*) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
checkNumberMode
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_enumdecl element) <!ELEMENT enumdecl (ident, (hGENERIC | enumlist), enum_modif?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
checkEnumItemValid
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_enumitem element) <!ELEMENT enumitem ((ident | stringconst), deznum?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_enum_modif el) private enum_modif: "with" "xmlrep" (cEMPTY)? (xmlrep_att|xmlrep_el) (EQUALS! stringconst)? (cNUMERIC | cFIRST "name" |cAS "is" ) ?;<!ELEMENT enum_modif (cEMPTY?, (xmlrep_att | xmlrep_el), stringconst?, (cNUMERIC | cFIRST | cAS)?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cNUMERIC element) <!ELEMENT cNUMERIC EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cFIRST element) <!ELEMENT cFIRST EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cAS element) <!ELEMENT cAS EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cEMPTY element) <!ELEMENT cEMPTY EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_galt el) <!ELEMENT galt (gseq, galt?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
isNonTightSeq
-
isTightSeq
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gseq el) <!ELEMENT gseq (gperm, gseq?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gperm el) <!ELEMENT gperm (gtight, gperm?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gtight el) <!ELEMENT gtight (gc_or, gtight?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gc_or el) <!ELEMENT gc_or (gc_cut, gc_or?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gc_cut el) <!ELEMENT gc_cut (gc_minus, gc_cut?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gc_minus el) <!ELEMENT gc_minus (gc_range, gc_minus?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gc_range el) <!ELEMENT gc_range (gprim, gprim?) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gprim el) <!ELEMENT gprim (substituted, (star | plus | tstar | tplus | quest)?, exklam?)>- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_exklam el) <!ELEMENT exklam EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_star el) <!ELEMENT star EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_plus element) <!ELEMENT plus EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_tstar element) <!ELEMENT tstar EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_tplus element) <!ELEMENT tplus EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_quest element) <!ELEMENT quest EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_substituted el) <!ELEMENT substituted (atom, substitution*) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_substitution el) <!ELEMENT substitution ((grammarexpr | hNONE), ident) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hNONE element) <!ELEMENT hNONE EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_atom.Choice_1_Alt_1 alt) <!ELEMENT atom ((hIMPLICIT?, reference) | insertion // IST RAUS | (hORDERED?, grammarexpr) | (hGT?, grammarexpr) | gwrapper | stringconst | deznum | hexnum | charset | (hCHARS, trimming?)) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_greedyAtom sa) <!ELEMENT greedyAtom (greedy, atom) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hIMPLICIT element) <!ELEMENT hIMPLICIT EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_insertion element) <!ELEMENT insertion (atom) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gwrapper element) <!ELEMENT gwrapper (ident, grammarexpr) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_stringconst element) <!ELEMENT stringconst (#PCDATA) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_deznum element) <!ELEMENT deznum (#PCDATA) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hexnum element) <!ELEMENT hexnum (#PCDATA) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_charset element) <!ELEMENT charset (#PCDATA) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_atom.Choice_1_Alt_9 alt) <!ELEMENT hCHARS EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_ident element) <!ELEMENT ident (#PCDATA) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
recompose
<!ELEMENT reference (ident+) > -
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_reference element) <!ELEMENT reference (ident+) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_defaultGroup element) <!ELEMENT defaultGroup ((%defaultDef;)*, (module | modline | defaultGroup)* ) >
Default Groups allow to distribute modifiers (mangling mode, text trimming) to sub-ranges of definitions of a module.- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_joinstring element) <!ELEMENT joinstring (stringconst) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_upcase element) <!ELEMENT upcase EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_nomangling element) <!ELEMENT nomangling EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_globaltrimming element) <!ELEMENT globaltrimming (trimming) >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cTRIMMED element) <!ELEMENT cTRIMMED EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cUNTRIMMED element) <!ELEMENT cUNTRIMMED EMPTY >- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
putDocu
Docu text and key have been stored in GLO variables by visit(El.._documentation). Store it to the given source item. -
putDocu
Docu text and key have been stored in GLO variables by visit(El.._documentation). Append it to a list in "Enumeration.itemDocu", indexed by numeric value and user language. -
splitdoctext
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_doctext element) - Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_longdoctext element) - Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_documentation element) <!ELEMENT documentation (ident, localreflist?, (doctext|longdoctext) ) >
The identifier is the "key" for the documentation, like "user_en" or "to_xhtml_1_0".
Iff the localreflist is empty, then the doc goes to the module itself, otherwise to the definitions listed.
They must already have been parsed, ie. here rules "def before ref"!- Overrides:
visitin classeu.bandm.tools.d2d2.absy.Visitor
-