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
Modifier and TypeClassDescriptionprotected class
Distributes documentation text to source items in the current module, descending into local definitions when required.protected static enum
-
Field Summary
Modifier and TypeFieldDescription(package private) int
protected Reducer.manglingMode
protected String
protected SourceItem
(package private) String
(package private) int
(package private) Expression
protected XRegExp
protected Boolean
(package private) Definition
(package private) Enumeration
protected Module
(package private) XRegExp
(package private) ImportItem
protected int
(package private) boolean
(package private) boolean
(package private) Boolean
protected MessageReceiver<SimpleMessage<XMLDocumentIdentifier>>
protected String
Valid namespace default prefix, may be inherited.protected boolean
Whether the default prefix is only for elements:protected String
Locally 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) boolean
protected static final String
<!ELEMENT nodetypedecl (cPUBLIC?, (cTAGS | cCHARS), identlist, (hGENERIC | hDISTRIBUTED | hEMPTY | grammarexpr), modifiers?)>
protected String
protected Module
protected int
protected Location<XMLDocumentIdentifier>
Fields inherited from class eu.bandm.tools.tdom.runtime.BaseVisitor
validating
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
_addToModule
(Module host, SourceItem item, String kind) protected void
addToContext
(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 void
addToModule
(MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msg, Module host, SourceItem item, String kind) Store a definition to the given module.protected boolean
protected void
checkNumberMode
(boolean hasNumber, Location<XMLDocumentIdentifier> loc) protected void
Is called for any definition: Local definitions first apply name mangling.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".protected void
error
(Location<XMLDocumentIdentifier> loc, String s, Object... args) protected boolean
isNonTightSeq
(Expression expr) protected boolean
isTightSeq
(Expression expr) parse
(Reader charstream, MessageReceiver<SimpleMessage<XMLDocumentIdentifier>> msg, int tracelevel, String sourceIndication) DISLOCATED from ModuleRegistry:protected void
putDocu
(Enumeration e, String item) Docu text and key have been stored in GLO variables by visit(El.._documentation).protected void
putDocu
(SourceItem item) Docu text and key have been stored in GLO variables by visit(El.._documentation).protected static String
recompose
(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 void
splitdoctext
(String text, Location<XMLDocumentIdentifier> startloc) (package private) void
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?)) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_atom.Choice_1_Alt_9 alt) <!ELEMENT hCHARS EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_cAS element) <!ELEMENT cAS EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_cDATA element) <!ELEMENT cDATA EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_cEMPTY element) <!ELEMENT cEMPTY EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_cFIRST element) <!ELEMENT cFIRST EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_charset element) <!ELEMENT charset (#PCDATA) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_cNONE element) <!ELEMENT cNONE EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_cNUMERIC element) <!ELEMENT cNUMERIC EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_cPUBLIC element) <!ELEMENT cPUBLIC EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_cTRIMMED element) <!ELEMENT cTRIMMED EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_cUNTRIMMED element) <!ELEMENT cUNTRIMMED EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_cVERBATIM element) <!ELEMENT cVERBATIM EMPTY >
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.void
visit
(eu.bandm.tools.d2d2.absy.Element_deznum element) <!ELEMENT deznum (#PCDATA) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_doctext element) 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".void
visit
(eu.bandm.tools.d2d2.absy.Element_editspec element) <!ELEMENT editspec (id_or_string) >
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)?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_enumdecl element) <!ELEMENT enumdecl (ident, (hGENERIC | enumlist), enum_modif?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_enumitem element) <!ELEMENT enumitem ((ident | stringconst), deznum?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_exklam el) <!ELEMENT exklam EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_galt el) <!ELEMENT galt (gseq, galt?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_gc_cut el) <!ELEMENT gc_cut (gc_minus, gc_cut?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_gc_minus el) <!ELEMENT gc_minus (gc_range, gc_minus?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_gc_or el) <!ELEMENT gc_or (gc_cut, gc_or?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_gc_range el) <!ELEMENT gc_range (gprim, gprim?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_globaltrimming element) <!ELEMENT globaltrimming (trimming) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_gperm el) <!ELEMENT gperm (gtight, gperm?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_gprim el) <!ELEMENT gprim (substituted, (star | plus | tstar | tplus | quest)?, exklam?)>
void
visit
(eu.bandm.tools.d2d2.absy.Element_greedyAtom sa) <!ELEMENT greedyAtom (greedy, atom) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_gseq el) <!ELEMENT gseq (gperm, gseq?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_gtight el) <!ELEMENT gtight (gc_or, gtight?) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_gwrapper element) <!ELEMENT gwrapper (ident, grammarexpr) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_hDISTRIBUTED element) <!ELEMENT hDISTRIBUTED EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_hEMPTY element) <!ELEMENT hEMPTY EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_hexnum element) <!ELEMENT hexnum (#PCDATA) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_hGENERIC element) <!ELEMENT hGENERIC EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_hIMPLICIT element) <!ELEMENT hIMPLICIT EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_hNONE element) <!ELEMENT hNONE EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_ident element) <!ELEMENT ident (#PCDATA) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_identlist element) <!ELEMENT identlist (ident+) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_importcmd element) <!ELEMENT importcmd (ident, (hGENERIC | modadress), modsubsts) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_insertion element) <!ELEMENT insertion (atom) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_joinstring element) <!ELEMENT joinstring (stringconst) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_localnodes element) <!ELEMENT localnodes (nodetypedecl*) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_longdoctext element) void
visit
(eu.bandm.tools.d2d2.absy.Element_modsubst element) <!ELEMENT modsubst (reference?, substitution) >
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.void
visit
(eu.bandm.tools.d2d2.absy.Element_namespacedecl element) <!ELEMENT namespacedecl (ident, stringconst, (namespacedefault | namespaceelementonlydefault )?) >
namespaces
contains also the inherited namespace maplets.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 newXRegExp
accordingly, store it togrowingDef
and visit further modifiers, which store directly into this ("xmlSpec", "inputMode", "postProcessor").
Clone it for all identifiers in the and calculate its XML tag.
Finally parse local definitions recursively.void
visit
(eu.bandm.tools.d2d2.absy.Element_nomangling element) <!ELEMENT nomangling EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_plus element) <!ELEMENT plus EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_postprocessor element) <!ELEMENT postprocessor (stringconst) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_quest element) <!ELEMENT quest EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_reference element) <!ELEMENT reference (ident+) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_star el) <!ELEMENT star EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_stringconst element) <!ELEMENT stringconst (#PCDATA) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_substituted el) <!ELEMENT substituted (atom, substitution*) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_substitution el) <!ELEMENT substitution ((grammarexpr | hNONE), ident) >
void
visit
(eu.bandm.tools.d2d2.absy.Element_tplus element) <!ELEMENT tplus EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_tstar element) <!ELEMENT tstar EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_upcase element) <!ELEMENT upcase EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_xmlrep_att element) <!ELEMENT xmlrep_att EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_xmlrep_el element) <!ELEMENT xmlrep_el EMPTY >
void
visit
(eu.bandm.tools.d2d2.absy.Element_xmlspec element) void
visit
(eu.bandm.tools.d2d2.absy.Element_xmlspec.Seq_1 seq) protected void
warning
(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, visit
Methods 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:
visit
in 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:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_modsubst element) <!ELEMENT modsubst (reference?, substitution) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_namespacedecl element) <!ELEMENT namespacedecl (ident, stringconst, (namespacedefault | namespaceelementonlydefault )?) >
namespaces
contains also the inherited namespace maplets.namespaces_local
only 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:
visit
in 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 newXRegExp
accordingly, store it togrowingDef
and visit further modifiers, which store directly into this ("xmlSpec", "inputMode", "postProcessor").
Clone it for all identifiers in the and calculate its XML tag.
Finally parse local definitions recursively.- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hGENERIC element) <!ELEMENT hGENERIC EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hDISTRIBUTED element) <!ELEMENT hDISTRIBUTED EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cPUBLIC element) <!ELEMENT cPUBLIC EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hEMPTY element) <!ELEMENT hEMPTY EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_identlist element) <!ELEMENT identlist (ident+) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_xmlrep_att element) <!ELEMENT xmlrep_att EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_xmlrep_el element) <!ELEMENT xmlrep_el EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cNONE element) <!ELEMENT cNONE EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cDATA element) <!ELEMENT cDATA EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_xmlspec element) - Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_xmlspec.Seq_1 seq) - Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_editspec element) <!ELEMENT editspec (id_or_string) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cVERBATIM element) <!ELEMENT cVERBATIM EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
testPostProcClass
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_postprocessor element) <!ELEMENT postprocessor (stringconst) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_localnodes element) <!ELEMENT localnodes (nodetypedecl*) >
- Overrides:
visit
in 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:
visit
in 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:
visit
in 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:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cNUMERIC element) <!ELEMENT cNUMERIC EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cFIRST element) <!ELEMENT cFIRST EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cAS element) <!ELEMENT cAS EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cEMPTY element) <!ELEMENT cEMPTY EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_galt el) <!ELEMENT galt (gseq, galt?) >
- Overrides:
visit
in 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:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gperm el) <!ELEMENT gperm (gtight, gperm?) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gtight el) <!ELEMENT gtight (gc_or, gtight?) >
- Overrides:
visit
in 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:
visit
in 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:
visit
in 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:
visit
in 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:
visit
in 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:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_exklam el) <!ELEMENT exklam EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_star el) <!ELEMENT star EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_plus element) <!ELEMENT plus EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_tstar element) <!ELEMENT tstar EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_tplus element) <!ELEMENT tplus EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_quest element) <!ELEMENT quest EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_substituted el) <!ELEMENT substituted (atom, substitution*) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_substitution el) <!ELEMENT substitution ((grammarexpr | hNONE), ident) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hNONE element) <!ELEMENT hNONE EMPTY >
- Overrides:
visit
in 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:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_greedyAtom sa) <!ELEMENT greedyAtom (greedy, atom) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hIMPLICIT element) <!ELEMENT hIMPLICIT EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_insertion element) <!ELEMENT insertion (atom) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_gwrapper element) <!ELEMENT gwrapper (ident, grammarexpr) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_stringconst element) <!ELEMENT stringconst (#PCDATA) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_deznum element) <!ELEMENT deznum (#PCDATA) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_hexnum element) <!ELEMENT hexnum (#PCDATA) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_charset element) <!ELEMENT charset (#PCDATA) >
- Overrides:
visit
in 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:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_ident element) <!ELEMENT ident (#PCDATA) >
- Overrides:
visit
in 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:
visit
in 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:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_joinstring element) <!ELEMENT joinstring (stringconst) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_upcase element) <!ELEMENT upcase EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_nomangling element) <!ELEMENT nomangling EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_globaltrimming element) <!ELEMENT globaltrimming (trimming) >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cTRIMMED element) <!ELEMENT cTRIMMED EMPTY >
- Overrides:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_cUNTRIMMED element) <!ELEMENT cUNTRIMMED EMPTY >
- Overrides:
visit
in 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:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-
visit
public void visit(eu.bandm.tools.d2d2.absy.Element_longdoctext element) - Overrides:
visit
in 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:
visit
in classeu.bandm.tools.d2d2.absy.Visitor
-