Package com._1c.g5.modeling.text
Class AbstractAntlrParserDelegate
- java.lang.Object
-
- org.antlr.runtime.BaseRecognizer
-
- org.antlr.runtime.Parser
-
- com._1c.g5.modeling.text.AbstractAntlrParserDelegate
-
public abstract class AbstractAntlrParserDelegate extends org.antlr.runtime.Parser
Абстрактный класс, используемый в качестве базового, для конкретных парсеров, сгенерированных ANTLR 3.1 по грамматике.
-
-
Constructor Summary
Constructors Constructor Description AbstractAntlrParserDelegate(org.antlr.runtime.TokenStream input, org.antlr.runtime.RecognizerSharedState state)
Конструктор
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected INode
adaptNode(org.eclipse.emf.ecore.EObject eObject, INode node)
Сервисный метод, установливающий связь между объектом модели и узлом AST.
Для этого узлу AST назначается объект модели {@see INode#setModelObject(EObject)}, с помощьюNodeAdapter
объекту модели ставится в соответствие соответсвующий узел AST.protected INode
adaptNode(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature, INode node)
Сервисный метод, устанавливающий связь между single-valued свойством объекта модели и узлом AST.
Для установления такой связи используется толькоNodeAdapter
protected INode
adaptNodeToList(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature, INode node)
Метод устанавливает связь между отдельным значением many-valued свойства объекта модели и узлом AST.protected void
addAttributeValue(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EAttribute eAttribute, String text)
Добавление к списку значений many-valued атрибута значения, полученного из текстового представления.
Для преобразования текстового представления в объект, который может быть значением атрибута используется функцияcreateAttributeValue(EObject, EAttribute, String)
protected INode
addNewNode(INode parent, org.antlr.runtime.Token tok)
Данный метод предназначен для создания узла AST, соответствующего одиночному токену и добавления созданного узла к родительскому.protected INode
addNewNode(INode parent, org.antlr.runtime.Token tok, org.eclipse.emf.ecore.EObject eObject)
Данный метод предназначен для создания узла AST, соответствующего одиночному токену, добавления созданного узла к родительскому и установки связи между созданным узлом AST и объектом модели.protected INode
addNode(INode parent, INode node)
Сервисный метод, предназеначенный для добавления дочернего узла к родительскому.protected Object
createAttributeValue(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EAttribute eAttribute, String text)
Получение из текстового представления значения, которое можно присвоить атрибуту объекта модели.
Для получения значения из текстового представления данная функция обращается кcreateFromString(EDataType, String)
.
При необходимости данная функция может быть переопределена в унаследованном классе.protected Object
createFromString(org.eclipse.emf.ecore.EDataType eDataType, String text)
Получение из текстового представления значения, соответствующего заданному типу данных модели.
Данная функция может быть переопределена в унаследованном классе, если для какого-либо типа данных требуется специфическое преобразование из текста.protected INode
createNodeObject(int type, TextLocation location)
protected Object
getMissingSymbol(org.antlr.runtime.IntStream input, org.antlr.runtime.RecognitionException e, int expectedTokenType, org.antlr.runtime.BitSet follow)
protected INode
newNode(int type)
Данный метод предназначен для создания узла AST, соответствующего синтаксическому правилу.protected INode
newNode(int type, org.eclipse.emf.ecore.EObject eObject)
Данный метод предназначен для создания узла AST, соответствующего синтаксическому правилу.protected INode
newNode(org.antlr.runtime.Token tok)
Данный метод предназначен для создания узла AST, соответствующего одиночному токену.
Для создаваемогоINode
из токена берется значение свойстваtype
и вычисляетсяtextLocation
protected INode
newNode(org.antlr.runtime.Token tok, org.eclipse.emf.ecore.EObject eObject)
Данный метод предназначен для создания узла AST, соответствующего одиночному токену.void
reportError(org.antlr.runtime.RecognitionException e)
protected void
setAttributeValue(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EAttribute eAttribute, String text)
Присваивание single-valued атрибуту объекта модели значения, полученного из текстового представления.
Для преобразования текстового представления в объект, который может быть значением атрибута используется функцияcreateAttributeValue(EObject, EAttribute, String)
void
setDiagnosticReporter(IDiagnosticReporter reporter)
Установка репортераIDiagnosticReporter
, через который будет производиться сбор диагностикиvoid
setUri(org.eclipse.emf.common.util.URI uri)
УстановкаURI
EMF-ресурса, содержащего текстовое представление модели-
Methods inherited from class org.antlr.runtime.Parser
getCurrentInputSymbol, getSourceName, getTokenStream, reset, setTokenStream, traceIn, traceOut
-
Methods inherited from class org.antlr.runtime.BaseRecognizer
alreadyParsedRule, beginResync, combineFollows, computeContextSensitiveRuleFOLLOW, computeErrorRecoverySet, consumeUntil, consumeUntil, displayRecognitionError, emitErrorMessage, endResync, failed, getBacktrackingLevel, getErrorHeader, getErrorMessage, getGrammarFileName, getNumberOfSyntaxErrors, getRuleInvocationStack, getRuleInvocationStack, getRuleMemoization, getRuleMemoizationCacheSize, getTokenErrorDisplay, getTokenNames, match, matchAny, memoize, mismatchIsMissingToken, mismatchIsUnwantedToken, pushFollow, recover, recoverFromMismatchedSet, recoverFromMismatchedToken, setBacktrackingLevel, toStrings, traceIn, traceOut
-
-
-
-
Method Detail
-
setDiagnosticReporter
public void setDiagnosticReporter(IDiagnosticReporter reporter)
Установка репортераIDiagnosticReporter
, через который будет производиться сбор диагностики- Parameters:
reporter
- репортер
-
setUri
public void setUri(org.eclipse.emf.common.util.URI uri)
УстановкаURI
EMF-ресурса, содержащего текстовое представление модели- Parameters:
uri
-URI
EMF-ресурса
-
reportError
public void reportError(org.antlr.runtime.RecognitionException e)
- Overrides:
reportError
in classorg.antlr.runtime.BaseRecognizer
-
getMissingSymbol
protected Object getMissingSymbol(org.antlr.runtime.IntStream input, org.antlr.runtime.RecognitionException e, int expectedTokenType, org.antlr.runtime.BitSet follow)
- Overrides:
getMissingSymbol
in classorg.antlr.runtime.Parser
-
createNodeObject
protected INode createNodeObject(int type, TextLocation location)
Функция создает объект-узел AST, реализующий интерфейсINode
.
Данная функция может быть переопределена в классе-наследнике, если требуется, чтобы в качестве реализацииINode
использовались объекты типа, отличного отNode
- Parameters:
type
- тип узла ASTlocation
- расположение в тексте, соответствующее узлу ASTeObject
- объект модели, ассоциированный с узлом AST- Returns:
- созданный объект-узел AST
-
newNode
protected final INode newNode(org.antlr.runtime.Token tok)
Данный метод предназначен для создания узла AST, соответствующего одиночному токену.
Для создаваемогоINode
из токена берется значение свойстваtype
и вычисляетсяtextLocation
- Parameters:
tok
- токен- Returns:
- созданный узел AST или
null
, если параметрtok
содержитnull
-
newNode
protected final INode newNode(org.antlr.runtime.Token tok, org.eclipse.emf.ecore.EObject eObject)
Данный метод предназначен для создания узла AST, соответствующего одиночному токену. С создаваемым узлом ассоциируется объект модели.
Для создаваемогоINode
из токена берется значение свойстваtype
и вычисляетсяtextLocation
.- Parameters:
tok
- токенeObject
- объект модели- Returns:
- созданный узел AST или
null
, если параметрtok
содержитnull
-
newNode
protected final INode newNode(int type)
Данный метод предназначен для создания узла AST, соответствующего синтаксическому правилу. Подразумевается, что в дальнейшем к созданному таким образом узлу могут добавляться дочерние узлы.- Parameters:
type
- тип создаваемого узла AST- Returns:
- созданный узел AST
-
newNode
protected final INode newNode(int type, org.eclipse.emf.ecore.EObject eObject)
Данный метод предназначен для создания узла AST, соответствующего синтаксическому правилу. Подразумевается, что в дальнейшем к созданному таким образом узлу могут добавляться дочерние узлы.
С создаваемым узлом ассоциируется объект модели.- Parameters:
type
- тип создаваемого узла AST- Returns:
- созданный узел AST
-
addNode
protected final INode addNode(INode parent, INode node)
Сервисный метод, предназеначенный для добавления дочернего узла к родительскому.- Parameters:
parent
- родительский узелnode
- добавляемый узел. Может бытьnull
.- Returns:
- добавленный узел
-
adaptNode
protected final INode adaptNode(org.eclipse.emf.ecore.EObject eObject, INode node)
Сервисный метод, установливающий связь между объектом модели и узлом AST.
Для этого узлу AST назначается объект модели {@see INode#setModelObject(EObject)}, с помощьюNodeAdapter
объекту модели ставится в соответствие соответсвующий узел AST.- Parameters:
eObject
- объект моделиnode
- узел AST. Может бытьnull
.- Returns:
- переданный в параметре узел AST
-
adaptNode
protected final INode adaptNode(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature, INode node)
Сервисный метод, устанавливающий связь между single-valued свойством объекта модели и узлом AST.
Для установления такой связи используется толькоNodeAdapter
- Parameters:
eObject
- объект моделиeFeature
- свойство объекта моделиnode
- узел AST. Может бытьnull
.- Returns:
- переданный в параметре узел AST
-
adaptNodeToList
protected final INode adaptNodeToList(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EStructuralFeature eFeature, INode node)
Метод устанавливает связь между отдельным значением many-valued свойства объекта модели и узлом AST.- Parameters:
eObject
- объект моделиeFeature
- many-valued свойство объекта моделиnode
- узел AST. Может бытьnull
.- Returns:
- переданный в параметре узел AST
-
addNewNode
protected final INode addNewNode(INode parent, org.antlr.runtime.Token tok)
Данный метод предназначен для создания узла AST, соответствующего одиночному токену и добавления созданного узла к родительскому.- Parameters:
parent
- родительский узел ASTtok
- токен- Returns:
- созданный узел AST или
null
, если параметрtok
содержитnull
-
addNewNode
protected final INode addNewNode(INode parent, org.antlr.runtime.Token tok, org.eclipse.emf.ecore.EObject eObject)
Данный метод предназначен для создания узла AST, соответствующего одиночному токену, добавления созданного узла к родительскому и установки связи между созданным узлом AST и объектом модели.- Parameters:
parent
- родительский узел ASTtok
- токенeObject
- объект модели- Returns:
- созданный узел AST или
null
, если параметрtok
содержитnull
-
setAttributeValue
protected final void setAttributeValue(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EAttribute eAttribute, String text)
Присваивание single-valued атрибуту объекта модели значения, полученного из текстового представления.
Для преобразования текстового представления в объект, который может быть значением атрибута используется функцияcreateAttributeValue(EObject, EAttribute, String)
- Parameters:
eObject
- объект моделиeAttribute
- single-valued атрибут объекта моделиtext
- текстовое представление значения
-
addAttributeValue
protected final void addAttributeValue(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EAttribute eAttribute, String text)
Добавление к списку значений many-valued атрибута значения, полученного из текстового представления.
Для преобразования текстового представления в объект, который может быть значением атрибута используется функцияcreateAttributeValue(EObject, EAttribute, String)
- Parameters:
eObject
- объект моделиeAttribute
- many-valued атрибут объекта моделиtext
- текстовое представление значения
-
createAttributeValue
protected Object createAttributeValue(org.eclipse.emf.ecore.EObject eObject, org.eclipse.emf.ecore.EAttribute eAttribute, String text)
Получение из текстового представления значения, которое можно присвоить атрибуту объекта модели.
Для получения значения из текстового представления данная функция обращается кcreateFromString(EDataType, String)
.
При необходимости данная функция может быть переопределена в унаследованном классе. Но переопределение имеет смысл, если для какого-либо атрибута требуется специфическое преобразование из текста. Если преобразование специфично для типа данных, то следует переопределитьcreateFromString(EDataType, String)
.- Parameters:
eObject
- объект моделиeAttribute
- атрибут объекта моделиtext
- текстовое представление- Returns:
- объект, подходящий для присваивания атрибуту объекта модели или
null
, если в параметреtext
содержалсяnull
.
-
createFromString
protected Object createFromString(org.eclipse.emf.ecore.EDataType eDataType, String text)
Получение из текстового представления значения, соответствующего заданному типу данных модели.
Данная функция может быть переопределена в унаследованном классе, если для какого-либо типа данных требуется специфическое преобразование из текста.- Parameters:
eDataType
- тип данныхtext
- текстовое представление- Returns:
- объект, полученный в результате преобразования из тектста или
null
, если в параметреtext
содержалсяnull
.
-
-