Regular Expression
A pair of type name and valid XML name.
Root of the HRC file XML structure.
Specifies version of HRC language.
For example, 'take5' for Colorer-take5.
Defines formal documentation for the HRC language elements.
Formal annotation part, used for tools processing.
Human documentation part.
Contribute information part.
Defines prototype of the defined file type, but use
this type as an internal hidden package structure.
Common internal name of this package.
Must be valid XML non-qualified name.
User description, used to represent package in target IDE.
Applicable to the XML group of languages.
Specifies namespace, this HRC file describing.
Allows automatically linking and combining different XML languages in HRC.
Defines prototype of single target programming language.
This prototype must have name, equals to real type, defined
in the linked resource.
Custom parameters, used to specify additional properties of this language type.
These can include different language resources (icons, templates and so on).
Also these parameters could be referenced from schema declaration,
this allows to customize schemes loading process.
Single parameter [name,value] pair.
Common internal name of this language type.
Must be valid XML non-qualified name.
User description, used to represent language in target IDE.
Group of languages, this language belongs to.
Applicable to the XML group of languages.
Specifies namespace, this HRC file describing.
Allows automatically linking and combining different XML languages in HRC.
Points to the location of a HRC file with this language description.
Link is a well formed URI address of the requested HRC file.
This location can be relative to the current location of the parent type,
or absolute (with URI schemas, supported by library).
If URI schema is absent, 'file://' is assumed.
Defines Regular Expression, used to identify programming language
by its file name. This can include file's extension or
some more complex dependencies.
This attribute defines weight, added to the total language
weight, when choosing one from a list of available.
Defines Regular Expression, used to identify programming language
by its starting content. First line can be used, or some small
part of text. This entry has less default weight against
filename one.
This attribute defines weight, added to the total language
weight, when choosing one from a list of available.
Language container, used to store all parser specific information.
These defines are used by parser to analyze and colorize target text data.
HRC Language type name.
HRC scheme is a basic unit, which represents some fixed set of
lexemes, tokens and syntax regions (lexical context).
Each time at any position in the text only one schema is active.
Its content is applied to the current text position.
When the text parsing process starts, the scheme is used
whose name equals the name of the corresponding type
(the base scheme of the type).
HRC Scheme name. Unique in this type scope.
Load and use this scheme's content only if parameter,
to which references this attribute is truth.
In other case this scheme is used as an empty one.
Load and use this scheme's content only if parameter,
to which references this attribute is not truth.
In other case this scheme is used as an empty one.
External type import statement. This statement imports all definitions
from the specified type into the current one, so you can use them
without explicit type qualifier.
HRC Entity definition. Entities are some form of macro-definitions,
they lately can be used in regular expressions syntax to make
them simpler. Each entity consists of Entity name and
Entity content, which would be substituted into regular expression,
when parser finds entity reference. Each entity can be referenced
with %entityname; syntax.
HRC Entity name.
HRC Entity value, used to substitute entity in RE string.
Definition of basic syntax region - text range with assigned
syntax meaning. Later, these regions can be mapped into
required color information and displayed on screen.
HRC Region name.
Region's parent reference. If region has parent,
its properties can be inherited from this one.
Also region inheritance creates tree structure of HRC Regions.
Optional description, used to represent region's purpose and
to show it to user in convient and friendly way.
Regular Expression token.
Priority of any token can be normal and low.
Low-priority tokens can't shift down its closing token from called scheme.
Context switch operator.
Used to switch currently used context into the specified one.
Context is switched, if RE pattern, placed in 'start' attribute,
is matches. Switched context is closed, when parser
finds match of the 'end' RE.
Defines if this scheme region to be located inside of
the start/end region edges. In this case all the block's regions
are located outside of the scheme region.
By default ("no" value) scheme region is a background region
for all this block's start/end regions, and wraps them all.
Alternative style of RE definition.
Could be used, when RE is very complex and
it is easier to use character (or CDATA) sections to define it.
RE syntax
Scheme inheritance construction.
If one scheme is inherited in another, then the latter scheme
takes all the definitions from the former, as it was included
directly in place of inherit operator.
One scheme can't inherit another, if that scheme is already
makes inheritance (even indirect) of the first one.
Inherited scheme name.
Inheritance substitution element.
While inheriting one scheme in another, it is possible
to redefine inner inherited schemes with some others.
This can be used to change inherited language behavior.
Redefined scheme.
Scheme to use instead redefined one.
List of tokens with equal properties.
Keywords, symbols and so on...
These lists are used to make processing of many tokens
faster, when it isn't required to use RE to define syntax tokens.
Match this list of tokens with case sensitive or no.
Region, assigned to this list of tokens.
Each token can define its custom region.
Class of characters, used to search words edges.
Symbol tokens - ignores specified word edges.
Keyword tokens - use specified word edges.