public class SourceGenTriggers
extends org.antlr.runtime.tree.TreeParser
Modifier and Type | Class and Description |
---|---|
static class |
SourceGenTriggers.alt_return |
static class |
SourceGenTriggers.alternative_return |
Modifier and Type | Field and Description |
---|---|
static int |
ACTION |
static int |
ACTION_CHAR_LITERAL |
static int |
ACTION_ESC |
static int |
ACTION_STRING_LITERAL |
static int |
ALT |
static int |
ALTLIST |
static int |
ARG |
static int |
ARG_ACTION |
static int |
ARG_OR_CHARSET |
static int |
ARGLIST |
static int |
ASSIGN |
static int |
AT |
static int |
BLOCK |
static int |
CATCH |
static int |
CHAR_RANGE |
static int |
CLOSURE |
static int |
COLON |
static int |
COLONCOLON |
static int |
COMBINED |
static int |
COMMA |
static int |
COMMENT |
OutputModelController |
controller |
static int |
DOC_COMMENT |
static int |
DOLLAR |
static int |
DOT |
static int |
ELEMENT_OPTIONS |
static int |
EOF |
static int |
EPSILON |
static int |
ERRCHAR |
static int |
ESC_SEQ |
static int |
FINALLY |
static org.antlr.runtime.BitSet |
FOLLOW_ACTION_in_element276 |
static org.antlr.runtime.BitSet |
FOLLOW_ACTION_in_element305 |
static org.antlr.runtime.BitSet |
FOLLOW_ACTION_in_elementOption895 |
static org.antlr.runtime.BitSet |
FOLLOW_ALT_in_alt191 |
static org.antlr.runtime.BitSet |
FOLLOW_ALT_in_alt209 |
static org.antlr.runtime.BitSet |
FOLLOW_alt_in_alternative161 |
static org.antlr.runtime.BitSet |
FOLLOW_alternative_in_block109 |
static org.antlr.runtime.BitSet |
FOLLOW_ARG_ACTION_in_ruleref681 |
static org.antlr.runtime.BitSet |
FOLLOW_ARG_ACTION_in_terminal773 |
static org.antlr.runtime.BitSet |
FOLLOW_ASSIGN_in_elementOption859 |
static org.antlr.runtime.BitSet |
FOLLOW_ASSIGN_in_elementOption875 |
static org.antlr.runtime.BitSet |
FOLLOW_ASSIGN_in_elementOption891 |
static org.antlr.runtime.BitSet |
FOLLOW_ASSIGN_in_elementOption907 |
static org.antlr.runtime.BitSet |
FOLLOW_ASSIGN_in_labeledElement341 |
static org.antlr.runtime.BitSet |
FOLLOW_ASSIGN_in_labeledElement373 |
static org.antlr.runtime.BitSet |
FOLLOW_atom_in_atom536 |
static org.antlr.runtime.BitSet |
FOLLOW_atom_in_blockSet502 |
static org.antlr.runtime.BitSet |
FOLLOW_atom_in_element251 |
static org.antlr.runtime.BitSet |
FOLLOW_atom_in_labeledElement345 |
static org.antlr.runtime.BitSet |
FOLLOW_atom_in_labeledElement362 |
static org.antlr.runtime.BitSet |
FOLLOW_BLOCK_in_block84 |
static org.antlr.runtime.BitSet |
FOLLOW_block_in_dummy61 |
static org.antlr.runtime.BitSet |
FOLLOW_block_in_labeledElement377 |
static org.antlr.runtime.BitSet |
FOLLOW_block_in_labeledElement394 |
static org.antlr.runtime.BitSet |
FOLLOW_block_in_subrule419 |
static org.antlr.runtime.BitSet |
FOLLOW_block_in_subrule439 |
static org.antlr.runtime.BitSet |
FOLLOW_block_in_subrule454 |
static org.antlr.runtime.BitSet |
FOLLOW_block_in_subrule470 |
static org.antlr.runtime.BitSet |
FOLLOW_blockSet_in_atom655 |
static org.antlr.runtime.BitSet |
FOLLOW_CLOSURE_in_subrule435 |
static org.antlr.runtime.BitSet |
FOLLOW_DOT_in_atom561 |
static org.antlr.runtime.BitSet |
FOLLOW_DOT_in_atom573 |
static org.antlr.runtime.BitSet |
FOLLOW_element_in_alt195 |
static org.antlr.runtime.BitSet |
FOLLOW_ELEMENT_OPTIONS_in_elementOptions827 |
static org.antlr.runtime.BitSet |
FOLLOW_elementOption_in_elementOptions829 |
static org.antlr.runtime.BitSet |
FOLLOW_elementOptions_in_element307 |
static org.antlr.runtime.BitSet |
FOLLOW_elementOptions_in_element321 |
static org.antlr.runtime.BitSet |
FOLLOW_EPSILON_in_alt211 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_atom563 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_atom575 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_elementOption848 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_elementOption861 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_elementOption863 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_elementOption877 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_elementOption893 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_elementOption909 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_labeledElement343 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_labeledElement360 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_labeledElement375 |
static org.antlr.runtime.BitSet |
FOLLOW_ID_in_labeledElement392 |
static org.antlr.runtime.BitSet |
FOLLOW_INT_in_elementOption911 |
static org.antlr.runtime.BitSet |
FOLLOW_labeledElement_in_element240 |
static org.antlr.runtime.BitSet |
FOLLOW_NOT_in_atom532 |
static org.antlr.runtime.BitSet |
FOLLOW_OPTIONAL_in_subrule415 |
static org.antlr.runtime.BitSet |
FOLLOW_OPTIONS_in_block88 |
static org.antlr.runtime.BitSet |
FOLLOW_PLUS_ASSIGN_in_labeledElement358 |
static org.antlr.runtime.BitSet |
FOLLOW_PLUS_ASSIGN_in_labeledElement390 |
static org.antlr.runtime.BitSet |
FOLLOW_POSITIVE_CLOSURE_in_subrule450 |
static org.antlr.runtime.BitSet |
FOLLOW_range_in_atom546 |
static org.antlr.runtime.BitSet |
FOLLOW_RANGE_in_range709 |
static org.antlr.runtime.BitSet |
FOLLOW_RULE_REF_in_ruleref679 |
static org.antlr.runtime.BitSet |
FOLLOW_ruleref_in_atom577 |
static org.antlr.runtime.BitSet |
FOLLOW_ruleref_in_atom643 |
static org.antlr.runtime.BitSet |
FOLLOW_SEMPRED_in_element291 |
static org.antlr.runtime.BitSet |
FOLLOW_SEMPRED_in_element319 |
static org.antlr.runtime.BitSet |
FOLLOW_SET_in_blockSet500 |
static org.antlr.runtime.BitSet |
FOLLOW_STRING_LITERAL_in_elementOption879 |
static org.antlr.runtime.BitSet |
FOLLOW_STRING_LITERAL_in_range713 |
static org.antlr.runtime.BitSet |
FOLLOW_STRING_LITERAL_in_range717 |
static org.antlr.runtime.BitSet |
FOLLOW_STRING_LITERAL_in_terminal742 |
static org.antlr.runtime.BitSet |
FOLLOW_STRING_LITERAL_in_terminal757 |
static org.antlr.runtime.BitSet |
FOLLOW_subrule_in_element261 |
static org.antlr.runtime.BitSet |
FOLLOW_terminal_in_atom565 |
static org.antlr.runtime.BitSet |
FOLLOW_terminal_in_atom626 |
static org.antlr.runtime.BitSet |
FOLLOW_TOKEN_REF_in_terminal771 |
static org.antlr.runtime.BitSet |
FOLLOW_TOKEN_REF_in_terminal787 |
static org.antlr.runtime.BitSet |
FOLLOW_TOKEN_REF_in_terminal803 |
static org.antlr.runtime.BitSet |
FOLLOW_WILDCARD_in_atom588 |
static org.antlr.runtime.BitSet |
FOLLOW_WILDCARD_in_atom607 |
static int |
FRAGMENT |
static int |
GRAMMAR |
static int |
GT |
boolean |
hasLookaheadBlock |
static int |
HEX_DIGIT |
static int |
ID |
static int |
IMPORT |
static int |
INITACTION |
static int |
INT |
static int |
LABEL |
static int |
LEXER |
static int |
LEXER_ACTION_CALL |
static int |
LEXER_ALT_ACTION |
static int |
LEXER_CHAR_SET |
static int |
LIST |
static int |
LOCALS |
static int |
LPAREN |
static int |
LT |
static int |
MODE |
static int |
NameChar |
static int |
NameStartChar |
static int |
NESTED_ACTION |
static int |
NLCHARS |
static int |
NOT |
static int |
OPTIONAL |
static int |
OPTIONS |
static int |
OR |
static int |
PARSER |
static int |
PLUS |
static int |
PLUS_ASSIGN |
static int |
POSITIVE_CLOSURE |
static int |
POUND |
static int |
PREC_RULE |
static int |
PRIVATE |
static int |
PROTECTED |
static int |
PUBLIC |
static int |
QUESTION |
static int |
RANGE |
static int |
RARROW |
static int |
RBRACE |
static int |
RESULT |
static int |
RET |
static int |
RETURNS |
static int |
RPAREN |
static int |
RULE |
static int |
RULE_REF |
static int |
RULEACTIONS |
static int |
RULEMODIFIERS |
static int |
RULES |
static int |
SEMI |
static int |
SEMPRED |
static int |
SET |
static int |
SRC |
static int |
STAR |
static int |
STRING_LITERAL |
static int |
SYNPRED |
static int |
TEMPLATE |
static int |
THROWS |
static int |
TOKEN_REF |
static String[] |
tokenNames |
static int |
TOKENS_SPEC |
static int |
TREE_GRAMMAR |
static int |
UNICODE_ESC |
static int |
WILDCARD |
static int |
WS |
static int |
WSCHARS |
static int |
WSNLCHARS |
Constructor and Description |
---|
SourceGenTriggers(org.antlr.runtime.tree.TreeNodeStream input) |
SourceGenTriggers(org.antlr.runtime.tree.TreeNodeStream input,
OutputModelController controller) |
SourceGenTriggers(org.antlr.runtime.tree.TreeNodeStream input,
org.antlr.runtime.RecognizerSharedState state) |
Modifier and Type | Method and Description |
---|---|
SourceGenTriggers.alt_return |
alt(boolean outerMost) |
SourceGenTriggers.alternative_return |
alternative() |
List<SrcOp> |
atom(GrammarAST label,
boolean invert) |
List<? extends SrcOp> |
block(GrammarAST label,
GrammarAST ebnfRoot) |
List<SrcOp> |
blockSet(GrammarAST label,
boolean invert) |
void |
dummy() |
List<? extends SrcOp> |
element() |
void |
elementOption() |
void |
elementOptions() |
org.antlr.runtime.tree.TreeParser[] |
getDelegates() |
String |
getGrammarFileName() |
String[] |
getTokenNames() |
List<? extends SrcOp> |
labeledElement() |
List<SrcOp> |
range(GrammarAST label) |
List<SrcOp> |
ruleref(GrammarAST label) |
List<? extends SrcOp> |
subrule() |
List<SrcOp> |
terminal(GrammarAST label) |
getAncestor, getCurrentInputSymbol, getErrorHeader, getErrorMessage, getMissingSymbol, getSourceName, getTreeNodeStream, inContext, inContext, matchAny, recoverFromMismatchedToken, reset, setTreeNodeStream, traceIn, traceOut
alreadyParsedRule, beginResync, combineFollows, computeContextSensitiveRuleFOLLOW, computeErrorRecoverySet, consumeUntil, consumeUntil, displayRecognitionError, emitErrorMessage, endResync, failed, getBacktrackingLevel, getNumberOfSyntaxErrors, getRuleInvocationStack, getRuleInvocationStack, getRuleMemoization, getRuleMemoizationCacheSize, getTokenErrorDisplay, match, memoize, mismatchIsMissingToken, mismatchIsUnwantedToken, pushFollow, recover, recoverFromMismatchedSet, reportError, setBacktrackingLevel, toStrings, traceIn, traceOut
public static final String[] tokenNames
public static final int EOF
public static final int ACTION
public static final int ACTION_CHAR_LITERAL
public static final int ACTION_ESC
public static final int ACTION_STRING_LITERAL
public static final int ARG_ACTION
public static final int ARG_OR_CHARSET
public static final int ASSIGN
public static final int AT
public static final int CATCH
public static final int COLON
public static final int COLONCOLON
public static final int COMMA
public static final int COMMENT
public static final int DOC_COMMENT
public static final int DOLLAR
public static final int DOT
public static final int ERRCHAR
public static final int ESC_SEQ
public static final int FINALLY
public static final int FRAGMENT
public static final int GRAMMAR
public static final int GT
public static final int HEX_DIGIT
public static final int ID
public static final int IMPORT
public static final int INT
public static final int LEXER
public static final int LEXER_CHAR_SET
public static final int LOCALS
public static final int LPAREN
public static final int LT
public static final int MODE
public static final int NESTED_ACTION
public static final int NLCHARS
public static final int NOT
public static final int NameChar
public static final int NameStartChar
public static final int OPTIONS
public static final int OR
public static final int PARSER
public static final int PLUS
public static final int PLUS_ASSIGN
public static final int POUND
public static final int PRIVATE
public static final int PROTECTED
public static final int PUBLIC
public static final int QUESTION
public static final int RANGE
public static final int RARROW
public static final int RBRACE
public static final int RETURNS
public static final int RPAREN
public static final int RULE_REF
public static final int SEMI
public static final int SEMPRED
public static final int SRC
public static final int STAR
public static final int STRING_LITERAL
public static final int SYNPRED
public static final int THROWS
public static final int TOKENS_SPEC
public static final int TOKEN_REF
public static final int TREE_GRAMMAR
public static final int UNICODE_ESC
public static final int WS
public static final int WSCHARS
public static final int WSNLCHARS
public static final int ALT
public static final int ALTLIST
public static final int ARG
public static final int ARGLIST
public static final int BLOCK
public static final int CHAR_RANGE
public static final int CLOSURE
public static final int COMBINED
public static final int ELEMENT_OPTIONS
public static final int EPSILON
public static final int INITACTION
public static final int LABEL
public static final int LEXER_ACTION_CALL
public static final int LEXER_ALT_ACTION
public static final int LIST
public static final int OPTIONAL
public static final int POSITIVE_CLOSURE
public static final int PREC_RULE
public static final int RESULT
public static final int RET
public static final int RULE
public static final int RULEACTIONS
public static final int RULEMODIFIERS
public static final int RULES
public static final int SET
public static final int TEMPLATE
public static final int WILDCARD
public OutputModelController controller
public boolean hasLookaheadBlock
public static final org.antlr.runtime.BitSet FOLLOW_block_in_dummy61
public static final org.antlr.runtime.BitSet FOLLOW_BLOCK_in_block84
public static final org.antlr.runtime.BitSet FOLLOW_OPTIONS_in_block88
public static final org.antlr.runtime.BitSet FOLLOW_alternative_in_block109
public static final org.antlr.runtime.BitSet FOLLOW_alt_in_alternative161
public static final org.antlr.runtime.BitSet FOLLOW_ALT_in_alt191
public static final org.antlr.runtime.BitSet FOLLOW_element_in_alt195
public static final org.antlr.runtime.BitSet FOLLOW_ALT_in_alt209
public static final org.antlr.runtime.BitSet FOLLOW_EPSILON_in_alt211
public static final org.antlr.runtime.BitSet FOLLOW_labeledElement_in_element240
public static final org.antlr.runtime.BitSet FOLLOW_atom_in_element251
public static final org.antlr.runtime.BitSet FOLLOW_subrule_in_element261
public static final org.antlr.runtime.BitSet FOLLOW_ACTION_in_element276
public static final org.antlr.runtime.BitSet FOLLOW_SEMPRED_in_element291
public static final org.antlr.runtime.BitSet FOLLOW_ACTION_in_element305
public static final org.antlr.runtime.BitSet FOLLOW_elementOptions_in_element307
public static final org.antlr.runtime.BitSet FOLLOW_SEMPRED_in_element319
public static final org.antlr.runtime.BitSet FOLLOW_elementOptions_in_element321
public static final org.antlr.runtime.BitSet FOLLOW_ASSIGN_in_labeledElement341
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_labeledElement343
public static final org.antlr.runtime.BitSet FOLLOW_atom_in_labeledElement345
public static final org.antlr.runtime.BitSet FOLLOW_PLUS_ASSIGN_in_labeledElement358
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_labeledElement360
public static final org.antlr.runtime.BitSet FOLLOW_atom_in_labeledElement362
public static final org.antlr.runtime.BitSet FOLLOW_ASSIGN_in_labeledElement373
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_labeledElement375
public static final org.antlr.runtime.BitSet FOLLOW_block_in_labeledElement377
public static final org.antlr.runtime.BitSet FOLLOW_PLUS_ASSIGN_in_labeledElement390
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_labeledElement392
public static final org.antlr.runtime.BitSet FOLLOW_block_in_labeledElement394
public static final org.antlr.runtime.BitSet FOLLOW_OPTIONAL_in_subrule415
public static final org.antlr.runtime.BitSet FOLLOW_block_in_subrule419
public static final org.antlr.runtime.BitSet FOLLOW_CLOSURE_in_subrule435
public static final org.antlr.runtime.BitSet FOLLOW_block_in_subrule439
public static final org.antlr.runtime.BitSet FOLLOW_POSITIVE_CLOSURE_in_subrule450
public static final org.antlr.runtime.BitSet FOLLOW_block_in_subrule454
public static final org.antlr.runtime.BitSet FOLLOW_block_in_subrule470
public static final org.antlr.runtime.BitSet FOLLOW_SET_in_blockSet500
public static final org.antlr.runtime.BitSet FOLLOW_atom_in_blockSet502
public static final org.antlr.runtime.BitSet FOLLOW_NOT_in_atom532
public static final org.antlr.runtime.BitSet FOLLOW_atom_in_atom536
public static final org.antlr.runtime.BitSet FOLLOW_range_in_atom546
public static final org.antlr.runtime.BitSet FOLLOW_DOT_in_atom561
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_atom563
public static final org.antlr.runtime.BitSet FOLLOW_terminal_in_atom565
public static final org.antlr.runtime.BitSet FOLLOW_DOT_in_atom573
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_atom575
public static final org.antlr.runtime.BitSet FOLLOW_ruleref_in_atom577
public static final org.antlr.runtime.BitSet FOLLOW_WILDCARD_in_atom588
public static final org.antlr.runtime.BitSet FOLLOW_WILDCARD_in_atom607
public static final org.antlr.runtime.BitSet FOLLOW_terminal_in_atom626
public static final org.antlr.runtime.BitSet FOLLOW_ruleref_in_atom643
public static final org.antlr.runtime.BitSet FOLLOW_blockSet_in_atom655
public static final org.antlr.runtime.BitSet FOLLOW_RULE_REF_in_ruleref679
public static final org.antlr.runtime.BitSet FOLLOW_ARG_ACTION_in_ruleref681
public static final org.antlr.runtime.BitSet FOLLOW_RANGE_in_range709
public static final org.antlr.runtime.BitSet FOLLOW_STRING_LITERAL_in_range713
public static final org.antlr.runtime.BitSet FOLLOW_STRING_LITERAL_in_range717
public static final org.antlr.runtime.BitSet FOLLOW_STRING_LITERAL_in_terminal742
public static final org.antlr.runtime.BitSet FOLLOW_STRING_LITERAL_in_terminal757
public static final org.antlr.runtime.BitSet FOLLOW_TOKEN_REF_in_terminal771
public static final org.antlr.runtime.BitSet FOLLOW_ARG_ACTION_in_terminal773
public static final org.antlr.runtime.BitSet FOLLOW_TOKEN_REF_in_terminal787
public static final org.antlr.runtime.BitSet FOLLOW_TOKEN_REF_in_terminal803
public static final org.antlr.runtime.BitSet FOLLOW_ELEMENT_OPTIONS_in_elementOptions827
public static final org.antlr.runtime.BitSet FOLLOW_elementOption_in_elementOptions829
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_elementOption848
public static final org.antlr.runtime.BitSet FOLLOW_ASSIGN_in_elementOption859
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_elementOption861
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_elementOption863
public static final org.antlr.runtime.BitSet FOLLOW_ASSIGN_in_elementOption875
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_elementOption877
public static final org.antlr.runtime.BitSet FOLLOW_STRING_LITERAL_in_elementOption879
public static final org.antlr.runtime.BitSet FOLLOW_ASSIGN_in_elementOption891
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_elementOption893
public static final org.antlr.runtime.BitSet FOLLOW_ACTION_in_elementOption895
public static final org.antlr.runtime.BitSet FOLLOW_ASSIGN_in_elementOption907
public static final org.antlr.runtime.BitSet FOLLOW_ID_in_elementOption909
public static final org.antlr.runtime.BitSet FOLLOW_INT_in_elementOption911
public SourceGenTriggers(org.antlr.runtime.tree.TreeNodeStream input)
public SourceGenTriggers(org.antlr.runtime.tree.TreeNodeStream input, org.antlr.runtime.RecognizerSharedState state)
public SourceGenTriggers(org.antlr.runtime.tree.TreeNodeStream input, OutputModelController controller)
public org.antlr.runtime.tree.TreeParser[] getDelegates()
public String[] getTokenNames()
getTokenNames
in class org.antlr.runtime.BaseRecognizer
public String getGrammarFileName()
getGrammarFileName
in class org.antlr.runtime.BaseRecognizer
public final void dummy() throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final List<? extends SrcOp> block(GrammarAST label, GrammarAST ebnfRoot) throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final SourceGenTriggers.alternative_return alternative() throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final SourceGenTriggers.alt_return alt(boolean outerMost) throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final List<? extends SrcOp> element() throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final List<? extends SrcOp> labeledElement() throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final List<? extends SrcOp> subrule() throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final List<SrcOp> blockSet(GrammarAST label, boolean invert) throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final List<SrcOp> atom(GrammarAST label, boolean invert) throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final List<SrcOp> ruleref(GrammarAST label) throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final List<SrcOp> range(GrammarAST label) throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final List<SrcOp> terminal(GrammarAST label) throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final void elementOptions() throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
public final void elementOption() throws org.antlr.runtime.RecognitionException
org.antlr.runtime.RecognitionException
Copyright © 1992-2013 ANTLR. All Rights Reserved.