forked from JavaTX/JavaCompilerCore
Merge branch 'refactoring' of ssh://gohorb.ba-horb.de/bahome/projekt/git/JavaCompilerCore into refactoring
This commit is contained in:
commit
e9b7fdc139
@ -6,5 +6,6 @@
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="lib/log4j-1.2.12.jar"/>
|
||||
<classpathentry kind="lib" path="lib/junit-4.0.jar"/>
|
||||
<classpathentry kind="lib" path="lib/antlr-4.4-complete.jar"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
1028
antlr/Java8.g4
Normal file
1028
antlr/Java8.g4
Normal file
File diff suppressed because it is too large
Load Diff
201
antlr/Java8.tokens
Normal file
201
antlr/Java8.tokens
Normal file
@ -0,0 +1,201 @@
|
||||
THROW=44
|
||||
STATIC=38
|
||||
INTERFACE=28
|
||||
AND_ASSIGN=93
|
||||
BREAK=4
|
||||
BYTE=5
|
||||
ELSE=15
|
||||
IF=22
|
||||
ENUM=16
|
||||
SUB=82
|
||||
BANG=69
|
||||
LPAREN=57
|
||||
DOT=65
|
||||
CASE=6
|
||||
AT=101
|
||||
LINE_COMMENT=105
|
||||
StringLiteral=55
|
||||
ELLIPSIS=102
|
||||
LBRACK=61
|
||||
PUBLIC=35
|
||||
THROWS=45
|
||||
NullLiteral=56
|
||||
RSHIFT_ASSIGN=98
|
||||
LBRACE=59
|
||||
GOTO=23
|
||||
SUB_ASSIGN=90
|
||||
SEMI=63
|
||||
CHAR=8
|
||||
ASSIGN=66
|
||||
COMMENT=104
|
||||
IMPORT=25
|
||||
BITOR=86
|
||||
CATCH=7
|
||||
MUL_ASSIGN=91
|
||||
DOUBLE=14
|
||||
PROTECTED=34
|
||||
LONG=29
|
||||
COMMA=64
|
||||
BITAND=85
|
||||
PRIVATE=33
|
||||
CONTINUE=11
|
||||
DIV=84
|
||||
FloatingPointLiteral=52
|
||||
LE=74
|
||||
CharacterLiteral=54
|
||||
VOLATILE=49
|
||||
EXTENDS=17
|
||||
INSTANCEOF=26
|
||||
NEW=31
|
||||
ADD=81
|
||||
LT=68
|
||||
CLASS=9
|
||||
DO=13
|
||||
FINALLY=19
|
||||
Identifier=100
|
||||
CONST=10
|
||||
PACKAGE=32
|
||||
OR_ASSIGN=94
|
||||
TRY=47
|
||||
IntegerLiteral=51
|
||||
SYNCHRONIZED=42
|
||||
MUL=83
|
||||
FOR=21
|
||||
FINAL=18
|
||||
RPAREN=58
|
||||
CARET=87
|
||||
URSHIFT_ASSIGN=99
|
||||
BOOLEAN=3
|
||||
NOTEQUAL=76
|
||||
RBRACK=62
|
||||
RBRACE=60
|
||||
AND=77
|
||||
THIS=43
|
||||
SWITCH=41
|
||||
VOID=48
|
||||
TRANSIENT=46
|
||||
INC=79
|
||||
FLOAT=20
|
||||
NATIVE=30
|
||||
DIV_ASSIGN=92
|
||||
BooleanLiteral=53
|
||||
ABSTRACT=1
|
||||
STRICTFP=39
|
||||
INT=27
|
||||
QUESTION=71
|
||||
RETURN=36
|
||||
LSHIFT_ASSIGN=97
|
||||
ADD_ASSIGN=89
|
||||
WS=103
|
||||
GE=75
|
||||
SUPER=40
|
||||
OR=78
|
||||
DEC=80
|
||||
MOD=88
|
||||
XOR_ASSIGN=95
|
||||
ASSERT=2
|
||||
EQUAL=73
|
||||
IMPLEMENTS=24
|
||||
COLON=72
|
||||
GT=67
|
||||
SHORT=37
|
||||
MOD_ASSIGN=96
|
||||
WHILE=50
|
||||
TILDE=70
|
||||
DEFAULT=12
|
||||
'import'=25
|
||||
'-'=82
|
||||
')'=58
|
||||
'super'=40
|
||||
'else'=15
|
||||
'%'=88
|
||||
'!'=69
|
||||
'>'=67
|
||||
'public'=35
|
||||
'=='=73
|
||||
'--'=80
|
||||
'|'=86
|
||||
'['=61
|
||||
':'=72
|
||||
'...'=102
|
||||
'throw'=44
|
||||
'case'=6
|
||||
'.'=65
|
||||
'this'=43
|
||||
'*'=83
|
||||
'switch'=41
|
||||
'synchronized'=42
|
||||
'&'=85
|
||||
'double'=14
|
||||
'break'=4
|
||||
'short'=37
|
||||
'<='=74
|
||||
'enum'=16
|
||||
'try'=47
|
||||
'?'=71
|
||||
'if'=22
|
||||
'extends'=17
|
||||
'goto'=23
|
||||
'}'=60
|
||||
'instanceof'=26
|
||||
';'=63
|
||||
'||'=78
|
||||
'>>='=98
|
||||
'class'=9
|
||||
'return'=36
|
||||
'&='=93
|
||||
'catch'=7
|
||||
'native'=30
|
||||
'continue'=11
|
||||
'strictfp'=39
|
||||
'/'=84
|
||||
'*='=91
|
||||
'+'=81
|
||||
'final'=18
|
||||
'protected'=34
|
||||
'static'=38
|
||||
'@'=101
|
||||
'transient'=46
|
||||
'~'=70
|
||||
'assert'=2
|
||||
']'=62
|
||||
'<'=68
|
||||
'++'=79
|
||||
'>>>='=99
|
||||
'>='=75
|
||||
'long'=29
|
||||
'boolean'=3
|
||||
'const'=10
|
||||
'abstract'=1
|
||||
'implements'=24
|
||||
'volatile'=49
|
||||
'throws'=45
|
||||
'/='=92
|
||||
','=64
|
||||
'-='=90
|
||||
'do'=13
|
||||
'package'=32
|
||||
'('=57
|
||||
'null'=56
|
||||
'int'=27
|
||||
'|='=94
|
||||
'for'=21
|
||||
'^'=87
|
||||
'<<='=97
|
||||
'='=66
|
||||
'byte'=5
|
||||
'&&'=77
|
||||
'^='=95
|
||||
'void'=48
|
||||
'while'=50
|
||||
'{'=59
|
||||
'float'=20
|
||||
'!='=76
|
||||
'new'=31
|
||||
'char'=8
|
||||
'finally'=19
|
||||
'interface'=28
|
||||
'%='=96
|
||||
'private'=33
|
||||
'+='=89
|
||||
'default'=12
|
1251
antlr/Java8BaseListener.java
Normal file
1251
antlr/Java8BaseListener.java
Normal file
File diff suppressed because it is too large
Load Diff
515
antlr/Java8Lexer.java
Normal file
515
antlr/Java8Lexer.java
Normal file
@ -0,0 +1,515 @@
|
||||
// Generated from Java8.g4 by ANTLR 4.4
|
||||
import org.antlr.v4.runtime.Lexer;
|
||||
import org.antlr.v4.runtime.CharStream;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
import org.antlr.v4.runtime.TokenStream;
|
||||
import org.antlr.v4.runtime.*;
|
||||
import org.antlr.v4.runtime.atn.*;
|
||||
import org.antlr.v4.runtime.dfa.DFA;
|
||||
import org.antlr.v4.runtime.misc.*;
|
||||
|
||||
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
|
||||
public class Java8Lexer extends Lexer {
|
||||
static { RuntimeMetaData.checkVersion("4.4", RuntimeMetaData.VERSION); }
|
||||
|
||||
protected static final DFA[] _decisionToDFA;
|
||||
protected static final PredictionContextCache _sharedContextCache =
|
||||
new PredictionContextCache();
|
||||
public static final int
|
||||
ABSTRACT=1, ASSERT=2, BOOLEAN=3, BREAK=4, BYTE=5, CASE=6, CATCH=7, CHAR=8,
|
||||
CLASS=9, CONST=10, CONTINUE=11, DEFAULT=12, DO=13, DOUBLE=14, ELSE=15,
|
||||
ENUM=16, EXTENDS=17, FINAL=18, FINALLY=19, FLOAT=20, FOR=21, IF=22, GOTO=23,
|
||||
IMPLEMENTS=24, IMPORT=25, INSTANCEOF=26, INT=27, INTERFACE=28, LONG=29,
|
||||
NATIVE=30, NEW=31, PACKAGE=32, PRIVATE=33, PROTECTED=34, PUBLIC=35, RETURN=36,
|
||||
SHORT=37, STATIC=38, STRICTFP=39, SUPER=40, SWITCH=41, SYNCHRONIZED=42,
|
||||
THIS=43, THROW=44, THROWS=45, TRANSIENT=46, TRY=47, VOID=48, VOLATILE=49,
|
||||
WHILE=50, IntegerLiteral=51, FloatingPointLiteral=52, BooleanLiteral=53,
|
||||
CharacterLiteral=54, StringLiteral=55, NullLiteral=56, LPAREN=57, RPAREN=58,
|
||||
LBRACE=59, RBRACE=60, LBRACK=61, RBRACK=62, SEMI=63, COMMA=64, DOT=65,
|
||||
ASSIGN=66, GT=67, LT=68, BANG=69, TILDE=70, QUESTION=71, COLON=72, EQUAL=73,
|
||||
LE=74, GE=75, NOTEQUAL=76, AND=77, OR=78, INC=79, DEC=80, ADD=81, SUB=82,
|
||||
MUL=83, DIV=84, BITAND=85, BITOR=86, CARET=87, MOD=88, ADD_ASSIGN=89,
|
||||
SUB_ASSIGN=90, MUL_ASSIGN=91, DIV_ASSIGN=92, AND_ASSIGN=93, OR_ASSIGN=94,
|
||||
XOR_ASSIGN=95, MOD_ASSIGN=96, LSHIFT_ASSIGN=97, RSHIFT_ASSIGN=98, URSHIFT_ASSIGN=99,
|
||||
Identifier=100, AT=101, ELLIPSIS=102, WS=103, COMMENT=104, LINE_COMMENT=105;
|
||||
public static String[] modeNames = {
|
||||
"DEFAULT_MODE"
|
||||
};
|
||||
|
||||
public static final String[] tokenNames = {
|
||||
"'\\u0000'", "'\\u0001'", "'\\u0002'", "'\\u0003'", "'\\u0004'", "'\\u0005'",
|
||||
"'\\u0006'", "'\\u0007'", "'\b'", "'\t'", "'\n'", "'\\u000B'", "'\f'",
|
||||
"'\r'", "'\\u000E'", "'\\u000F'", "'\\u0010'", "'\\u0011'", "'\\u0012'",
|
||||
"'\\u0013'", "'\\u0014'", "'\\u0015'", "'\\u0016'", "'\\u0017'", "'\\u0018'",
|
||||
"'\\u0019'", "'\\u001A'", "'\\u001B'", "'\\u001C'", "'\\u001D'", "'\\u001E'",
|
||||
"'\\u001F'", "' '", "'!'", "'\"'", "'#'", "'$'", "'%'", "'&'", "'''",
|
||||
"'('", "')'", "'*'", "'+'", "','", "'-'", "'.'", "'/'", "'0'", "'1'",
|
||||
"'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'", "':'", "';'",
|
||||
"'<'", "'='", "'>'", "'?'", "'@'", "'A'", "'B'", "'C'", "'D'", "'E'",
|
||||
"'F'", "'G'", "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'",
|
||||
"'P'", "'Q'", "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'",
|
||||
"'Z'", "'['", "'\\'", "']'", "'^'", "'_'", "'`'", "'a'", "'b'", "'c'",
|
||||
"'d'", "'e'", "'f'", "'g'", "'h'", "'i'"
|
||||
};
|
||||
public static final String[] ruleNames = {
|
||||
"ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", "CHAR",
|
||||
"CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", "ENUM",
|
||||
"EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS",
|
||||
"IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE",
|
||||
"PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP",
|
||||
"SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT",
|
||||
"TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "DecimalIntegerLiteral",
|
||||
"HexIntegerLiteral", "OctalIntegerLiteral", "BinaryIntegerLiteral", "IntegerTypeSuffix",
|
||||
"DecimalNumeral", "Digits", "Digit", "NonZeroDigit", "DigitOrUnderscore",
|
||||
"Underscores", "HexNumeral", "HexDigits", "HexDigit", "HexDigitOrUnderscore",
|
||||
"OctalNumeral", "OctalDigits", "OctalDigit", "OctalDigitOrUnderscore",
|
||||
"BinaryNumeral", "BinaryDigits", "BinaryDigit", "BinaryDigitOrUnderscore",
|
||||
"FloatingPointLiteral", "DecimalFloatingPointLiteral", "ExponentPart",
|
||||
"ExponentIndicator", "SignedInteger", "Sign", "FloatTypeSuffix", "HexadecimalFloatingPointLiteral",
|
||||
"HexSignificand", "BinaryExponent", "BinaryExponentIndicator", "BooleanLiteral",
|
||||
"CharacterLiteral", "SingleCharacter", "StringLiteral", "StringCharacters",
|
||||
"StringCharacter", "EscapeSequence", "OctalEscape", "UnicodeEscape", "ZeroToThree",
|
||||
"NullLiteral", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK",
|
||||
"SEMI", "COMMA", "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION",
|
||||
"COLON", "EQUAL", "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD",
|
||||
"SUB", "MUL", "DIV", "BITAND", "BITOR", "CARET", "MOD", "ADD_ASSIGN",
|
||||
"SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", "OR_ASSIGN", "XOR_ASSIGN",
|
||||
"MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", "URSHIFT_ASSIGN", "Identifier",
|
||||
"JavaLetter", "JavaLetterOrDigit", "AT", "ELLIPSIS", "WS", "COMMENT",
|
||||
"LINE_COMMENT"
|
||||
};
|
||||
|
||||
|
||||
public Java8Lexer(CharStream input) {
|
||||
super(input);
|
||||
_interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGrammarFileName() { return "Java8.g4"; }
|
||||
|
||||
@Override
|
||||
public String[] getTokenNames() { return tokenNames; }
|
||||
|
||||
@Override
|
||||
public String[] getRuleNames() { return ruleNames; }
|
||||
|
||||
@Override
|
||||
public String getSerializedATN() { return _serializedATN; }
|
||||
|
||||
@Override
|
||||
public String[] getModeNames() { return modeNames; }
|
||||
|
||||
@Override
|
||||
public ATN getATN() { return _ATN; }
|
||||
|
||||
@Override
|
||||
public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
|
||||
switch (ruleIndex) {
|
||||
case 140: return JavaLetter_sempred((RuleContext)_localctx, predIndex);
|
||||
case 141: return JavaLetterOrDigit_sempred((RuleContext)_localctx, predIndex);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
private boolean JavaLetterOrDigit_sempred(RuleContext _localctx, int predIndex) {
|
||||
switch (predIndex) {
|
||||
case 2: return Character.isJavaIdentifierPart(_input.LA(-1));
|
||||
case 3: return Character.isJavaIdentifierPart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
private boolean JavaLetter_sempred(RuleContext _localctx, int predIndex) {
|
||||
switch (predIndex) {
|
||||
case 0: return Character.isJavaIdentifierStart(_input.LA(-1));
|
||||
case 1: return Character.isJavaIdentifierStart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static final String _serializedATN =
|
||||
"\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2k\u042e\b\1\4\2\t"+
|
||||
"\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+
|
||||
"\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
|
||||
"\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+
|
||||
"\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+
|
||||
"\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+
|
||||
",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+
|
||||
"\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+
|
||||
"\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+
|
||||
"\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+
|
||||
"\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+
|
||||
"`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+
|
||||
"k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4"+
|
||||
"w\tw\4x\tx\4y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080"+
|
||||
"\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084\t\u0084\4\u0085"+
|
||||
"\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089"+
|
||||
"\4\u008a\t\u008a\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e"+
|
||||
"\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092\t\u0092"+
|
||||
"\4\u0093\t\u0093\4\u0094\t\u0094\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+
|
||||
"\3\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3\5"+
|
||||
"\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3"+
|
||||
"\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13"+
|
||||
"\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r"+
|
||||
"\3\r\3\r\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3"+
|
||||
"\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3\22\3\22\3\22\3"+
|
||||
"\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\24\3\24\3"+
|
||||
"\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\26\3\26\3\26\3\26\3\27\3\27\3"+
|
||||
"\27\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3"+
|
||||
"\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\33\3\33\3\33\3\33\3"+
|
||||
"\33\3\33\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34\3\35\3\35\3\35\3"+
|
||||
"\35\3\35\3\35\3\35\3\35\3\35\3\35\3\36\3\36\3\36\3\36\3\36\3\37\3\37\3"+
|
||||
"\37\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3!\3!\3!\3!\3!\3!\3!\3!\3\"\3\"\3"+
|
||||
"\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3$\3$\3$\3$\3$\3"+
|
||||
"$\3$\3%\3%\3%\3%\3%\3%\3%\3&\3&\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3"+
|
||||
"\'\3(\3(\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3*\3*\3*\3*\3*\3*\3*\3"+
|
||||
"+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3,\3,\3,\3,\3,\3-\3-\3-\3-\3-\3"+
|
||||
"-\3.\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3/\3/\3/\3\60\3\60\3\60\3"+
|
||||
"\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\62\3\62\3\62\3"+
|
||||
"\62\3\63\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3\64\3\64\5\64\u0281\n\64"+
|
||||
"\3\65\3\65\5\65\u0285\n\65\3\66\3\66\5\66\u0289\n\66\3\67\3\67\5\67\u028d"+
|
||||
"\n\67\38\38\58\u0291\n8\39\39\3:\3:\3:\5:\u0298\n:\3:\3:\3:\5:\u029d\n"+
|
||||
":\5:\u029f\n:\3;\3;\7;\u02a3\n;\f;\16;\u02a6\13;\3;\5;\u02a9\n;\3<\3<"+
|
||||
"\5<\u02ad\n<\3=\3=\3>\3>\5>\u02b3\n>\3?\6?\u02b6\n?\r?\16?\u02b7\3@\3"+
|
||||
"@\3@\3@\3A\3A\7A\u02c0\nA\fA\16A\u02c3\13A\3A\5A\u02c6\nA\3B\3B\3C\3C"+
|
||||
"\5C\u02cc\nC\3D\3D\5D\u02d0\nD\3D\3D\3E\3E\7E\u02d6\nE\fE\16E\u02d9\13"+
|
||||
"E\3E\5E\u02dc\nE\3F\3F\3G\3G\5G\u02e2\nG\3H\3H\3H\3H\3I\3I\7I\u02ea\n"+
|
||||
"I\fI\16I\u02ed\13I\3I\5I\u02f0\nI\3J\3J\3K\3K\5K\u02f6\nK\3L\3L\5L\u02fa"+
|
||||
"\nL\3M\3M\3M\5M\u02ff\nM\3M\5M\u0302\nM\3M\5M\u0305\nM\3M\3M\3M\5M\u030a"+
|
||||
"\nM\3M\5M\u030d\nM\3M\3M\3M\5M\u0312\nM\3M\3M\3M\5M\u0317\nM\3N\3N\3N"+
|
||||
"\3O\3O\3P\5P\u031f\nP\3P\3P\3Q\3Q\3R\3R\3S\3S\3S\5S\u032a\nS\3T\3T\5T"+
|
||||
"\u032e\nT\3T\3T\3T\5T\u0333\nT\3T\3T\5T\u0337\nT\3U\3U\3U\3V\3V\3W\3W"+
|
||||
"\3W\3W\3W\3W\3W\3W\3W\5W\u0347\nW\3X\3X\3X\3X\3X\3X\3X\3X\5X\u0351\nX"+
|
||||
"\3Y\3Y\3Z\3Z\5Z\u0357\nZ\3Z\3Z\3[\6[\u035c\n[\r[\16[\u035d\3\\\3\\\5\\"+
|
||||
"\u0362\n\\\3]\3]\3]\3]\5]\u0368\n]\3^\3^\3^\3^\3^\3^\3^\3^\3^\3^\3^\5"+
|
||||
"^\u0375\n^\3_\3_\3_\3_\3_\3_\3_\3`\3`\3a\3a\3a\3a\3a\3b\3b\3c\3c\3d\3"+
|
||||
"d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\3j\3k\3k\3l\3l\3m\3m\3n\3n\3o\3o\3"+
|
||||
"p\3p\3q\3q\3r\3r\3r\3s\3s\3s\3t\3t\3t\3u\3u\3u\3v\3v\3v\3w\3w\3w\3x\3"+
|
||||
"x\3x\3y\3y\3y\3z\3z\3{\3{\3|\3|\3}\3}\3~\3~\3\177\3\177\3\u0080\3\u0080"+
|
||||
"\3\u0081\3\u0081\3\u0082\3\u0082\3\u0082\3\u0083\3\u0083\3\u0083\3\u0084"+
|
||||
"\3\u0084\3\u0084\3\u0085\3\u0085\3\u0085\3\u0086\3\u0086\3\u0086\3\u0087"+
|
||||
"\3\u0087\3\u0087\3\u0088\3\u0088\3\u0088\3\u0089\3\u0089\3\u0089\3\u008a"+
|
||||
"\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b\3\u008b\3\u008c\3\u008c"+
|
||||
"\3\u008c\3\u008c\3\u008c\3\u008d\3\u008d\7\u008d\u03f4\n\u008d\f\u008d"+
|
||||
"\16\u008d\u03f7\13\u008d\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e"+
|
||||
"\5\u008e\u03ff\n\u008e\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f"+
|
||||
"\5\u008f\u0407\n\u008f\3\u0090\3\u0090\3\u0091\3\u0091\3\u0091\3\u0091"+
|
||||
"\3\u0092\6\u0092\u0410\n\u0092\r\u0092\16\u0092\u0411\3\u0092\3\u0092"+
|
||||
"\3\u0093\3\u0093\3\u0093\3\u0093\7\u0093\u041a\n\u0093\f\u0093\16\u0093"+
|
||||
"\u041d\13\u0093\3\u0093\3\u0093\3\u0093\3\u0093\3\u0093\3\u0094\3\u0094"+
|
||||
"\3\u0094\3\u0094\7\u0094\u0428\n\u0094\f\u0094\16\u0094\u042b\13\u0094"+
|
||||
"\3\u0094\3\u0094\3\u041b\2\u0095\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23"+
|
||||
"\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31"+
|
||||
"\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60"+
|
||||
"_\61a\62c\63e\64g\65i\2k\2m\2o\2q\2s\2u\2w\2y\2{\2}\2\177\2\u0081\2\u0083"+
|
||||
"\2\u0085\2\u0087\2\u0089\2\u008b\2\u008d\2\u008f\2\u0091\2\u0093\2\u0095"+
|
||||
"\2\u0097\66\u0099\2\u009b\2\u009d\2\u009f\2\u00a1\2\u00a3\2\u00a5\2\u00a7"+
|
||||
"\2\u00a9\2\u00ab\2\u00ad\67\u00af8\u00b1\2\u00b39\u00b5\2\u00b7\2\u00b9"+
|
||||
"\2\u00bb\2\u00bd\2\u00bf\2\u00c1:\u00c3;\u00c5<\u00c7=\u00c9>\u00cb?\u00cd"+
|
||||
"@\u00cfA\u00d1B\u00d3C\u00d5D\u00d7E\u00d9F\u00dbG\u00ddH\u00dfI\u00e1"+
|
||||
"J\u00e3K\u00e5L\u00e7M\u00e9N\u00ebO\u00edP\u00efQ\u00f1R\u00f3S\u00f5"+
|
||||
"T\u00f7U\u00f9V\u00fbW\u00fdX\u00ffY\u0101Z\u0103[\u0105\\\u0107]\u0109"+
|
||||
"^\u010b_\u010d`\u010fa\u0111b\u0113c\u0115d\u0117e\u0119f\u011b\2\u011d"+
|
||||
"\2\u011fg\u0121h\u0123i\u0125j\u0127k\3\2\30\4\2NNnn\3\2\63;\4\2ZZzz\5"+
|
||||
"\2\62;CHch\3\2\629\4\2DDdd\3\2\62\63\4\2GGgg\4\2--//\6\2FFHHffhh\4\2R"+
|
||||
"Rrr\4\2))^^\4\2$$^^\n\2$$))^^ddhhppttvv\3\2\62\65\6\2&&C\\aac|\4\2\2\u0101"+
|
||||
"\ud802\udc01\3\2\ud802\udc01\3\2\udc02\ue001\7\2&&\62;C\\aac|\5\2\13\f"+
|
||||
"\16\17\"\"\4\2\f\f\17\17\u043c\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t"+
|
||||
"\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2"+
|
||||
"\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2"+
|
||||
"\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2"+
|
||||
"+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2"+
|
||||
"\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2"+
|
||||
"C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3"+
|
||||
"\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2"+
|
||||
"\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2"+
|
||||
"\u0097\3\2\2\2\2\u00ad\3\2\2\2\2\u00af\3\2\2\2\2\u00b3\3\2\2\2\2\u00c1"+
|
||||
"\3\2\2\2\2\u00c3\3\2\2\2\2\u00c5\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2"+
|
||||
"\2\2\u00cb\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3"+
|
||||
"\3\2\2\2\2\u00d5\3\2\2\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2"+
|
||||
"\2\2\u00dd\3\2\2\2\2\u00df\3\2\2\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2\2\2\u00e5"+
|
||||
"\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb\3\2\2\2\2\u00ed\3\2\2"+
|
||||
"\2\2\u00ef\3\2\2\2\2\u00f1\3\2\2\2\2\u00f3\3\2\2\2\2\u00f5\3\2\2\2\2\u00f7"+
|
||||
"\3\2\2\2\2\u00f9\3\2\2\2\2\u00fb\3\2\2\2\2\u00fd\3\2\2\2\2\u00ff\3\2\2"+
|
||||
"\2\2\u0101\3\2\2\2\2\u0103\3\2\2\2\2\u0105\3\2\2\2\2\u0107\3\2\2\2\2\u0109"+
|
||||
"\3\2\2\2\2\u010b\3\2\2\2\2\u010d\3\2\2\2\2\u010f\3\2\2\2\2\u0111\3\2\2"+
|
||||
"\2\2\u0113\3\2\2\2\2\u0115\3\2\2\2\2\u0117\3\2\2\2\2\u0119\3\2\2\2\2\u011f"+
|
||||
"\3\2\2\2\2\u0121\3\2\2\2\2\u0123\3\2\2\2\2\u0125\3\2\2\2\2\u0127\3\2\2"+
|
||||
"\2\3\u0129\3\2\2\2\5\u0132\3\2\2\2\7\u0139\3\2\2\2\t\u0141\3\2\2\2\13"+
|
||||
"\u0147\3\2\2\2\r\u014c\3\2\2\2\17\u0151\3\2\2\2\21\u0157\3\2\2\2\23\u015c"+
|
||||
"\3\2\2\2\25\u0162\3\2\2\2\27\u0168\3\2\2\2\31\u0171\3\2\2\2\33\u0179\3"+
|
||||
"\2\2\2\35\u017c\3\2\2\2\37\u0183\3\2\2\2!\u0188\3\2\2\2#\u018d\3\2\2\2"+
|
||||
"%\u0195\3\2\2\2\'\u019b\3\2\2\2)\u01a3\3\2\2\2+\u01a9\3\2\2\2-\u01ad\3"+
|
||||
"\2\2\2/\u01b0\3\2\2\2\61\u01b5\3\2\2\2\63\u01c0\3\2\2\2\65\u01c7\3\2\2"+
|
||||
"\2\67\u01d2\3\2\2\29\u01d6\3\2\2\2;\u01e0\3\2\2\2=\u01e5\3\2\2\2?\u01ec"+
|
||||
"\3\2\2\2A\u01f0\3\2\2\2C\u01f8\3\2\2\2E\u0200\3\2\2\2G\u020a\3\2\2\2I"+
|
||||
"\u0211\3\2\2\2K\u0218\3\2\2\2M\u021e\3\2\2\2O\u0225\3\2\2\2Q\u022e\3\2"+
|
||||
"\2\2S\u0234\3\2\2\2U\u023b\3\2\2\2W\u0248\3\2\2\2Y\u024d\3\2\2\2[\u0253"+
|
||||
"\3\2\2\2]\u025a\3\2\2\2_\u0264\3\2\2\2a\u0268\3\2\2\2c\u026d\3\2\2\2e"+
|
||||
"\u0276\3\2\2\2g\u0280\3\2\2\2i\u0282\3\2\2\2k\u0286\3\2\2\2m\u028a\3\2"+
|
||||
"\2\2o\u028e\3\2\2\2q\u0292\3\2\2\2s\u029e\3\2\2\2u\u02a0\3\2\2\2w\u02ac"+
|
||||
"\3\2\2\2y\u02ae\3\2\2\2{\u02b2\3\2\2\2}\u02b5\3\2\2\2\177\u02b9\3\2\2"+
|
||||
"\2\u0081\u02bd\3\2\2\2\u0083\u02c7\3\2\2\2\u0085\u02cb\3\2\2\2\u0087\u02cd"+
|
||||
"\3\2\2\2\u0089\u02d3\3\2\2\2\u008b\u02dd\3\2\2\2\u008d\u02e1\3\2\2\2\u008f"+
|
||||
"\u02e3\3\2\2\2\u0091\u02e7\3\2\2\2\u0093\u02f1\3\2\2\2\u0095\u02f5\3\2"+
|
||||
"\2\2\u0097\u02f9\3\2\2\2\u0099\u0316\3\2\2\2\u009b\u0318\3\2\2\2\u009d"+
|
||||
"\u031b\3\2\2\2\u009f\u031e\3\2\2\2\u00a1\u0322\3\2\2\2\u00a3\u0324\3\2"+
|
||||
"\2\2\u00a5\u0326\3\2\2\2\u00a7\u0336\3\2\2\2\u00a9\u0338\3\2\2\2\u00ab"+
|
||||
"\u033b\3\2\2\2\u00ad\u0346\3\2\2\2\u00af\u0350\3\2\2\2\u00b1\u0352\3\2"+
|
||||
"\2\2\u00b3\u0354\3\2\2\2\u00b5\u035b\3\2\2\2\u00b7\u0361\3\2\2\2\u00b9"+
|
||||
"\u0367\3\2\2\2\u00bb\u0374\3\2\2\2\u00bd\u0376\3\2\2\2\u00bf\u037d\3\2"+
|
||||
"\2\2\u00c1\u037f\3\2\2\2\u00c3\u0384\3\2\2\2\u00c5\u0386\3\2\2\2\u00c7"+
|
||||
"\u0388\3\2\2\2\u00c9\u038a\3\2\2\2\u00cb\u038c\3\2\2\2\u00cd\u038e\3\2"+
|
||||
"\2\2\u00cf\u0390\3\2\2\2\u00d1\u0392\3\2\2\2\u00d3\u0394\3\2\2\2\u00d5"+
|
||||
"\u0396\3\2\2\2\u00d7\u0398\3\2\2\2\u00d9\u039a\3\2\2\2\u00db\u039c\3\2"+
|
||||
"\2\2\u00dd\u039e\3\2\2\2\u00df\u03a0\3\2\2\2\u00e1\u03a2\3\2\2\2\u00e3"+
|
||||
"\u03a4\3\2\2\2\u00e5\u03a7\3\2\2\2\u00e7\u03aa\3\2\2\2\u00e9\u03ad\3\2"+
|
||||
"\2\2\u00eb\u03b0\3\2\2\2\u00ed\u03b3\3\2\2\2\u00ef\u03b6\3\2\2\2\u00f1"+
|
||||
"\u03b9\3\2\2\2\u00f3\u03bc\3\2\2\2\u00f5\u03be\3\2\2\2\u00f7\u03c0\3\2"+
|
||||
"\2\2\u00f9\u03c2\3\2\2\2\u00fb\u03c4\3\2\2\2\u00fd\u03c6\3\2\2\2\u00ff"+
|
||||
"\u03c8\3\2\2\2\u0101\u03ca\3\2\2\2\u0103\u03cc\3\2\2\2\u0105\u03cf\3\2"+
|
||||
"\2\2\u0107\u03d2\3\2\2\2\u0109\u03d5\3\2\2\2\u010b\u03d8\3\2\2\2\u010d"+
|
||||
"\u03db\3\2\2\2\u010f\u03de\3\2\2\2\u0111\u03e1\3\2\2\2\u0113\u03e4\3\2"+
|
||||
"\2\2\u0115\u03e8\3\2\2\2\u0117\u03ec\3\2\2\2\u0119\u03f1\3\2\2\2\u011b"+
|
||||
"\u03fe\3\2\2\2\u011d\u0406\3\2\2\2\u011f\u0408\3\2\2\2\u0121\u040a\3\2"+
|
||||
"\2\2\u0123\u040f\3\2\2\2\u0125\u0415\3\2\2\2\u0127\u0423\3\2\2\2\u0129"+
|
||||
"\u012a\7c\2\2\u012a\u012b\7d\2\2\u012b\u012c\7u\2\2\u012c\u012d\7v\2\2"+
|
||||
"\u012d\u012e\7t\2\2\u012e\u012f\7c\2\2\u012f\u0130\7e\2\2\u0130\u0131"+
|
||||
"\7v\2\2\u0131\4\3\2\2\2\u0132\u0133\7c\2\2\u0133\u0134\7u\2\2\u0134\u0135"+
|
||||
"\7u\2\2\u0135\u0136\7g\2\2\u0136\u0137\7t\2\2\u0137\u0138\7v\2\2\u0138"+
|
||||
"\6\3\2\2\2\u0139\u013a\7d\2\2\u013a\u013b\7q\2\2\u013b\u013c\7q\2\2\u013c"+
|
||||
"\u013d\7n\2\2\u013d\u013e\7g\2\2\u013e\u013f\7c\2\2\u013f\u0140\7p\2\2"+
|
||||
"\u0140\b\3\2\2\2\u0141\u0142\7d\2\2\u0142\u0143\7t\2\2\u0143\u0144\7g"+
|
||||
"\2\2\u0144\u0145\7c\2\2\u0145\u0146\7m\2\2\u0146\n\3\2\2\2\u0147\u0148"+
|
||||
"\7d\2\2\u0148\u0149\7{\2\2\u0149\u014a\7v\2\2\u014a\u014b\7g\2\2\u014b"+
|
||||
"\f\3\2\2\2\u014c\u014d\7e\2\2\u014d\u014e\7c\2\2\u014e\u014f\7u\2\2\u014f"+
|
||||
"\u0150\7g\2\2\u0150\16\3\2\2\2\u0151\u0152\7e\2\2\u0152\u0153\7c\2\2\u0153"+
|
||||
"\u0154\7v\2\2\u0154\u0155\7e\2\2\u0155\u0156\7j\2\2\u0156\20\3\2\2\2\u0157"+
|
||||
"\u0158\7e\2\2\u0158\u0159\7j\2\2\u0159\u015a\7c\2\2\u015a\u015b\7t\2\2"+
|
||||
"\u015b\22\3\2\2\2\u015c\u015d\7e\2\2\u015d\u015e\7n\2\2\u015e\u015f\7"+
|
||||
"c\2\2\u015f\u0160\7u\2\2\u0160\u0161\7u\2\2\u0161\24\3\2\2\2\u0162\u0163"+
|
||||
"\7e\2\2\u0163\u0164\7q\2\2\u0164\u0165\7p\2\2\u0165\u0166\7u\2\2\u0166"+
|
||||
"\u0167\7v\2\2\u0167\26\3\2\2\2\u0168\u0169\7e\2\2\u0169\u016a\7q\2\2\u016a"+
|
||||
"\u016b\7p\2\2\u016b\u016c\7v\2\2\u016c\u016d\7k\2\2\u016d\u016e\7p\2\2"+
|
||||
"\u016e\u016f\7w\2\2\u016f\u0170\7g\2\2\u0170\30\3\2\2\2\u0171\u0172\7"+
|
||||
"f\2\2\u0172\u0173\7g\2\2\u0173\u0174\7h\2\2\u0174\u0175\7c\2\2\u0175\u0176"+
|
||||
"\7w\2\2\u0176\u0177\7n\2\2\u0177\u0178\7v\2\2\u0178\32\3\2\2\2\u0179\u017a"+
|
||||
"\7f\2\2\u017a\u017b\7q\2\2\u017b\34\3\2\2\2\u017c\u017d\7f\2\2\u017d\u017e"+
|
||||
"\7q\2\2\u017e\u017f\7w\2\2\u017f\u0180\7d\2\2\u0180\u0181\7n\2\2\u0181"+
|
||||
"\u0182\7g\2\2\u0182\36\3\2\2\2\u0183\u0184\7g\2\2\u0184\u0185\7n\2\2\u0185"+
|
||||
"\u0186\7u\2\2\u0186\u0187\7g\2\2\u0187 \3\2\2\2\u0188\u0189\7g\2\2\u0189"+
|
||||
"\u018a\7p\2\2\u018a\u018b\7w\2\2\u018b\u018c\7o\2\2\u018c\"\3\2\2\2\u018d"+
|
||||
"\u018e\7g\2\2\u018e\u018f\7z\2\2\u018f\u0190\7v\2\2\u0190\u0191\7g\2\2"+
|
||||
"\u0191\u0192\7p\2\2\u0192\u0193\7f\2\2\u0193\u0194\7u\2\2\u0194$\3\2\2"+
|
||||
"\2\u0195\u0196\7h\2\2\u0196\u0197\7k\2\2\u0197\u0198\7p\2\2\u0198\u0199"+
|
||||
"\7c\2\2\u0199\u019a\7n\2\2\u019a&\3\2\2\2\u019b\u019c\7h\2\2\u019c\u019d"+
|
||||
"\7k\2\2\u019d\u019e\7p\2\2\u019e\u019f\7c\2\2\u019f\u01a0\7n\2\2\u01a0"+
|
||||
"\u01a1\7n\2\2\u01a1\u01a2\7{\2\2\u01a2(\3\2\2\2\u01a3\u01a4\7h\2\2\u01a4"+
|
||||
"\u01a5\7n\2\2\u01a5\u01a6\7q\2\2\u01a6\u01a7\7c\2\2\u01a7\u01a8\7v\2\2"+
|
||||
"\u01a8*\3\2\2\2\u01a9\u01aa\7h\2\2\u01aa\u01ab\7q\2\2\u01ab\u01ac\7t\2"+
|
||||
"\2\u01ac,\3\2\2\2\u01ad\u01ae\7k\2\2\u01ae\u01af\7h\2\2\u01af.\3\2\2\2"+
|
||||
"\u01b0\u01b1\7i\2\2\u01b1\u01b2\7q\2\2\u01b2\u01b3\7v\2\2\u01b3\u01b4"+
|
||||
"\7q\2\2\u01b4\60\3\2\2\2\u01b5\u01b6\7k\2\2\u01b6\u01b7\7o\2\2\u01b7\u01b8"+
|
||||
"\7r\2\2\u01b8\u01b9\7n\2\2\u01b9\u01ba\7g\2\2\u01ba\u01bb\7o\2\2\u01bb"+
|
||||
"\u01bc\7g\2\2\u01bc\u01bd\7p\2\2\u01bd\u01be\7v\2\2\u01be\u01bf\7u\2\2"+
|
||||
"\u01bf\62\3\2\2\2\u01c0\u01c1\7k\2\2\u01c1\u01c2\7o\2\2\u01c2\u01c3\7"+
|
||||
"r\2\2\u01c3\u01c4\7q\2\2\u01c4\u01c5\7t\2\2\u01c5\u01c6\7v\2\2\u01c6\64"+
|
||||
"\3\2\2\2\u01c7\u01c8\7k\2\2\u01c8\u01c9\7p\2\2\u01c9\u01ca\7u\2\2\u01ca"+
|
||||
"\u01cb\7v\2\2\u01cb\u01cc\7c\2\2\u01cc\u01cd\7p\2\2\u01cd\u01ce\7e\2\2"+
|
||||
"\u01ce\u01cf\7g\2\2\u01cf\u01d0\7q\2\2\u01d0\u01d1\7h\2\2\u01d1\66\3\2"+
|
||||
"\2\2\u01d2\u01d3\7k\2\2\u01d3\u01d4\7p\2\2\u01d4\u01d5\7v\2\2\u01d58\3"+
|
||||
"\2\2\2\u01d6\u01d7\7k\2\2\u01d7\u01d8\7p\2\2\u01d8\u01d9\7v\2\2\u01d9"+
|
||||
"\u01da\7g\2\2\u01da\u01db\7t\2\2\u01db\u01dc\7h\2\2\u01dc\u01dd\7c\2\2"+
|
||||
"\u01dd\u01de\7e\2\2\u01de\u01df\7g\2\2\u01df:\3\2\2\2\u01e0\u01e1\7n\2"+
|
||||
"\2\u01e1\u01e2\7q\2\2\u01e2\u01e3\7p\2\2\u01e3\u01e4\7i\2\2\u01e4<\3\2"+
|
||||
"\2\2\u01e5\u01e6\7p\2\2\u01e6\u01e7\7c\2\2\u01e7\u01e8\7v\2\2\u01e8\u01e9"+
|
||||
"\7k\2\2\u01e9\u01ea\7x\2\2\u01ea\u01eb\7g\2\2\u01eb>\3\2\2\2\u01ec\u01ed"+
|
||||
"\7p\2\2\u01ed\u01ee\7g\2\2\u01ee\u01ef\7y\2\2\u01ef@\3\2\2\2\u01f0\u01f1"+
|
||||
"\7r\2\2\u01f1\u01f2\7c\2\2\u01f2\u01f3\7e\2\2\u01f3\u01f4\7m\2\2\u01f4"+
|
||||
"\u01f5\7c\2\2\u01f5\u01f6\7i\2\2\u01f6\u01f7\7g\2\2\u01f7B\3\2\2\2\u01f8"+
|
||||
"\u01f9\7r\2\2\u01f9\u01fa\7t\2\2\u01fa\u01fb\7k\2\2\u01fb\u01fc\7x\2\2"+
|
||||
"\u01fc\u01fd\7c\2\2\u01fd\u01fe\7v\2\2\u01fe\u01ff\7g\2\2\u01ffD\3\2\2"+
|
||||
"\2\u0200\u0201\7r\2\2\u0201\u0202\7t\2\2\u0202\u0203\7q\2\2\u0203\u0204"+
|
||||
"\7v\2\2\u0204\u0205\7g\2\2\u0205\u0206\7e\2\2\u0206\u0207\7v\2\2\u0207"+
|
||||
"\u0208\7g\2\2\u0208\u0209\7f\2\2\u0209F\3\2\2\2\u020a\u020b\7r\2\2\u020b"+
|
||||
"\u020c\7w\2\2\u020c\u020d\7d\2\2\u020d\u020e\7n\2\2\u020e\u020f\7k\2\2"+
|
||||
"\u020f\u0210\7e\2\2\u0210H\3\2\2\2\u0211\u0212\7t\2\2\u0212\u0213\7g\2"+
|
||||
"\2\u0213\u0214\7v\2\2\u0214\u0215\7w\2\2\u0215\u0216\7t\2\2\u0216\u0217"+
|
||||
"\7p\2\2\u0217J\3\2\2\2\u0218\u0219\7u\2\2\u0219\u021a\7j\2\2\u021a\u021b"+
|
||||
"\7q\2\2\u021b\u021c\7t\2\2\u021c\u021d\7v\2\2\u021dL\3\2\2\2\u021e\u021f"+
|
||||
"\7u\2\2\u021f\u0220\7v\2\2\u0220\u0221\7c\2\2\u0221\u0222\7v\2\2\u0222"+
|
||||
"\u0223\7k\2\2\u0223\u0224\7e\2\2\u0224N\3\2\2\2\u0225\u0226\7u\2\2\u0226"+
|
||||
"\u0227\7v\2\2\u0227\u0228\7t\2\2\u0228\u0229\7k\2\2\u0229\u022a\7e\2\2"+
|
||||
"\u022a\u022b\7v\2\2\u022b\u022c\7h\2\2\u022c\u022d\7r\2\2\u022dP\3\2\2"+
|
||||
"\2\u022e\u022f\7u\2\2\u022f\u0230\7w\2\2\u0230\u0231\7r\2\2\u0231\u0232"+
|
||||
"\7g\2\2\u0232\u0233\7t\2\2\u0233R\3\2\2\2\u0234\u0235\7u\2\2\u0235\u0236"+
|
||||
"\7y\2\2\u0236\u0237\7k\2\2\u0237\u0238\7v\2\2\u0238\u0239\7e\2\2\u0239"+
|
||||
"\u023a\7j\2\2\u023aT\3\2\2\2\u023b\u023c\7u\2\2\u023c\u023d\7{\2\2\u023d"+
|
||||
"\u023e\7p\2\2\u023e\u023f\7e\2\2\u023f\u0240\7j\2\2\u0240\u0241\7t\2\2"+
|
||||
"\u0241\u0242\7q\2\2\u0242\u0243\7p\2\2\u0243\u0244\7k\2\2\u0244\u0245"+
|
||||
"\7|\2\2\u0245\u0246\7g\2\2\u0246\u0247\7f\2\2\u0247V\3\2\2\2\u0248\u0249"+
|
||||
"\7v\2\2\u0249\u024a\7j\2\2\u024a\u024b\7k\2\2\u024b\u024c\7u\2\2\u024c"+
|
||||
"X\3\2\2\2\u024d\u024e\7v\2\2\u024e\u024f\7j\2\2\u024f\u0250\7t\2\2\u0250"+
|
||||
"\u0251\7q\2\2\u0251\u0252\7y\2\2\u0252Z\3\2\2\2\u0253\u0254\7v\2\2\u0254"+
|
||||
"\u0255\7j\2\2\u0255\u0256\7t\2\2\u0256\u0257\7q\2\2\u0257\u0258\7y\2\2"+
|
||||
"\u0258\u0259\7u\2\2\u0259\\\3\2\2\2\u025a\u025b\7v\2\2\u025b\u025c\7t"+
|
||||
"\2\2\u025c\u025d\7c\2\2\u025d\u025e\7p\2\2\u025e\u025f\7u\2\2\u025f\u0260"+
|
||||
"\7k\2\2\u0260\u0261\7g\2\2\u0261\u0262\7p\2\2\u0262\u0263\7v\2\2\u0263"+
|
||||
"^\3\2\2\2\u0264\u0265\7v\2\2\u0265\u0266\7t\2\2\u0266\u0267\7{\2\2\u0267"+
|
||||
"`\3\2\2\2\u0268\u0269\7x\2\2\u0269\u026a\7q\2\2\u026a\u026b\7k\2\2\u026b"+
|
||||
"\u026c\7f\2\2\u026cb\3\2\2\2\u026d\u026e\7x\2\2\u026e\u026f\7q\2\2\u026f"+
|
||||
"\u0270\7n\2\2\u0270\u0271\7c\2\2\u0271\u0272\7v\2\2\u0272\u0273\7k\2\2"+
|
||||
"\u0273\u0274\7n\2\2\u0274\u0275\7g\2\2\u0275d\3\2\2\2\u0276\u0277\7y\2"+
|
||||
"\2\u0277\u0278\7j\2\2\u0278\u0279\7k\2\2\u0279\u027a\7n\2\2\u027a\u027b"+
|
||||
"\7g\2\2\u027bf\3\2\2\2\u027c\u0281\5i\65\2\u027d\u0281\5k\66\2\u027e\u0281"+
|
||||
"\5m\67\2\u027f\u0281\5o8\2\u0280\u027c\3\2\2\2\u0280\u027d\3\2\2\2\u0280"+
|
||||
"\u027e\3\2\2\2\u0280\u027f\3\2\2\2\u0281h\3\2\2\2\u0282\u0284\5s:\2\u0283"+
|
||||
"\u0285\5q9\2\u0284\u0283\3\2\2\2\u0284\u0285\3\2\2\2\u0285j\3\2\2\2\u0286"+
|
||||
"\u0288\5\177@\2\u0287\u0289\5q9\2\u0288\u0287\3\2\2\2\u0288\u0289\3\2"+
|
||||
"\2\2\u0289l\3\2\2\2\u028a\u028c\5\u0087D\2\u028b\u028d\5q9\2\u028c\u028b"+
|
||||
"\3\2\2\2\u028c\u028d\3\2\2\2\u028dn\3\2\2\2\u028e\u0290\5\u008fH\2\u028f"+
|
||||
"\u0291\5q9\2\u0290\u028f\3\2\2\2\u0290\u0291\3\2\2\2\u0291p\3\2\2\2\u0292"+
|
||||
"\u0293\t\2\2\2\u0293r\3\2\2\2\u0294\u029f\7\62\2\2\u0295\u029c\5y=\2\u0296"+
|
||||
"\u0298\5u;\2\u0297\u0296\3\2\2\2\u0297\u0298\3\2\2\2\u0298\u029d\3\2\2"+
|
||||
"\2\u0299\u029a\5}?\2\u029a\u029b\5u;\2\u029b\u029d\3\2\2\2\u029c\u0297"+
|
||||
"\3\2\2\2\u029c\u0299\3\2\2\2\u029d\u029f\3\2\2\2\u029e\u0294\3\2\2\2\u029e"+
|
||||
"\u0295\3\2\2\2\u029ft\3\2\2\2\u02a0\u02a8\5w<\2\u02a1\u02a3\5{>\2\u02a2"+
|
||||
"\u02a1\3\2\2\2\u02a3\u02a6\3\2\2\2\u02a4\u02a2\3\2\2\2\u02a4\u02a5\3\2"+
|
||||
"\2\2\u02a5\u02a7\3\2\2\2\u02a6\u02a4\3\2\2\2\u02a7\u02a9\5w<\2\u02a8\u02a4"+
|
||||
"\3\2\2\2\u02a8\u02a9\3\2\2\2\u02a9v\3\2\2\2\u02aa\u02ad\7\62\2\2\u02ab"+
|
||||
"\u02ad\5y=\2\u02ac\u02aa\3\2\2\2\u02ac\u02ab\3\2\2\2\u02adx\3\2\2\2\u02ae"+
|
||||
"\u02af\t\3\2\2\u02afz\3\2\2\2\u02b0\u02b3\5w<\2\u02b1\u02b3\7a\2\2\u02b2"+
|
||||
"\u02b0\3\2\2\2\u02b2\u02b1\3\2\2\2\u02b3|\3\2\2\2\u02b4\u02b6\7a\2\2\u02b5"+
|
||||
"\u02b4\3\2\2\2\u02b6\u02b7\3\2\2\2\u02b7\u02b5\3\2\2\2\u02b7\u02b8\3\2"+
|
||||
"\2\2\u02b8~\3\2\2\2\u02b9\u02ba\7\62\2\2\u02ba\u02bb\t\4\2\2\u02bb\u02bc"+
|
||||
"\5\u0081A\2\u02bc\u0080\3\2\2\2\u02bd\u02c5\5\u0083B\2\u02be\u02c0\5\u0085"+
|
||||
"C\2\u02bf\u02be\3\2\2\2\u02c0\u02c3\3\2\2\2\u02c1\u02bf\3\2\2\2\u02c1"+
|
||||
"\u02c2\3\2\2\2\u02c2\u02c4\3\2\2\2\u02c3\u02c1\3\2\2\2\u02c4\u02c6\5\u0083"+
|
||||
"B\2\u02c5\u02c1\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6\u0082\3\2\2\2\u02c7"+
|
||||
"\u02c8\t\5\2\2\u02c8\u0084\3\2\2\2\u02c9\u02cc\5\u0083B\2\u02ca\u02cc"+
|
||||
"\7a\2\2\u02cb\u02c9\3\2\2\2\u02cb\u02ca\3\2\2\2\u02cc\u0086\3\2\2\2\u02cd"+
|
||||
"\u02cf\7\62\2\2\u02ce\u02d0\5}?\2\u02cf\u02ce\3\2\2\2\u02cf\u02d0\3\2"+
|
||||
"\2\2\u02d0\u02d1\3\2\2\2\u02d1\u02d2\5\u0089E\2\u02d2\u0088\3\2\2\2\u02d3"+
|
||||
"\u02db\5\u008bF\2\u02d4\u02d6\5\u008dG\2\u02d5\u02d4\3\2\2\2\u02d6\u02d9"+
|
||||
"\3\2\2\2\u02d7\u02d5\3\2\2\2\u02d7\u02d8\3\2\2\2\u02d8\u02da\3\2\2\2\u02d9"+
|
||||
"\u02d7\3\2\2\2\u02da\u02dc\5\u008bF\2\u02db\u02d7\3\2\2\2\u02db\u02dc"+
|
||||
"\3\2\2\2\u02dc\u008a\3\2\2\2\u02dd\u02de\t\6\2\2\u02de\u008c\3\2\2\2\u02df"+
|
||||
"\u02e2\5\u008bF\2\u02e0\u02e2\7a\2\2\u02e1\u02df\3\2\2\2\u02e1\u02e0\3"+
|
||||
"\2\2\2\u02e2\u008e\3\2\2\2\u02e3\u02e4\7\62\2\2\u02e4\u02e5\t\7\2\2\u02e5"+
|
||||
"\u02e6\5\u0091I\2\u02e6\u0090\3\2\2\2\u02e7\u02ef\5\u0093J\2\u02e8\u02ea"+
|
||||
"\5\u0095K\2\u02e9\u02e8\3\2\2\2\u02ea\u02ed\3\2\2\2\u02eb\u02e9\3\2\2"+
|
||||
"\2\u02eb\u02ec\3\2\2\2\u02ec\u02ee\3\2\2\2\u02ed\u02eb\3\2\2\2\u02ee\u02f0"+
|
||||
"\5\u0093J\2\u02ef\u02eb\3\2\2\2\u02ef\u02f0\3\2\2\2\u02f0\u0092\3\2\2"+
|
||||
"\2\u02f1\u02f2\t\b\2\2\u02f2\u0094\3\2\2\2\u02f3\u02f6\5\u0093J\2\u02f4"+
|
||||
"\u02f6\7a\2\2\u02f5\u02f3\3\2\2\2\u02f5\u02f4\3\2\2\2\u02f6\u0096\3\2"+
|
||||
"\2\2\u02f7\u02fa\5\u0099M\2\u02f8\u02fa\5\u00a5S\2\u02f9\u02f7\3\2\2\2"+
|
||||
"\u02f9\u02f8\3\2\2\2\u02fa\u0098\3\2\2\2\u02fb\u02fc\5u;\2\u02fc\u02fe"+
|
||||
"\7\60\2\2\u02fd\u02ff\5u;\2\u02fe\u02fd\3\2\2\2\u02fe\u02ff\3\2\2\2\u02ff"+
|
||||
"\u0301\3\2\2\2\u0300\u0302\5\u009bN\2\u0301\u0300\3\2\2\2\u0301\u0302"+
|
||||
"\3\2\2\2\u0302\u0304\3\2\2\2\u0303\u0305\5\u00a3R\2\u0304\u0303\3\2\2"+
|
||||
"\2\u0304\u0305\3\2\2\2\u0305\u0317\3\2\2\2\u0306\u0307\7\60\2\2\u0307"+
|
||||
"\u0309\5u;\2\u0308\u030a\5\u009bN\2\u0309\u0308\3\2\2\2\u0309\u030a\3"+
|
||||
"\2\2\2\u030a\u030c\3\2\2\2\u030b\u030d\5\u00a3R\2\u030c\u030b\3\2\2\2"+
|
||||
"\u030c\u030d\3\2\2\2\u030d\u0317\3\2\2\2\u030e\u030f\5u;\2\u030f\u0311"+
|
||||
"\5\u009bN\2\u0310\u0312\5\u00a3R\2\u0311\u0310\3\2\2\2\u0311\u0312\3\2"+
|
||||
"\2\2\u0312\u0317\3\2\2\2\u0313\u0314\5u;\2\u0314\u0315\5\u00a3R\2\u0315"+
|
||||
"\u0317\3\2\2\2\u0316\u02fb\3\2\2\2\u0316\u0306\3\2\2\2\u0316\u030e\3\2"+
|
||||
"\2\2\u0316\u0313\3\2\2\2\u0317\u009a\3\2\2\2\u0318\u0319\5\u009dO\2\u0319"+
|
||||
"\u031a\5\u009fP\2\u031a\u009c\3\2\2\2\u031b\u031c\t\t\2\2\u031c\u009e"+
|
||||
"\3\2\2\2\u031d\u031f\5\u00a1Q\2\u031e\u031d\3\2\2\2\u031e\u031f\3\2\2"+
|
||||
"\2\u031f\u0320\3\2\2\2\u0320\u0321\5u;\2\u0321\u00a0\3\2\2\2\u0322\u0323"+
|
||||
"\t\n\2\2\u0323\u00a2\3\2\2\2\u0324\u0325\t\13\2\2\u0325\u00a4\3\2\2\2"+
|
||||
"\u0326\u0327\5\u00a7T\2\u0327\u0329\5\u00a9U\2\u0328\u032a\5\u00a3R\2"+
|
||||
"\u0329\u0328\3\2\2\2\u0329\u032a\3\2\2\2\u032a\u00a6\3\2\2\2\u032b\u032d"+
|
||||
"\5\177@\2\u032c\u032e\7\60\2\2\u032d\u032c\3\2\2\2\u032d\u032e\3\2\2\2"+
|
||||
"\u032e\u0337\3\2\2\2\u032f\u0330\7\62\2\2\u0330\u0332\t\4\2\2\u0331\u0333"+
|
||||
"\5\u0081A\2\u0332\u0331\3\2\2\2\u0332\u0333\3\2\2\2\u0333\u0334\3\2\2"+
|
||||
"\2\u0334\u0335\7\60\2\2\u0335\u0337\5\u0081A\2\u0336\u032b\3\2\2\2\u0336"+
|
||||
"\u032f\3\2\2\2\u0337\u00a8\3\2\2\2\u0338\u0339\5\u00abV\2\u0339\u033a"+
|
||||
"\5\u009fP\2\u033a\u00aa\3\2\2\2\u033b\u033c\t\f\2\2\u033c\u00ac\3\2\2"+
|
||||
"\2\u033d\u033e\7v\2\2\u033e\u033f\7t\2\2\u033f\u0340\7w\2\2\u0340\u0347"+
|
||||
"\7g\2\2\u0341\u0342\7h\2\2\u0342\u0343\7c\2\2\u0343\u0344\7n\2\2\u0344"+
|
||||
"\u0345\7u\2\2\u0345\u0347\7g\2\2\u0346\u033d\3\2\2\2\u0346\u0341\3\2\2"+
|
||||
"\2\u0347\u00ae\3\2\2\2\u0348\u0349\7)\2\2\u0349\u034a\5\u00b1Y\2\u034a"+
|
||||
"\u034b\7)\2\2\u034b\u0351\3\2\2\2\u034c\u034d\7)\2\2\u034d\u034e\5\u00b9"+
|
||||
"]\2\u034e\u034f\7)\2\2\u034f\u0351\3\2\2\2\u0350\u0348\3\2\2\2\u0350\u034c"+
|
||||
"\3\2\2\2\u0351\u00b0\3\2\2\2\u0352\u0353\n\r\2\2\u0353\u00b2\3\2\2\2\u0354"+
|
||||
"\u0356\7$\2\2\u0355\u0357\5\u00b5[\2\u0356\u0355\3\2\2\2\u0356\u0357\3"+
|
||||
"\2\2\2\u0357\u0358\3\2\2\2\u0358\u0359\7$\2\2\u0359\u00b4\3\2\2\2\u035a"+
|
||||
"\u035c\5\u00b7\\\2\u035b\u035a\3\2\2\2\u035c\u035d\3\2\2\2\u035d\u035b"+
|
||||
"\3\2\2\2\u035d\u035e\3\2\2\2\u035e\u00b6\3\2\2\2\u035f\u0362\n\16\2\2"+
|
||||
"\u0360\u0362\5\u00b9]\2\u0361\u035f\3\2\2\2\u0361\u0360\3\2\2\2\u0362"+
|
||||
"\u00b8\3\2\2\2\u0363\u0364\7^\2\2\u0364\u0368\t\17\2\2\u0365\u0368\5\u00bb"+
|
||||
"^\2\u0366\u0368\5\u00bd_\2\u0367\u0363\3\2\2\2\u0367\u0365\3\2\2\2\u0367"+
|
||||
"\u0366\3\2\2\2\u0368\u00ba\3\2\2\2\u0369\u036a\7^\2\2\u036a\u0375\5\u008b"+
|
||||
"F\2\u036b\u036c\7^\2\2\u036c\u036d\5\u008bF\2\u036d\u036e\5\u008bF\2\u036e"+
|
||||
"\u0375\3\2\2\2\u036f\u0370\7^\2\2\u0370\u0371\5\u00bf`\2\u0371\u0372\5"+
|
||||
"\u008bF\2\u0372\u0373\5\u008bF\2\u0373\u0375\3\2\2\2\u0374\u0369\3\2\2"+
|
||||
"\2\u0374\u036b\3\2\2\2\u0374\u036f\3\2\2\2\u0375\u00bc\3\2\2\2\u0376\u0377"+
|
||||
"\7^\2\2\u0377\u0378\7w\2\2\u0378\u0379\5\u0083B\2\u0379\u037a\5\u0083"+
|
||||
"B\2\u037a\u037b\5\u0083B\2\u037b\u037c\5\u0083B\2\u037c\u00be\3\2\2\2"+
|
||||
"\u037d\u037e\t\20\2\2\u037e\u00c0\3\2\2\2\u037f\u0380\7p\2\2\u0380\u0381"+
|
||||
"\7w\2\2\u0381\u0382\7n\2\2\u0382\u0383\7n\2\2\u0383\u00c2\3\2\2\2\u0384"+
|
||||
"\u0385\7*\2\2\u0385\u00c4\3\2\2\2\u0386\u0387\7+\2\2\u0387\u00c6\3\2\2"+
|
||||
"\2\u0388\u0389\7}\2\2\u0389\u00c8\3\2\2\2\u038a\u038b\7\177\2\2\u038b"+
|
||||
"\u00ca\3\2\2\2\u038c\u038d\7]\2\2\u038d\u00cc\3\2\2\2\u038e\u038f\7_\2"+
|
||||
"\2\u038f\u00ce\3\2\2\2\u0390\u0391\7=\2\2\u0391\u00d0\3\2\2\2\u0392\u0393"+
|
||||
"\7.\2\2\u0393\u00d2\3\2\2\2\u0394\u0395\7\60\2\2\u0395\u00d4\3\2\2\2\u0396"+
|
||||
"\u0397\7?\2\2\u0397\u00d6\3\2\2\2\u0398\u0399\7@\2\2\u0399\u00d8\3\2\2"+
|
||||
"\2\u039a\u039b\7>\2\2\u039b\u00da\3\2\2\2\u039c\u039d\7#\2\2\u039d\u00dc"+
|
||||
"\3\2\2\2\u039e\u039f\7\u0080\2\2\u039f\u00de\3\2\2\2\u03a0\u03a1\7A\2"+
|
||||
"\2\u03a1\u00e0\3\2\2\2\u03a2\u03a3\7<\2\2\u03a3\u00e2\3\2\2\2\u03a4\u03a5"+
|
||||
"\7?\2\2\u03a5\u03a6\7?\2\2\u03a6\u00e4\3\2\2\2\u03a7\u03a8\7>\2\2\u03a8"+
|
||||
"\u03a9\7?\2\2\u03a9\u00e6\3\2\2\2\u03aa\u03ab\7@\2\2\u03ab\u03ac\7?\2"+
|
||||
"\2\u03ac\u00e8\3\2\2\2\u03ad\u03ae\7#\2\2\u03ae\u03af\7?\2\2\u03af\u00ea"+
|
||||
"\3\2\2\2\u03b0\u03b1\7(\2\2\u03b1\u03b2\7(\2\2\u03b2\u00ec\3\2\2\2\u03b3"+
|
||||
"\u03b4\7~\2\2\u03b4\u03b5\7~\2\2\u03b5\u00ee\3\2\2\2\u03b6\u03b7\7-\2"+
|
||||
"\2\u03b7\u03b8\7-\2\2\u03b8\u00f0\3\2\2\2\u03b9\u03ba\7/\2\2\u03ba\u03bb"+
|
||||
"\7/\2\2\u03bb\u00f2\3\2\2\2\u03bc\u03bd\7-\2\2\u03bd\u00f4\3\2\2\2\u03be"+
|
||||
"\u03bf\7/\2\2\u03bf\u00f6\3\2\2\2\u03c0\u03c1\7,\2\2\u03c1\u00f8\3\2\2"+
|
||||
"\2\u03c2\u03c3\7\61\2\2\u03c3\u00fa\3\2\2\2\u03c4\u03c5\7(\2\2\u03c5\u00fc"+
|
||||
"\3\2\2\2\u03c6\u03c7\7~\2\2\u03c7\u00fe\3\2\2\2\u03c8\u03c9\7`\2\2\u03c9"+
|
||||
"\u0100\3\2\2\2\u03ca\u03cb\7\'\2\2\u03cb\u0102\3\2\2\2\u03cc\u03cd\7-"+
|
||||
"\2\2\u03cd\u03ce\7?\2\2\u03ce\u0104\3\2\2\2\u03cf\u03d0\7/\2\2\u03d0\u03d1"+
|
||||
"\7?\2\2\u03d1\u0106\3\2\2\2\u03d2\u03d3\7,\2\2\u03d3\u03d4\7?\2\2\u03d4"+
|
||||
"\u0108\3\2\2\2\u03d5\u03d6\7\61\2\2\u03d6\u03d7\7?\2\2\u03d7\u010a\3\2"+
|
||||
"\2\2\u03d8\u03d9\7(\2\2\u03d9\u03da\7?\2\2\u03da\u010c\3\2\2\2\u03db\u03dc"+
|
||||
"\7~\2\2\u03dc\u03dd\7?\2\2\u03dd\u010e\3\2\2\2\u03de\u03df\7`\2\2\u03df"+
|
||||
"\u03e0\7?\2\2\u03e0\u0110\3\2\2\2\u03e1\u03e2\7\'\2\2\u03e2\u03e3\7?\2"+
|
||||
"\2\u03e3\u0112\3\2\2\2\u03e4\u03e5\7>\2\2\u03e5\u03e6\7>\2\2\u03e6\u03e7"+
|
||||
"\7?\2\2\u03e7\u0114\3\2\2\2\u03e8\u03e9\7@\2\2\u03e9\u03ea\7@\2\2\u03ea"+
|
||||
"\u03eb\7?\2\2\u03eb\u0116\3\2\2\2\u03ec\u03ed\7@\2\2\u03ed\u03ee\7@\2"+
|
||||
"\2\u03ee\u03ef\7@\2\2\u03ef\u03f0\7?\2\2\u03f0\u0118\3\2\2\2\u03f1\u03f5"+
|
||||
"\5\u011b\u008e\2\u03f2\u03f4\5\u011d\u008f\2\u03f3\u03f2\3\2\2\2\u03f4"+
|
||||
"\u03f7\3\2\2\2\u03f5\u03f3\3\2\2\2\u03f5\u03f6\3\2\2\2\u03f6\u011a\3\2"+
|
||||
"\2\2\u03f7\u03f5\3\2\2\2\u03f8\u03ff\t\21\2\2\u03f9\u03fa\n\22\2\2\u03fa"+
|
||||
"\u03ff\6\u008e\2\2\u03fb\u03fc\t\23\2\2\u03fc\u03fd\t\24\2\2\u03fd\u03ff"+
|
||||
"\6\u008e\3\2\u03fe\u03f8\3\2\2\2\u03fe\u03f9\3\2\2\2\u03fe\u03fb\3\2\2"+
|
||||
"\2\u03ff\u011c\3\2\2\2\u0400\u0407\t\25\2\2\u0401\u0402\n\22\2\2\u0402"+
|
||||
"\u0407\6\u008f\4\2\u0403\u0404\t\23\2\2\u0404\u0405\t\24\2\2\u0405\u0407"+
|
||||
"\6\u008f\5\2\u0406\u0400\3\2\2\2\u0406\u0401\3\2\2\2\u0406\u0403\3\2\2"+
|
||||
"\2\u0407\u011e\3\2\2\2\u0408\u0409\7B\2\2\u0409\u0120\3\2\2\2\u040a\u040b"+
|
||||
"\7\60\2\2\u040b\u040c\7\60\2\2\u040c\u040d\7\60\2\2\u040d\u0122\3\2\2"+
|
||||
"\2\u040e\u0410\t\26\2\2\u040f\u040e\3\2\2\2\u0410\u0411\3\2\2\2\u0411"+
|
||||
"\u040f\3\2\2\2\u0411\u0412\3\2\2\2\u0412\u0413\3\2\2\2\u0413\u0414\b\u0092"+
|
||||
"\2\2\u0414\u0124\3\2\2\2\u0415\u0416\7\61\2\2\u0416\u0417\7,\2\2\u0417"+
|
||||
"\u041b\3\2\2\2\u0418\u041a\13\2\2\2\u0419\u0418\3\2\2\2\u041a\u041d\3"+
|
||||
"\2\2\2\u041b\u041c\3\2\2\2\u041b\u0419\3\2\2\2\u041c\u041e\3\2\2\2\u041d"+
|
||||
"\u041b\3\2\2\2\u041e\u041f\7,\2\2\u041f\u0420\7\61\2\2\u0420\u0421\3\2"+
|
||||
"\2\2\u0421\u0422\b\u0093\2\2\u0422\u0126\3\2\2\2\u0423\u0424\7\61\2\2"+
|
||||
"\u0424\u0425\7\61\2\2\u0425\u0429\3\2\2\2\u0426\u0428\n\27\2\2\u0427\u0426"+
|
||||
"\3\2\2\2\u0428\u042b\3\2\2\2\u0429\u0427\3\2\2\2\u0429\u042a\3\2\2\2\u042a"+
|
||||
"\u042c\3\2\2\2\u042b\u0429\3\2\2\2\u042c\u042d\b\u0094\2\2\u042d\u0128"+
|
||||
"\3\2\2\2\64\2\u0280\u0284\u0288\u028c\u0290\u0297\u029c\u029e\u02a4\u02a8"+
|
||||
"\u02ac\u02b2\u02b7\u02c1\u02c5\u02cb\u02cf\u02d7\u02db\u02e1\u02eb\u02ef"+
|
||||
"\u02f5\u02f9\u02fe\u0301\u0304\u0309\u030c\u0311\u0316\u031e\u0329\u032d"+
|
||||
"\u0332\u0336\u0346\u0350\u0356\u035d\u0361\u0367\u0374\u03f5\u03fe\u0406"+
|
||||
"\u0411\u041b\u0429\3\b\2\2";
|
||||
public static final ATN _ATN =
|
||||
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
|
||||
static {
|
||||
_decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
|
||||
for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
|
||||
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
|
||||
}
|
||||
}
|
||||
}
|
201
antlr/Java8Lexer.tokens
Normal file
201
antlr/Java8Lexer.tokens
Normal file
@ -0,0 +1,201 @@
|
||||
THROW=44
|
||||
STATIC=38
|
||||
INTERFACE=28
|
||||
AND_ASSIGN=93
|
||||
BREAK=4
|
||||
BYTE=5
|
||||
ELSE=15
|
||||
IF=22
|
||||
ENUM=16
|
||||
SUB=82
|
||||
BANG=69
|
||||
LPAREN=57
|
||||
DOT=65
|
||||
CASE=6
|
||||
AT=101
|
||||
LINE_COMMENT=105
|
||||
StringLiteral=55
|
||||
ELLIPSIS=102
|
||||
LBRACK=61
|
||||
PUBLIC=35
|
||||
THROWS=45
|
||||
NullLiteral=56
|
||||
RSHIFT_ASSIGN=98
|
||||
LBRACE=59
|
||||
GOTO=23
|
||||
SUB_ASSIGN=90
|
||||
SEMI=63
|
||||
CHAR=8
|
||||
ASSIGN=66
|
||||
COMMENT=104
|
||||
IMPORT=25
|
||||
BITOR=86
|
||||
CATCH=7
|
||||
MUL_ASSIGN=91
|
||||
DOUBLE=14
|
||||
PROTECTED=34
|
||||
LONG=29
|
||||
COMMA=64
|
||||
BITAND=85
|
||||
PRIVATE=33
|
||||
CONTINUE=11
|
||||
DIV=84
|
||||
FloatingPointLiteral=52
|
||||
LE=74
|
||||
CharacterLiteral=54
|
||||
VOLATILE=49
|
||||
EXTENDS=17
|
||||
INSTANCEOF=26
|
||||
NEW=31
|
||||
ADD=81
|
||||
LT=68
|
||||
CLASS=9
|
||||
DO=13
|
||||
FINALLY=19
|
||||
Identifier=100
|
||||
CONST=10
|
||||
PACKAGE=32
|
||||
OR_ASSIGN=94
|
||||
TRY=47
|
||||
IntegerLiteral=51
|
||||
SYNCHRONIZED=42
|
||||
MUL=83
|
||||
FOR=21
|
||||
FINAL=18
|
||||
RPAREN=58
|
||||
CARET=87
|
||||
URSHIFT_ASSIGN=99
|
||||
BOOLEAN=3
|
||||
NOTEQUAL=76
|
||||
RBRACK=62
|
||||
RBRACE=60
|
||||
AND=77
|
||||
THIS=43
|
||||
SWITCH=41
|
||||
VOID=48
|
||||
TRANSIENT=46
|
||||
INC=79
|
||||
FLOAT=20
|
||||
NATIVE=30
|
||||
DIV_ASSIGN=92
|
||||
BooleanLiteral=53
|
||||
ABSTRACT=1
|
||||
STRICTFP=39
|
||||
INT=27
|
||||
QUESTION=71
|
||||
RETURN=36
|
||||
LSHIFT_ASSIGN=97
|
||||
ADD_ASSIGN=89
|
||||
WS=103
|
||||
GE=75
|
||||
SUPER=40
|
||||
OR=78
|
||||
DEC=80
|
||||
MOD=88
|
||||
XOR_ASSIGN=95
|
||||
ASSERT=2
|
||||
EQUAL=73
|
||||
IMPLEMENTS=24
|
||||
COLON=72
|
||||
GT=67
|
||||
SHORT=37
|
||||
MOD_ASSIGN=96
|
||||
WHILE=50
|
||||
TILDE=70
|
||||
DEFAULT=12
|
||||
'import'=25
|
||||
'-'=82
|
||||
')'=58
|
||||
'super'=40
|
||||
'else'=15
|
||||
'%'=88
|
||||
'!'=69
|
||||
'>'=67
|
||||
'public'=35
|
||||
'=='=73
|
||||
'--'=80
|
||||
'|'=86
|
||||
'['=61
|
||||
':'=72
|
||||
'...'=102
|
||||
'throw'=44
|
||||
'case'=6
|
||||
'.'=65
|
||||
'this'=43
|
||||
'*'=83
|
||||
'switch'=41
|
||||
'synchronized'=42
|
||||
'&'=85
|
||||
'double'=14
|
||||
'break'=4
|
||||
'short'=37
|
||||
'<='=74
|
||||
'enum'=16
|
||||
'try'=47
|
||||
'?'=71
|
||||
'if'=22
|
||||
'extends'=17
|
||||
'goto'=23
|
||||
'}'=60
|
||||
'instanceof'=26
|
||||
';'=63
|
||||
'||'=78
|
||||
'>>='=98
|
||||
'class'=9
|
||||
'return'=36
|
||||
'&='=93
|
||||
'catch'=7
|
||||
'native'=30
|
||||
'continue'=11
|
||||
'strictfp'=39
|
||||
'/'=84
|
||||
'*='=91
|
||||
'+'=81
|
||||
'final'=18
|
||||
'protected'=34
|
||||
'static'=38
|
||||
'@'=101
|
||||
'transient'=46
|
||||
'~'=70
|
||||
'assert'=2
|
||||
']'=62
|
||||
'<'=68
|
||||
'++'=79
|
||||
'>>>='=99
|
||||
'>='=75
|
||||
'long'=29
|
||||
'boolean'=3
|
||||
'const'=10
|
||||
'abstract'=1
|
||||
'implements'=24
|
||||
'volatile'=49
|
||||
'throws'=45
|
||||
'/='=92
|
||||
','=64
|
||||
'-='=90
|
||||
'do'=13
|
||||
'package'=32
|
||||
'('=57
|
||||
'null'=56
|
||||
'int'=27
|
||||
'|='=94
|
||||
'for'=21
|
||||
'^'=87
|
||||
'<<='=97
|
||||
'='=66
|
||||
'byte'=5
|
||||
'&&'=77
|
||||
'^='=95
|
||||
'void'=48
|
||||
'while'=50
|
||||
'{'=59
|
||||
'float'=20
|
||||
'!='=76
|
||||
'new'=31
|
||||
'char'=8
|
||||
'finally'=19
|
||||
'interface'=28
|
||||
'%='=96
|
||||
'private'=33
|
||||
'+='=89
|
||||
'default'=12
|
1020
antlr/Java8Listener.java
Normal file
1020
antlr/Java8Listener.java
Normal file
File diff suppressed because it is too large
Load Diff
7695
antlr/Java8Parser.java
Normal file
7695
antlr/Java8Parser.java
Normal file
File diff suppressed because it is too large
Load Diff
4
antlr/makefile
Normal file
4
antlr/makefile
Normal file
@ -0,0 +1,4 @@
|
||||
all:
|
||||
java -jar ./antlr-4.4-complete.jar Java8.g4
|
||||
javac -cp ./antlr-4.4-complete.jar:. *.java
|
||||
|
12
bin/.gitignore
vendored
12
bin/.gitignore
vendored
@ -1,6 +1,6 @@
|
||||
/de
|
||||
/plugindevelopment
|
||||
/mycompiler
|
||||
/mytypereconstruction
|
||||
/syntaxTree
|
||||
/userinterface
|
||||
/bytecode/
|
||||
/de/
|
||||
/mycompiler/
|
||||
/parser/
|
||||
/plugindevelopment/
|
||||
/syntaxTree/
|
||||
|
7
src/de/dhbwstuttgart/antlr/.classpath
Normal file
7
src/de/dhbwstuttgart/antlr/.classpath
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path=""/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="lib" path="antlr-4.4-complete.jar"/>
|
||||
<classpathentry kind="output" path=""/>
|
||||
</classpath>
|
107
src/de/dhbwstuttgart/antlr/.gitignore
vendored
Normal file
107
src/de/dhbwstuttgart/antlr/.gitignore
vendored
Normal file
@ -0,0 +1,107 @@
|
||||
/Java8Parser$AnnotationConstantRestContext.class
|
||||
/Java8Parser$AnnotationContext.class
|
||||
/Java8Parser$AnnotationMethodRestContext.class
|
||||
/Java8Parser$CatchClauseContext.class
|
||||
/Java8Parser$CatchTypeContext.class
|
||||
/Java8Parser$ClassBodyContext.class
|
||||
/Java8Parser$ClassCreatorRestContext.class
|
||||
/Java8Parser$ClassDeclarationContext.class
|
||||
/Java8Parser$CompilationUnitContext.class
|
||||
/Java8Parser$ConstantDeclaratorContext.class
|
||||
/Java8Parser$ConstantExpressionContext.class
|
||||
/Java8Parser$ConstructorDeclarationContext.class
|
||||
/Java8Parser$ElementValuePairsContext.class
|
||||
/Java8Parser$EnumDeclarationContext.class
|
||||
/Java8Parser$ExpressionContext.class
|
||||
/Java8Parser$ExpressionListContext.class
|
||||
/Java8Parser$FieldDeclarationContext.class
|
||||
/Java8Parser$ForControlContext.class
|
||||
/Java8Parser$ForUpdateContext.class
|
||||
/Java8Parser$FormalParameterListContext.class
|
||||
/Java8Parser$GenericConstructorDeclarationContext.class
|
||||
/Java8Parser$InnerCreatorContext.class
|
||||
/Java8Parser$InterfaceBodyContext.class
|
||||
/Java8Parser$InterfaceMemberDeclarationContext.class
|
||||
/Java8Parser$InterfaceMethodDeclarationContext.class
|
||||
/Java8Parser$LastFormalParameterContext.class
|
||||
/Java8Parser$LiteralContext.class
|
||||
/Java8Parser$LocalVariableDeclarationStatementContext.class
|
||||
/Java8Parser$MethodDeclarationContext.class
|
||||
/Java8Parser$ModifierContext.class
|
||||
/Java8Parser$NonWildcardTypeArgumentsContext.class
|
||||
/Java8Parser$PrimitiveTypeContext.class
|
||||
/Java8Parser$ResourceSpecificationContext.class
|
||||
/Java8Parser$ResourcesContext.class
|
||||
/Java8Parser$SwitchBlockStatementGroupContext.class
|
||||
/Java8Parser$TypeArgumentsOrDiamondContext.class
|
||||
/Java8Parser$TypeBoundContext.class
|
||||
/Java8Parser$TypeDeclarationContext.class
|
||||
/Java8Parser$TypeListContext.class
|
||||
/Java8Parser$TypeParametersContext.class
|
||||
/Java8Parser$VariableDeclaratorIdContext.class
|
||||
/Java8Parser$VariableInitializerContext.class
|
||||
/Java8Parser$VariableModifierContext.class
|
||||
/SyntaxTreeBuilder.class
|
||||
/Test.class
|
||||
/Java8BaseListener.class
|
||||
/Java8Lexer.class
|
||||
/Java8Listener.class
|
||||
/Java8Parser$AnnotationMethodOrConstantRestContext.class
|
||||
/Java8Parser$AnnotationNameContext.class
|
||||
/Java8Parser$AnnotationTypeBodyContext.class
|
||||
/Java8Parser$AnnotationTypeDeclarationContext.class
|
||||
/Java8Parser$AnnotationTypeElementDeclarationContext.class
|
||||
/Java8Parser$AnnotationTypeElementRestContext.class
|
||||
/Java8Parser$ArgumentsContext.class
|
||||
/Java8Parser$ArrayCreatorRestContext.class
|
||||
/Java8Parser$ArrayInitializerContext.class
|
||||
/Java8Parser$BlockContext.class
|
||||
/Java8Parser$BlockStatementContext.class
|
||||
/Java8Parser$ClassBodyDeclarationContext.class
|
||||
/Java8Parser$ClassOrInterfaceModifierContext.class
|
||||
/Java8Parser$ClassOrInterfaceTypeContext.class
|
||||
/Java8Parser$ConstDeclarationContext.class
|
||||
/Java8Parser$ConstructorBodyContext.class
|
||||
/Java8Parser$CreatedNameContext.class
|
||||
/Java8Parser$CreatorContext.class
|
||||
/Java8Parser$DefaultValueContext.class
|
||||
/Java8Parser$ElementValueArrayInitializerContext.class
|
||||
/Java8Parser$ElementValueContext.class
|
||||
/Java8Parser$ElementValuePairContext.class
|
||||
/Java8Parser$EnhancedForControlContext.class
|
||||
/Java8Parser$EnumBodyDeclarationsContext.class
|
||||
/Java8Parser$EnumConstantContext.class
|
||||
/Java8Parser$EnumConstantNameContext.class
|
||||
/Java8Parser$EnumConstantsContext.class
|
||||
/Java8Parser$ExplicitGenericInvocationContext.class
|
||||
/Java8Parser$ExplicitGenericInvocationSuffixContext.class
|
||||
/Java8Parser$FinallyBlockContext.class
|
||||
/Java8Parser$ForInitContext.class
|
||||
/Java8Parser$FormalParameterContext.class
|
||||
/Java8Parser$FormalParametersContext.class
|
||||
/Java8Parser$GenericInterfaceMethodDeclarationContext.class
|
||||
/Java8Parser$GenericMethodDeclarationContext.class
|
||||
/Java8Parser$ImportDeclarationContext.class
|
||||
/Java8Parser$InterfaceBodyDeclarationContext.class
|
||||
/Java8Parser$InterfaceDeclarationContext.class
|
||||
/Java8Parser$LocalVariableDeclarationContext.class
|
||||
/Java8Parser$MemberDeclarationContext.class
|
||||
/Java8Parser$MethodBodyContext.class
|
||||
/Java8Parser$NonWildcardTypeArgumentsOrDiamondContext.class
|
||||
/Java8Parser$PackageDeclarationContext.class
|
||||
/Java8Parser$ParExpressionContext.class
|
||||
/Java8Parser$PrimaryContext.class
|
||||
/Java8Parser$QualifiedNameContext.class
|
||||
/Java8Parser$QualifiedNameListContext.class
|
||||
/Java8Parser$ResourceContext.class
|
||||
/Java8Parser$StatementContext.class
|
||||
/Java8Parser$StatementExpressionContext.class
|
||||
/Java8Parser$SuperSuffixContext.class
|
||||
/Java8Parser$SwitchLabelContext.class
|
||||
/Java8Parser$TypeArgumentContext.class
|
||||
/Java8Parser$TypeArgumentsContext.class
|
||||
/Java8Parser$TypeContext.class
|
||||
/Java8Parser$TypeParameterContext.class
|
||||
/Java8Parser$VariableDeclaratorContext.class
|
||||
/Java8Parser$VariableDeclaratorsContext.class
|
||||
/Java8Parser.class
|
1
src/de/dhbwstuttgart/antlr/.idea/.name
generated
Normal file
1
src/de/dhbwstuttgart/antlr/.idea/.name
generated
Normal file
@ -0,0 +1 @@
|
||||
antlr
|
11
src/de/dhbwstuttgart/antlr/.idea/antlr.iml
generated
Normal file
11
src/de/dhbwstuttgart/antlr/.idea/antlr.iml
generated
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="JAVA_MODULE" version="4">
|
||||
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="antlr-4.4-complete" level="project" />
|
||||
</component>
|
||||
</module>
|
||||
|
23
src/de/dhbwstuttgart/antlr/.idea/compiler.xml
generated
Normal file
23
src/de/dhbwstuttgart/antlr/.idea/compiler.xml
generated
Normal file
@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<option name="DEFAULT_COMPILER" value="Javac" />
|
||||
<resourceExtensions />
|
||||
<wildcardResourcePatterns>
|
||||
<entry name="!?*.java" />
|
||||
<entry name="!?*.form" />
|
||||
<entry name="!?*.class" />
|
||||
<entry name="!?*.groovy" />
|
||||
<entry name="!?*.scala" />
|
||||
<entry name="!?*.flex" />
|
||||
<entry name="!?*.kt" />
|
||||
<entry name="!?*.clj" />
|
||||
</wildcardResourcePatterns>
|
||||
<annotationProcessing>
|
||||
<profile default="true" name="Default" enabled="false">
|
||||
<processorPath useClasspath="true" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
</project>
|
||||
|
3
src/de/dhbwstuttgart/antlr/.idea/copyright/profiles_settings.xml
generated
Normal file
3
src/de/dhbwstuttgart/antlr/.idea/copyright/profiles_settings.xml
generated
Normal file
@ -0,0 +1,3 @@
|
||||
<component name="CopyrightManager">
|
||||
<settings default="" />
|
||||
</component>
|
5
src/de/dhbwstuttgart/antlr/.idea/encodings.xml
generated
Normal file
5
src/de/dhbwstuttgart/antlr/.idea/encodings.xml
generated
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
|
||||
</project>
|
||||
|
9
src/de/dhbwstuttgart/antlr/.idea/libraries/antlr_4_4_complete.xml
generated
Normal file
9
src/de/dhbwstuttgart/antlr/.idea/libraries/antlr_4_4_complete.xml
generated
Normal file
@ -0,0 +1,9 @@
|
||||
<component name="libraryTable">
|
||||
<library name="antlr-4.4-complete">
|
||||
<CLASSES>
|
||||
<root url="jar://$PROJECT_DIR$/antlr-4.4-complete.jar!/" />
|
||||
</CLASSES>
|
||||
<JAVADOC />
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
5
src/de/dhbwstuttgart/antlr/.idea/misc.xml
generated
Normal file
5
src/de/dhbwstuttgart/antlr/.idea/misc.xml
generated
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
|
||||
</project>
|
||||
|
9
src/de/dhbwstuttgart/antlr/.idea/modules.xml
generated
Normal file
9
src/de/dhbwstuttgart/antlr/.idea/modules.xml
generated
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/antlr.iml" filepath="$PROJECT_DIR$/.idea/antlr.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
|
5
src/de/dhbwstuttgart/antlr/.idea/scopes/scope_settings.xml
generated
Normal file
5
src/de/dhbwstuttgart/antlr/.idea/scopes/scope_settings.xml
generated
Normal file
@ -0,0 +1,5 @@
|
||||
<component name="DependencyValidationManager">
|
||||
<state>
|
||||
<option name="SKIP_IMPORT_STATEMENTS" value="false" />
|
||||
</state>
|
||||
</component>
|
7
src/de/dhbwstuttgart/antlr/.idea/vcs.xml
generated
Normal file
7
src/de/dhbwstuttgart/antlr/.idea/vcs.xml
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
|
572
src/de/dhbwstuttgart/antlr/.idea/workspace.xml
generated
Normal file
572
src/de/dhbwstuttgart/antlr/.idea/workspace.xml
generated
Normal file
@ -0,0 +1,572 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="0c4899e3-58fa-4483-8624-ca65ed9ee7c8" name="Default" comment="">
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/antlr.iml" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/compiler.xml" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/encodings.xml" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/modules.xml" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/copyright/profiles_settings.xml" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/scopes/scope_settings.xml" />
|
||||
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/vcs.xml" />
|
||||
</list>
|
||||
<ignored path="antlr.iws" />
|
||||
<ignored path=".idea/workspace.xml" />
|
||||
<option name="TRACKING_ENABLED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
|
||||
<component name="CreatePatchCommitExecutor">
|
||||
<option name="PATCH_PATH" value="" />
|
||||
</component>
|
||||
<component name="DaemonCodeAnalyzer">
|
||||
<disable_hints />
|
||||
</component>
|
||||
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
|
||||
<component name="FavoritesManager">
|
||||
<favorites_list name="antlr" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf>
|
||||
<file leaf-file-name="Test.java" pinned="false" current="true" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/Test.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.2642487" vertical-offset="0" max-vertical-offset="965">
|
||||
<caret line="17" column="0" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="ParseTreeWalker.class" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="jar://$PROJECT_DIR$/antlr-4.4-complete.jar!/org/antlr/v4/runtime/tree/ParseTreeWalker.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="-3.0" vertical-offset="0" max-vertical-offset="315">
|
||||
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Java8BaseListener.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/Java8BaseListener.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="28080">
|
||||
<caret line="19" column="72" selection-start-line="19" selection-start-column="72" selection-end-line="19" selection-end-column="72" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Java8Parser.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/Java8Parser.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="-4.740741" vertical-offset="23422" max-vertical-offset="123525">
|
||||
<caret line="1744" column="24" selection-start-line="1744" selection-start-column="24" selection-end-line="1744" selection-end-column="24" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Java8Parser.class" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/Java8Parser.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="30480">
|
||||
<caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
<file leaf-file-name="Java8Lexer.java" pinned="false" current="false" current-in-tab="false">
|
||||
<entry file="file://$PROJECT_DIR$/Java8Lexer.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="7875">
|
||||
<caret line="12" column="13" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FindManager">
|
||||
<FindUsagesManager>
|
||||
<setting name="OPEN_NEW_TAB" value="true" />
|
||||
</FindUsagesManager>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="changedFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/Test.java" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectFrameBounds">
|
||||
<option name="x" value="1" />
|
||||
<option name="y" value="19" />
|
||||
<option name="width" value="1918" />
|
||||
<option name="height" value="1060" />
|
||||
</component>
|
||||
<component name="ProjectLevelVcsManager" settingsEditedManually="false">
|
||||
<OptionsSetting value="true" id="Add" />
|
||||
<OptionsSetting value="true" id="Remove" />
|
||||
<OptionsSetting value="true" id="Checkout" />
|
||||
<OptionsSetting value="true" id="Update" />
|
||||
<OptionsSetting value="true" id="Status" />
|
||||
<OptionsSetting value="true" id="Edit" />
|
||||
<ConfirmationsSetting value="0" id="Add" />
|
||||
<ConfirmationsSetting value="0" id="Remove" />
|
||||
</component>
|
||||
<component name="ProjectReloadState">
|
||||
<option name="STATE" value="0" />
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator currentView="Scope" currentSubView="Project Files" proportions="" version="1">
|
||||
<flattenPackages />
|
||||
<showMembers />
|
||||
<showModules />
|
||||
<showLibraryContents />
|
||||
<hideEmptyPackages />
|
||||
<abbreviatePackageNames />
|
||||
<autoscrollToSource />
|
||||
<autoscrollFromSource />
|
||||
<sortByType />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="PackagesPane" />
|
||||
<pane id="Scope">
|
||||
<subPane subId="Project Files">
|
||||
<PATH>
|
||||
<PATH_ELEMENT USER_OBJECT="Root">
|
||||
<option name="myItemId" value="" />
|
||||
<option name="myItemType" value="" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT USER_OBJECT="antlr">
|
||||
<option name="myItemId" value="" />
|
||||
<option name="myItemType" value="" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="antlr" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="External Libraries" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
<PATH>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="antlr" />
|
||||
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
||||
</PATH_ELEMENT>
|
||||
<PATH_ELEMENT>
|
||||
<option name="myItemId" value="antlr" />
|
||||
<option name="myItemType" value="com.android.tools.idea.gradle.projectView.AndroidPsiDirectoryNode" />
|
||||
</PATH_ELEMENT>
|
||||
</PATH>
|
||||
</subPane>
|
||||
</pane>
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="GoToClass.includeLibraries" value="false" />
|
||||
<property name="GoToClass.toSaveIncludeLibraries" value="false" />
|
||||
<property name="GoToFile.includeJavaFiles" value="false" />
|
||||
<property name="MemberChooser.sorted" value="false" />
|
||||
<property name="MemberChooser.showClasses" value="true" />
|
||||
<property name="MemberChooser.copyJavadoc" value="false" />
|
||||
<property name="recentsLimit" value="5" />
|
||||
<property name="LayoutCode.rearrangeEntries" value="false" />
|
||||
<property name="options.lastSelected" value="preferences.keymap" />
|
||||
<property name="options.splitter.main.proportions" value="0.3" />
|
||||
<property name="options.splitter.details.proportions" value="0.2" />
|
||||
<property name="options.searchVisible" value="true" />
|
||||
<property name="last_opened_file_path" value="$PROJECT_DIR$/antlr-4.4-complete.jar!/" />
|
||||
<property name="project.structure.last.edited" value="Modules" />
|
||||
<property name="project.structure.proportion" value="0.15" />
|
||||
<property name="project.structure.side.proportion" value="0.2" />
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
<configuration default="true" type="JUnit" factoryName="JUnit">
|
||||
<module name="" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="PACKAGE_NAME" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="METHOD_NAME" />
|
||||
<option name="TEST_OBJECT" value="class" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<envs />
|
||||
<patterns />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="Remote" factoryName="Remote">
|
||||
<option name="USE_SOCKET_TRANSPORT" value="true" />
|
||||
<option name="SERVER_MODE" value="false" />
|
||||
<option name="SHMEM_ADDRESS" value="javadebug" />
|
||||
<option name="HOST" value="localhost" />
|
||||
<option name="PORT" value="5005" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="AndroidRunConfigurationType" factoryName="Android Application">
|
||||
<module name="" />
|
||||
<option name="ACTIVITY_CLASS" value="" />
|
||||
<option name="MODE" value="default_activity" />
|
||||
<option name="DEPLOY" value="true" />
|
||||
<option name="ARTIFACT_NAME" value="" />
|
||||
<option name="TARGET_SELECTION_MODE" value="EMULATOR" />
|
||||
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
|
||||
<option name="PREFERRED_AVD" value="" />
|
||||
<option name="USE_COMMAND_LINE" value="true" />
|
||||
<option name="COMMAND_LINE" value="" />
|
||||
<option name="WIPE_USER_DATA" value="false" />
|
||||
<option name="DISABLE_BOOT_ANIMATION" value="false" />
|
||||
<option name="NETWORK_SPEED" value="full" />
|
||||
<option name="NETWORK_LATENCY" value="none" />
|
||||
<option name="CLEAR_LOGCAT" value="false" />
|
||||
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
|
||||
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="AndroidTestRunConfigurationType" factoryName="Android Tests">
|
||||
<module name="" />
|
||||
<option name="TESTING_TYPE" value="0" />
|
||||
<option name="INSTRUMENTATION_RUNNER_CLASS" value="" />
|
||||
<option name="METHOD_NAME" value="" />
|
||||
<option name="CLASS_NAME" value="" />
|
||||
<option name="PACKAGE_NAME" value="" />
|
||||
<option name="TARGET_SELECTION_MODE" value="EMULATOR" />
|
||||
<option name="USE_LAST_SELECTED_DEVICE" value="false" />
|
||||
<option name="PREFERRED_AVD" value="" />
|
||||
<option name="USE_COMMAND_LINE" value="true" />
|
||||
<option name="COMMAND_LINE" value="" />
|
||||
<option name="WIPE_USER_DATA" value="false" />
|
||||
<option name="DISABLE_BOOT_ANIMATION" value="false" />
|
||||
<option name="NETWORK_SPEED" value="full" />
|
||||
<option name="NETWORK_LATENCY" value="none" />
|
||||
<option name="CLEAR_LOGCAT" value="false" />
|
||||
<option name="SHOW_LOGCAT_AUTOMATICALLY" value="true" />
|
||||
<option name="FILTER_LOGCAT_AUTOMATICALLY" value="true" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
|
||||
<module name="" />
|
||||
<option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
|
||||
<option name="PROGRAM_PARAMETERS" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="Applet" factoryName="Applet">
|
||||
<module name="" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="HTML_FILE_NAME" />
|
||||
<option name="HTML_USED" value="false" />
|
||||
<option name="WIDTH" value="400" />
|
||||
<option name="HEIGHT" value="300" />
|
||||
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="Application" factoryName="Application">
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="VM_PARAMETERS" />
|
||||
<option name="PROGRAM_PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="ENABLE_SWING_INSPECTOR" value="false" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<module name="" />
|
||||
<envs />
|
||||
<method />
|
||||
</configuration>
|
||||
<configuration default="true" type="TestNG" factoryName="TestNG">
|
||||
<module name="" />
|
||||
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
|
||||
<option name="ALTERNATIVE_JRE_PATH" />
|
||||
<option name="SUITE_NAME" />
|
||||
<option name="PACKAGE_NAME" />
|
||||
<option name="MAIN_CLASS_NAME" />
|
||||
<option name="METHOD_NAME" />
|
||||
<option name="GROUP_NAME" />
|
||||
<option name="TEST_OBJECT" value="CLASS" />
|
||||
<option name="VM_PARAMETERS" value="-ea" />
|
||||
<option name="PARAMETERS" />
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
|
||||
<option name="OUTPUT_DIRECTORY" />
|
||||
<option name="ANNOTATION_TYPE" />
|
||||
<option name="ENV_VARIABLES" />
|
||||
<option name="PASS_PARENT_ENVS" value="true" />
|
||||
<option name="TEST_SEARCH_SCOPE">
|
||||
<value defaultName="moduleWithDependencies" />
|
||||
</option>
|
||||
<option name="USE_DEFAULT_REPORTERS" value="false" />
|
||||
<option name="PROPERTIES_FILE" />
|
||||
<envs />
|
||||
<properties />
|
||||
<listeners />
|
||||
<method />
|
||||
</configuration>
|
||||
<list size="0" />
|
||||
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
||||
<Host>localhost</Host>
|
||||
<Port>5050</Port>
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="ShelveChangesManager" show_recycled="false" />
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="0c4899e3-58fa-4483-8624-ca65ed9ee7c8" name="Default" comment="" />
|
||||
<created>1409770188585</created>
|
||||
<updated>1409770188585</updated>
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="1" y="19" width="1918" height="1060" extended-state="6" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Palette	" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3296371" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.12460897" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="Vcs.Log.UiProperties">
|
||||
<option name="RECENTLY_FILTERED_USER_GROUPS">
|
||||
<collection />
|
||||
</option>
|
||||
<option name="RECENTLY_FILTERED_BRANCH_GROUPS">
|
||||
<collection />
|
||||
</option>
|
||||
</component>
|
||||
<component name="VcsContentAnnotationSettings">
|
||||
<option name="myLimit" value="2678400000" />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="myTodoPanelSettings">
|
||||
<TodoPanelSettings />
|
||||
</option>
|
||||
</component>
|
||||
<component name="XDebuggerManager">
|
||||
<breakpoint-manager>
|
||||
<option name="time" value="1" />
|
||||
</breakpoint-manager>
|
||||
</component>
|
||||
<component name="antWorkspaceConfiguration">
|
||||
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
|
||||
<option name="FILTER_TARGETS" value="false" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/Test.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="285">
|
||||
<caret line="13" column="0" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Java8Lexer.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="7875">
|
||||
<caret line="12" column="13" selection-start-line="12" selection-start-column="13" selection-end-line="12" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Test.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="210">
|
||||
<caret line="8" column="1" selection-start-line="8" selection-start-column="1" selection-end-line="8" selection-end-column="1" />
|
||||
<folding>
|
||||
<element signature="e#0#290#0" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Java8Parser.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="30480">
|
||||
<caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="jar://$PROJECT_DIR$/antlr-4.4-complete.jar!/org/antlr/v4/runtime/tree/ParseTreeWalker.class">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="-3.0" vertical-offset="0" max-vertical-offset="315">
|
||||
<caret line="6" column="13" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Java8BaseListener.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.0" vertical-offset="0" max-vertical-offset="28080">
|
||||
<caret line="19" column="72" selection-start-line="19" selection-start-column="72" selection-end-line="19" selection-end-column="72" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Java8Parser.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="-4.740741" vertical-offset="23422" max-vertical-offset="123525">
|
||||
<caret line="1744" column="24" selection-start-line="1744" selection-start-column="24" selection-end-line="1744" selection-end-column="24" />
|
||||
<folding />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/Test.java">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state vertical-scroll-proportion="0.2642487" vertical-offset="0" max-vertical-offset="965">
|
||||
<caret line="17" column="0" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
|
||||
<folding>
|
||||
<element signature="imports" expanded="true" />
|
||||
</folding>
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
<component name="masterDetails">
|
||||
<states>
|
||||
<state key="ArtifactsStructureConfigurable.UI">
|
||||
<settings>
|
||||
<artifact-editor />
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="FacetStructureConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>No facets are configured</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="GlobalLibrariesConfigurable.UI">
|
||||
<settings>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="JdkListConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>1.8</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="ModuleStructureConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>antlr</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
<option value="0.6" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="ProjectJDKs.UI">
|
||||
<settings>
|
||||
<last-edited>1.8</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
<state key="ProjectLibrariesConfigurable.UI">
|
||||
<settings>
|
||||
<last-edited>antlr-4.4-complete</last-edited>
|
||||
<splitter-proportions>
|
||||
<option name="proportions">
|
||||
<list>
|
||||
<option value="0.2" />
|
||||
</list>
|
||||
</option>
|
||||
</splitter-proportions>
|
||||
</settings>
|
||||
</state>
|
||||
</states>
|
||||
</component>
|
||||
</project>
|
||||
|
17
src/de/dhbwstuttgart/antlr/.project
Normal file
17
src/de/dhbwstuttgart/antlr/.project
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>AntlrTest</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
1028
src/de/dhbwstuttgart/antlr/Java8.g4
Normal file
1028
src/de/dhbwstuttgart/antlr/Java8.g4
Normal file
File diff suppressed because it is too large
Load Diff
201
src/de/dhbwstuttgart/antlr/Java8.tokens
Normal file
201
src/de/dhbwstuttgart/antlr/Java8.tokens
Normal file
@ -0,0 +1,201 @@
|
||||
THROW=44
|
||||
STATIC=38
|
||||
INTERFACE=28
|
||||
AND_ASSIGN=93
|
||||
BREAK=4
|
||||
BYTE=5
|
||||
ELSE=15
|
||||
IF=22
|
||||
ENUM=16
|
||||
SUB=82
|
||||
BANG=69
|
||||
LPAREN=57
|
||||
DOT=65
|
||||
CASE=6
|
||||
AT=101
|
||||
LINE_COMMENT=105
|
||||
StringLiteral=55
|
||||
ELLIPSIS=102
|
||||
LBRACK=61
|
||||
PUBLIC=35
|
||||
THROWS=45
|
||||
NullLiteral=56
|
||||
RSHIFT_ASSIGN=98
|
||||
LBRACE=59
|
||||
GOTO=23
|
||||
SUB_ASSIGN=90
|
||||
SEMI=63
|
||||
CHAR=8
|
||||
ASSIGN=66
|
||||
COMMENT=104
|
||||
IMPORT=25
|
||||
BITOR=86
|
||||
CATCH=7
|
||||
MUL_ASSIGN=91
|
||||
DOUBLE=14
|
||||
PROTECTED=34
|
||||
LONG=29
|
||||
COMMA=64
|
||||
BITAND=85
|
||||
PRIVATE=33
|
||||
CONTINUE=11
|
||||
DIV=84
|
||||
FloatingPointLiteral=52
|
||||
LE=74
|
||||
CharacterLiteral=54
|
||||
VOLATILE=49
|
||||
EXTENDS=17
|
||||
INSTANCEOF=26
|
||||
NEW=31
|
||||
ADD=81
|
||||
LT=68
|
||||
CLASS=9
|
||||
DO=13
|
||||
FINALLY=19
|
||||
Identifier=100
|
||||
CONST=10
|
||||
PACKAGE=32
|
||||
OR_ASSIGN=94
|
||||
TRY=47
|
||||
IntegerLiteral=51
|
||||
SYNCHRONIZED=42
|
||||
MUL=83
|
||||
FOR=21
|
||||
FINAL=18
|
||||
RPAREN=58
|
||||
CARET=87
|
||||
URSHIFT_ASSIGN=99
|
||||
BOOLEAN=3
|
||||
NOTEQUAL=76
|
||||
RBRACK=62
|
||||
RBRACE=60
|
||||
AND=77
|
||||
THIS=43
|
||||
SWITCH=41
|
||||
VOID=48
|
||||
TRANSIENT=46
|
||||
INC=79
|
||||
FLOAT=20
|
||||
NATIVE=30
|
||||
DIV_ASSIGN=92
|
||||
BooleanLiteral=53
|
||||
ABSTRACT=1
|
||||
STRICTFP=39
|
||||
INT=27
|
||||
QUESTION=71
|
||||
RETURN=36
|
||||
LSHIFT_ASSIGN=97
|
||||
ADD_ASSIGN=89
|
||||
WS=103
|
||||
GE=75
|
||||
SUPER=40
|
||||
OR=78
|
||||
DEC=80
|
||||
MOD=88
|
||||
XOR_ASSIGN=95
|
||||
ASSERT=2
|
||||
EQUAL=73
|
||||
IMPLEMENTS=24
|
||||
COLON=72
|
||||
GT=67
|
||||
SHORT=37
|
||||
MOD_ASSIGN=96
|
||||
WHILE=50
|
||||
TILDE=70
|
||||
DEFAULT=12
|
||||
'import'=25
|
||||
'-'=82
|
||||
')'=58
|
||||
'super'=40
|
||||
'else'=15
|
||||
'%'=88
|
||||
'!'=69
|
||||
'>'=67
|
||||
'public'=35
|
||||
'=='=73
|
||||
'--'=80
|
||||
'|'=86
|
||||
'['=61
|
||||
':'=72
|
||||
'...'=102
|
||||
'throw'=44
|
||||
'case'=6
|
||||
'.'=65
|
||||
'this'=43
|
||||
'*'=83
|
||||
'switch'=41
|
||||
'synchronized'=42
|
||||
'&'=85
|
||||
'double'=14
|
||||
'break'=4
|
||||
'short'=37
|
||||
'<='=74
|
||||
'enum'=16
|
||||
'try'=47
|
||||
'?'=71
|
||||
'if'=22
|
||||
'extends'=17
|
||||
'goto'=23
|
||||
'}'=60
|
||||
'instanceof'=26
|
||||
';'=63
|
||||
'||'=78
|
||||
'>>='=98
|
||||
'class'=9
|
||||
'return'=36
|
||||
'&='=93
|
||||
'catch'=7
|
||||
'native'=30
|
||||
'continue'=11
|
||||
'strictfp'=39
|
||||
'/'=84
|
||||
'*='=91
|
||||
'+'=81
|
||||
'final'=18
|
||||
'protected'=34
|
||||
'static'=38
|
||||
'@'=101
|
||||
'transient'=46
|
||||
'~'=70
|
||||
'assert'=2
|
||||
']'=62
|
||||
'<'=68
|
||||
'++'=79
|
||||
'>>>='=99
|
||||
'>='=75
|
||||
'long'=29
|
||||
'boolean'=3
|
||||
'const'=10
|
||||
'abstract'=1
|
||||
'implements'=24
|
||||
'volatile'=49
|
||||
'throws'=45
|
||||
'/='=92
|
||||
','=64
|
||||
'-='=90
|
||||
'do'=13
|
||||
'package'=32
|
||||
'('=57
|
||||
'null'=56
|
||||
'int'=27
|
||||
'|='=94
|
||||
'for'=21
|
||||
'^'=87
|
||||
'<<='=97
|
||||
'='=66
|
||||
'byte'=5
|
||||
'&&'=77
|
||||
'^='=95
|
||||
'void'=48
|
||||
'while'=50
|
||||
'{'=59
|
||||
'float'=20
|
||||
'!='=76
|
||||
'new'=31
|
||||
'char'=8
|
||||
'finally'=19
|
||||
'interface'=28
|
||||
'%='=96
|
||||
'private'=33
|
||||
'+='=89
|
||||
'default'=12
|
723
src/de/dhbwstuttgart/antlr/Java8BaseVisitor.java
Normal file
723
src/de/dhbwstuttgart/antlr/Java8BaseVisitor.java
Normal file
@ -0,0 +1,723 @@
|
||||
package de.dhbwstuttgart.antlr;
|
||||
|
||||
// Generated from Java8.g4 by ANTLR 4.4
|
||||
import org.antlr.v4.runtime.misc.NotNull;
|
||||
import org.antlr.v4.runtime.tree.AbstractParseTreeVisitor;
|
||||
|
||||
/**
|
||||
* This class provides an empty implementation of {@link Java8Visitor},
|
||||
* which can be extended to create a visitor which only needs to handle a subset
|
||||
* of the available methods.
|
||||
*
|
||||
* @param <T> The return type of the visit operation. Use {@link Void} for
|
||||
* operations with no return type.
|
||||
*/
|
||||
public class Java8BaseVisitor<T> extends AbstractParseTreeVisitor<T> implements Java8Visitor<T> {
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitMemberDeclaration(@NotNull Java8Parser.MemberDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitDefaultValue(@NotNull Java8Parser.DefaultValueContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitAnnotationTypeElementDeclaration(@NotNull Java8Parser.AnnotationTypeElementDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitType(@NotNull Java8Parser.TypeContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitAnnotationTypeBody(@NotNull Java8Parser.AnnotationTypeBodyContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitGenericInterfaceMethodDeclaration(@NotNull Java8Parser.GenericInterfaceMethodDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitClassBodyDeclaration(@NotNull Java8Parser.ClassBodyDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitBlock(@NotNull Java8Parser.BlockContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitEnumBodyDeclarations(@NotNull Java8Parser.EnumBodyDeclarationsContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitForUpdate(@NotNull Java8Parser.ForUpdateContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitEnhancedForControl(@NotNull Java8Parser.EnhancedForControlContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitAnnotationConstantRest(@NotNull Java8Parser.AnnotationConstantRestContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitExplicitGenericInvocation(@NotNull Java8Parser.ExplicitGenericInvocationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitNonWildcardTypeArgumentsOrDiamond(@NotNull Java8Parser.NonWildcardTypeArgumentsOrDiamondContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitExpressionList(@NotNull Java8Parser.ExpressionListContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitAnnotationTypeElementRest(@NotNull Java8Parser.AnnotationTypeElementRestContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitClassOrInterfaceType(@NotNull Java8Parser.ClassOrInterfaceTypeContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitTypeBound(@NotNull Java8Parser.TypeBoundContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitVariableDeclaratorId(@NotNull Java8Parser.VariableDeclaratorIdContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitPrimary(@NotNull Java8Parser.PrimaryContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitClassCreatorRest(@NotNull Java8Parser.ClassCreatorRestContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitInterfaceBodyDeclaration(@NotNull Java8Parser.InterfaceBodyDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitTypeArguments(@NotNull Java8Parser.TypeArgumentsContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitAnnotationName(@NotNull Java8Parser.AnnotationNameContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitFinallyBlock(@NotNull Java8Parser.FinallyBlockContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitTypeParameters(@NotNull Java8Parser.TypeParametersContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitLastFormalParameter(@NotNull Java8Parser.LastFormalParameterContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitConstructorBody(@NotNull Java8Parser.ConstructorBodyContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitLiteral(@NotNull Java8Parser.LiteralContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitAnnotationMethodOrConstantRest(@NotNull Java8Parser.AnnotationMethodOrConstantRestContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitCatchClause(@NotNull Java8Parser.CatchClauseContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitVariableDeclarator(@NotNull Java8Parser.VariableDeclaratorContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitTypeList(@NotNull Java8Parser.TypeListContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitEnumConstants(@NotNull Java8Parser.EnumConstantsContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitClassBody(@NotNull Java8Parser.ClassBodyContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitCreatedName(@NotNull Java8Parser.CreatedNameContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitEnumDeclaration(@NotNull Java8Parser.EnumDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitFormalParameter(@NotNull Java8Parser.FormalParameterContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitParExpression(@NotNull Java8Parser.ParExpressionContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitAnnotation(@NotNull Java8Parser.AnnotationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitVariableInitializer(@NotNull Java8Parser.VariableInitializerContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitElementValueArrayInitializer(@NotNull Java8Parser.ElementValueArrayInitializerContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitCreator(@NotNull Java8Parser.CreatorContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitArrayCreatorRest(@NotNull Java8Parser.ArrayCreatorRestContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitExpression(@NotNull Java8Parser.ExpressionContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitConstantExpression(@NotNull Java8Parser.ConstantExpressionContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitQualifiedNameList(@NotNull Java8Parser.QualifiedNameListContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitConstructorDeclaration(@NotNull Java8Parser.ConstructorDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitForControl(@NotNull Java8Parser.ForControlContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitSuperSuffix(@NotNull Java8Parser.SuperSuffixContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitVariableDeclarators(@NotNull Java8Parser.VariableDeclaratorsContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitCatchType(@NotNull Java8Parser.CatchTypeContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitClassOrInterfaceModifier(@NotNull Java8Parser.ClassOrInterfaceModifierContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitEnumConstantName(@NotNull Java8Parser.EnumConstantNameContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitModifier(@NotNull Java8Parser.ModifierContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitInnerCreator(@NotNull Java8Parser.InnerCreatorContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitExplicitGenericInvocationSuffix(@NotNull Java8Parser.ExplicitGenericInvocationSuffixContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitVariableModifier(@NotNull Java8Parser.VariableModifierContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitElementValuePair(@NotNull Java8Parser.ElementValuePairContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitArrayInitializer(@NotNull Java8Parser.ArrayInitializerContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitElementValue(@NotNull Java8Parser.ElementValueContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitConstDeclaration(@NotNull Java8Parser.ConstDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitResource(@NotNull Java8Parser.ResourceContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitQualifiedName(@NotNull Java8Parser.QualifiedNameContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitResourceSpecification(@NotNull Java8Parser.ResourceSpecificationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitFormalParameterList(@NotNull Java8Parser.FormalParameterListContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitAnnotationTypeDeclaration(@NotNull Java8Parser.AnnotationTypeDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitCompilationUnit(@NotNull Java8Parser.CompilationUnitContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitAnnotationMethodRest(@NotNull Java8Parser.AnnotationMethodRestContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitSwitchBlockStatementGroup(@NotNull Java8Parser.SwitchBlockStatementGroupContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitTypeParameter(@NotNull Java8Parser.TypeParameterContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitInterfaceBody(@NotNull Java8Parser.InterfaceBodyContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitMethodDeclaration(@NotNull Java8Parser.MethodDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitMethodBody(@NotNull Java8Parser.MethodBodyContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitTypeArgument(@NotNull Java8Parser.TypeArgumentContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitTypeDeclaration(@NotNull Java8Parser.TypeDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitGenericConstructorDeclaration(@NotNull Java8Parser.GenericConstructorDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitClassDeclaration(@NotNull Java8Parser.ClassDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitEnumConstant(@NotNull Java8Parser.EnumConstantContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitStatement(@NotNull Java8Parser.StatementContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitImportDeclaration(@NotNull Java8Parser.ImportDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitPrimitiveType(@NotNull Java8Parser.PrimitiveTypeContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitInterfaceDeclaration(@NotNull Java8Parser.InterfaceDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitLocalVariableDeclarationStatement(@NotNull Java8Parser.LocalVariableDeclarationStatementContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitBlockStatement(@NotNull Java8Parser.BlockStatementContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitFieldDeclaration(@NotNull Java8Parser.FieldDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitConstantDeclarator(@NotNull Java8Parser.ConstantDeclaratorContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitResources(@NotNull Java8Parser.ResourcesContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitStatementExpression(@NotNull Java8Parser.StatementExpressionContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitInterfaceMethodDeclaration(@NotNull Java8Parser.InterfaceMethodDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitPackageDeclaration(@NotNull Java8Parser.PackageDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitElementValuePairs(@NotNull Java8Parser.ElementValuePairsContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitLocalVariableDeclaration(@NotNull Java8Parser.LocalVariableDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitNonWildcardTypeArguments(@NotNull Java8Parser.NonWildcardTypeArgumentsContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitInterfaceMemberDeclaration(@NotNull Java8Parser.InterfaceMemberDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitSwitchLabel(@NotNull Java8Parser.SwitchLabelContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitForInit(@NotNull Java8Parser.ForInitContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitFormalParameters(@NotNull Java8Parser.FormalParametersContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitArguments(@NotNull Java8Parser.ArgumentsContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitGenericMethodDeclaration(@NotNull Java8Parser.GenericMethodDeclarationContext ctx) { return visitChildren(ctx); }
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*
|
||||
* <p>The default implementation returns the result of calling
|
||||
* {@link #visitChildren} on {@code ctx}.</p>
|
||||
*/
|
||||
@Override public T visitTypeArgumentsOrDiamond(@NotNull Java8Parser.TypeArgumentsOrDiamondContext ctx) { return visitChildren(ctx); }
|
||||
}
|
517
src/de/dhbwstuttgart/antlr/Java8Lexer.java
Normal file
517
src/de/dhbwstuttgart/antlr/Java8Lexer.java
Normal file
@ -0,0 +1,517 @@
|
||||
package de.dhbwstuttgart.antlr;
|
||||
|
||||
// Generated from Java8.g4 by ANTLR 4.4
|
||||
import org.antlr.v4.runtime.Lexer;
|
||||
import org.antlr.v4.runtime.CharStream;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
import org.antlr.v4.runtime.TokenStream;
|
||||
import org.antlr.v4.runtime.*;
|
||||
import org.antlr.v4.runtime.atn.*;
|
||||
import org.antlr.v4.runtime.dfa.DFA;
|
||||
import org.antlr.v4.runtime.misc.*;
|
||||
|
||||
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
|
||||
public class Java8Lexer extends Lexer {
|
||||
static { RuntimeMetaData.checkVersion("4.4", RuntimeMetaData.VERSION); }
|
||||
|
||||
protected static final DFA[] _decisionToDFA;
|
||||
protected static final PredictionContextCache _sharedContextCache =
|
||||
new PredictionContextCache();
|
||||
public static final int
|
||||
ABSTRACT=1, ASSERT=2, BOOLEAN=3, BREAK=4, BYTE=5, CASE=6, CATCH=7, CHAR=8,
|
||||
CLASS=9, CONST=10, CONTINUE=11, DEFAULT=12, DO=13, DOUBLE=14, ELSE=15,
|
||||
ENUM=16, EXTENDS=17, FINAL=18, FINALLY=19, FLOAT=20, FOR=21, IF=22, GOTO=23,
|
||||
IMPLEMENTS=24, IMPORT=25, INSTANCEOF=26, INT=27, INTERFACE=28, LONG=29,
|
||||
NATIVE=30, NEW=31, PACKAGE=32, PRIVATE=33, PROTECTED=34, PUBLIC=35, RETURN=36,
|
||||
SHORT=37, STATIC=38, STRICTFP=39, SUPER=40, SWITCH=41, SYNCHRONIZED=42,
|
||||
THIS=43, THROW=44, THROWS=45, TRANSIENT=46, TRY=47, VOID=48, VOLATILE=49,
|
||||
WHILE=50, IntegerLiteral=51, FloatingPointLiteral=52, BooleanLiteral=53,
|
||||
CharacterLiteral=54, StringLiteral=55, NullLiteral=56, LPAREN=57, RPAREN=58,
|
||||
LBRACE=59, RBRACE=60, LBRACK=61, RBRACK=62, SEMI=63, COMMA=64, DOT=65,
|
||||
ASSIGN=66, GT=67, LT=68, BANG=69, TILDE=70, QUESTION=71, COLON=72, EQUAL=73,
|
||||
LE=74, GE=75, NOTEQUAL=76, AND=77, OR=78, INC=79, DEC=80, ADD=81, SUB=82,
|
||||
MUL=83, DIV=84, BITAND=85, BITOR=86, CARET=87, MOD=88, ADD_ASSIGN=89,
|
||||
SUB_ASSIGN=90, MUL_ASSIGN=91, DIV_ASSIGN=92, AND_ASSIGN=93, OR_ASSIGN=94,
|
||||
XOR_ASSIGN=95, MOD_ASSIGN=96, LSHIFT_ASSIGN=97, RSHIFT_ASSIGN=98, URSHIFT_ASSIGN=99,
|
||||
Identifier=100, AT=101, ELLIPSIS=102, WS=103, COMMENT=104, LINE_COMMENT=105;
|
||||
public static String[] modeNames = {
|
||||
"DEFAULT_MODE"
|
||||
};
|
||||
|
||||
public static final String[] tokenNames = {
|
||||
"'\\u0000'", "'\\u0001'", "'\\u0002'", "'\\u0003'", "'\\u0004'", "'\\u0005'",
|
||||
"'\\u0006'", "'\\u0007'", "'\b'", "'\t'", "'\n'", "'\\u000B'", "'\f'",
|
||||
"'\r'", "'\\u000E'", "'\\u000F'", "'\\u0010'", "'\\u0011'", "'\\u0012'",
|
||||
"'\\u0013'", "'\\u0014'", "'\\u0015'", "'\\u0016'", "'\\u0017'", "'\\u0018'",
|
||||
"'\\u0019'", "'\\u001A'", "'\\u001B'", "'\\u001C'", "'\\u001D'", "'\\u001E'",
|
||||
"'\\u001F'", "' '", "'!'", "'\"'", "'#'", "'$'", "'%'", "'&'", "'''",
|
||||
"'('", "')'", "'*'", "'+'", "','", "'-'", "'.'", "'/'", "'0'", "'1'",
|
||||
"'2'", "'3'", "'4'", "'5'", "'6'", "'7'", "'8'", "'9'", "':'", "';'",
|
||||
"'<'", "'='", "'>'", "'?'", "'@'", "'A'", "'B'", "'C'", "'D'", "'E'",
|
||||
"'F'", "'G'", "'H'", "'I'", "'J'", "'K'", "'L'", "'M'", "'N'", "'O'",
|
||||
"'P'", "'Q'", "'R'", "'S'", "'T'", "'U'", "'V'", "'W'", "'X'", "'Y'",
|
||||
"'Z'", "'['", "'\\'", "']'", "'^'", "'_'", "'`'", "'a'", "'b'", "'c'",
|
||||
"'d'", "'e'", "'f'", "'g'", "'h'", "'i'"
|
||||
};
|
||||
public static final String[] ruleNames = {
|
||||
"ABSTRACT", "ASSERT", "BOOLEAN", "BREAK", "BYTE", "CASE", "CATCH", "CHAR",
|
||||
"CLASS", "CONST", "CONTINUE", "DEFAULT", "DO", "DOUBLE", "ELSE", "ENUM",
|
||||
"EXTENDS", "FINAL", "FINALLY", "FLOAT", "FOR", "IF", "GOTO", "IMPLEMENTS",
|
||||
"IMPORT", "INSTANCEOF", "INT", "INTERFACE", "LONG", "NATIVE", "NEW", "PACKAGE",
|
||||
"PRIVATE", "PROTECTED", "PUBLIC", "RETURN", "SHORT", "STATIC", "STRICTFP",
|
||||
"SUPER", "SWITCH", "SYNCHRONIZED", "THIS", "THROW", "THROWS", "TRANSIENT",
|
||||
"TRY", "VOID", "VOLATILE", "WHILE", "IntegerLiteral", "DecimalIntegerLiteral",
|
||||
"HexIntegerLiteral", "OctalIntegerLiteral", "BinaryIntegerLiteral", "IntegerTypeSuffix",
|
||||
"DecimalNumeral", "Digits", "Digit", "NonZeroDigit", "DigitOrUnderscore",
|
||||
"Underscores", "HexNumeral", "HexDigits", "HexDigit", "HexDigitOrUnderscore",
|
||||
"OctalNumeral", "OctalDigits", "OctalDigit", "OctalDigitOrUnderscore",
|
||||
"BinaryNumeral", "BinaryDigits", "BinaryDigit", "BinaryDigitOrUnderscore",
|
||||
"FloatingPointLiteral", "DecimalFloatingPointLiteral", "ExponentPart",
|
||||
"ExponentIndicator", "SignedInteger", "Sign", "FloatTypeSuffix", "HexadecimalFloatingPointLiteral",
|
||||
"HexSignificand", "BinaryExponent", "BinaryExponentIndicator", "BooleanLiteral",
|
||||
"CharacterLiteral", "SingleCharacter", "StringLiteral", "StringCharacters",
|
||||
"StringCharacter", "EscapeSequence", "OctalEscape", "UnicodeEscape", "ZeroToThree",
|
||||
"NullLiteral", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "LBRACK", "RBRACK",
|
||||
"SEMI", "COMMA", "DOT", "ASSIGN", "GT", "LT", "BANG", "TILDE", "QUESTION",
|
||||
"COLON", "EQUAL", "LE", "GE", "NOTEQUAL", "AND", "OR", "INC", "DEC", "ADD",
|
||||
"SUB", "MUL", "DIV", "BITAND", "BITOR", "CARET", "MOD", "ADD_ASSIGN",
|
||||
"SUB_ASSIGN", "MUL_ASSIGN", "DIV_ASSIGN", "AND_ASSIGN", "OR_ASSIGN", "XOR_ASSIGN",
|
||||
"MOD_ASSIGN", "LSHIFT_ASSIGN", "RSHIFT_ASSIGN", "URSHIFT_ASSIGN", "Identifier",
|
||||
"JavaLetter", "JavaLetterOrDigit", "AT", "ELLIPSIS", "WS", "COMMENT",
|
||||
"LINE_COMMENT"
|
||||
};
|
||||
|
||||
|
||||
public Java8Lexer(CharStream input) {
|
||||
super(input);
|
||||
_interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getGrammarFileName() { return "Java8.g4"; }
|
||||
|
||||
@Override
|
||||
public String[] getTokenNames() { return tokenNames; }
|
||||
|
||||
@Override
|
||||
public String[] getRuleNames() { return ruleNames; }
|
||||
|
||||
@Override
|
||||
public String getSerializedATN() { return _serializedATN; }
|
||||
|
||||
@Override
|
||||
public String[] getModeNames() { return modeNames; }
|
||||
|
||||
@Override
|
||||
public ATN getATN() { return _ATN; }
|
||||
|
||||
@Override
|
||||
public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
|
||||
switch (ruleIndex) {
|
||||
case 140: return JavaLetter_sempred((RuleContext)_localctx, predIndex);
|
||||
case 141: return JavaLetterOrDigit_sempred((RuleContext)_localctx, predIndex);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
private boolean JavaLetterOrDigit_sempred(RuleContext _localctx, int predIndex) {
|
||||
switch (predIndex) {
|
||||
case 2: return Character.isJavaIdentifierPart(_input.LA(-1));
|
||||
case 3: return Character.isJavaIdentifierPart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
private boolean JavaLetter_sempred(RuleContext _localctx, int predIndex) {
|
||||
switch (predIndex) {
|
||||
case 0: return Character.isJavaIdentifierStart(_input.LA(-1));
|
||||
case 1: return Character.isJavaIdentifierStart(Character.toCodePoint((char)_input.LA(-2), (char)_input.LA(-1)));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public static final String _serializedATN =
|
||||
"\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2k\u042e\b\1\4\2\t"+
|
||||
"\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13"+
|
||||
"\t\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
|
||||
"\4\23\t\23\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+
|
||||
"\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36\4\37\t\37\4 \t \4!"+
|
||||
"\t!\4\"\t\"\4#\t#\4$\t$\4%\t%\4&\t&\4\'\t\'\4(\t(\4)\t)\4*\t*\4+\t+\4"+
|
||||
",\t,\4-\t-\4.\t.\4/\t/\4\60\t\60\4\61\t\61\4\62\t\62\4\63\t\63\4\64\t"+
|
||||
"\64\4\65\t\65\4\66\t\66\4\67\t\67\48\t8\49\t9\4:\t:\4;\t;\4<\t<\4=\t="+
|
||||
"\4>\t>\4?\t?\4@\t@\4A\tA\4B\tB\4C\tC\4D\tD\4E\tE\4F\tF\4G\tG\4H\tH\4I"+
|
||||
"\tI\4J\tJ\4K\tK\4L\tL\4M\tM\4N\tN\4O\tO\4P\tP\4Q\tQ\4R\tR\4S\tS\4T\tT"+
|
||||
"\4U\tU\4V\tV\4W\tW\4X\tX\4Y\tY\4Z\tZ\4[\t[\4\\\t\\\4]\t]\4^\t^\4_\t_\4"+
|
||||
"`\t`\4a\ta\4b\tb\4c\tc\4d\td\4e\te\4f\tf\4g\tg\4h\th\4i\ti\4j\tj\4k\t"+
|
||||
"k\4l\tl\4m\tm\4n\tn\4o\to\4p\tp\4q\tq\4r\tr\4s\ts\4t\tt\4u\tu\4v\tv\4"+
|
||||
"w\tw\4x\tx\4y\ty\4z\tz\4{\t{\4|\t|\4}\t}\4~\t~\4\177\t\177\4\u0080\t\u0080"+
|
||||
"\4\u0081\t\u0081\4\u0082\t\u0082\4\u0083\t\u0083\4\u0084\t\u0084\4\u0085"+
|
||||
"\t\u0085\4\u0086\t\u0086\4\u0087\t\u0087\4\u0088\t\u0088\4\u0089\t\u0089"+
|
||||
"\4\u008a\t\u008a\4\u008b\t\u008b\4\u008c\t\u008c\4\u008d\t\u008d\4\u008e"+
|
||||
"\t\u008e\4\u008f\t\u008f\4\u0090\t\u0090\4\u0091\t\u0091\4\u0092\t\u0092"+
|
||||
"\4\u0093\t\u0093\4\u0094\t\u0094\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3\2\3"+
|
||||
"\3\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3\5"+
|
||||
"\3\5\3\5\3\5\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\7\3\7\3\7\3\b\3\b\3\b\3\b\3"+
|
||||
"\b\3\b\3\t\3\t\3\t\3\t\3\t\3\n\3\n\3\n\3\n\3\n\3\n\3\13\3\13\3\13\3\13"+
|
||||
"\3\13\3\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\r\3\r\3\r\3\r\3\r\3\r"+
|
||||
"\3\r\3\r\3\16\3\16\3\16\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\20\3\20\3"+
|
||||
"\20\3\20\3\20\3\21\3\21\3\21\3\21\3\21\3\22\3\22\3\22\3\22\3\22\3\22\3"+
|
||||
"\22\3\22\3\23\3\23\3\23\3\23\3\23\3\23\3\24\3\24\3\24\3\24\3\24\3\24\3"+
|
||||
"\24\3\24\3\25\3\25\3\25\3\25\3\25\3\25\3\26\3\26\3\26\3\26\3\27\3\27\3"+
|
||||
"\27\3\30\3\30\3\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3"+
|
||||
"\31\3\31\3\31\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\33\3\33\3\33\3\33\3"+
|
||||
"\33\3\33\3\33\3\33\3\33\3\33\3\33\3\34\3\34\3\34\3\34\3\35\3\35\3\35\3"+
|
||||
"\35\3\35\3\35\3\35\3\35\3\35\3\35\3\36\3\36\3\36\3\36\3\36\3\37\3\37\3"+
|
||||
"\37\3\37\3\37\3\37\3\37\3 \3 \3 \3 \3!\3!\3!\3!\3!\3!\3!\3!\3\"\3\"\3"+
|
||||
"\"\3\"\3\"\3\"\3\"\3\"\3#\3#\3#\3#\3#\3#\3#\3#\3#\3#\3$\3$\3$\3$\3$\3"+
|
||||
"$\3$\3%\3%\3%\3%\3%\3%\3%\3&\3&\3&\3&\3&\3&\3\'\3\'\3\'\3\'\3\'\3\'\3"+
|
||||
"\'\3(\3(\3(\3(\3(\3(\3(\3(\3(\3)\3)\3)\3)\3)\3)\3*\3*\3*\3*\3*\3*\3*\3"+
|
||||
"+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3+\3,\3,\3,\3,\3,\3-\3-\3-\3-\3-\3"+
|
||||
"-\3.\3.\3.\3.\3.\3.\3.\3/\3/\3/\3/\3/\3/\3/\3/\3/\3/\3\60\3\60\3\60\3"+
|
||||
"\60\3\61\3\61\3\61\3\61\3\61\3\62\3\62\3\62\3\62\3\62\3\62\3\62\3\62\3"+
|
||||
"\62\3\63\3\63\3\63\3\63\3\63\3\63\3\64\3\64\3\64\3\64\5\64\u0281\n\64"+
|
||||
"\3\65\3\65\5\65\u0285\n\65\3\66\3\66\5\66\u0289\n\66\3\67\3\67\5\67\u028d"+
|
||||
"\n\67\38\38\58\u0291\n8\39\39\3:\3:\3:\5:\u0298\n:\3:\3:\3:\5:\u029d\n"+
|
||||
":\5:\u029f\n:\3;\3;\7;\u02a3\n;\f;\16;\u02a6\13;\3;\5;\u02a9\n;\3<\3<"+
|
||||
"\5<\u02ad\n<\3=\3=\3>\3>\5>\u02b3\n>\3?\6?\u02b6\n?\r?\16?\u02b7\3@\3"+
|
||||
"@\3@\3@\3A\3A\7A\u02c0\nA\fA\16A\u02c3\13A\3A\5A\u02c6\nA\3B\3B\3C\3C"+
|
||||
"\5C\u02cc\nC\3D\3D\5D\u02d0\nD\3D\3D\3E\3E\7E\u02d6\nE\fE\16E\u02d9\13"+
|
||||
"E\3E\5E\u02dc\nE\3F\3F\3G\3G\5G\u02e2\nG\3H\3H\3H\3H\3I\3I\7I\u02ea\n"+
|
||||
"I\fI\16I\u02ed\13I\3I\5I\u02f0\nI\3J\3J\3K\3K\5K\u02f6\nK\3L\3L\5L\u02fa"+
|
||||
"\nL\3M\3M\3M\5M\u02ff\nM\3M\5M\u0302\nM\3M\5M\u0305\nM\3M\3M\3M\5M\u030a"+
|
||||
"\nM\3M\5M\u030d\nM\3M\3M\3M\5M\u0312\nM\3M\3M\3M\5M\u0317\nM\3N\3N\3N"+
|
||||
"\3O\3O\3P\5P\u031f\nP\3P\3P\3Q\3Q\3R\3R\3S\3S\3S\5S\u032a\nS\3T\3T\5T"+
|
||||
"\u032e\nT\3T\3T\3T\5T\u0333\nT\3T\3T\5T\u0337\nT\3U\3U\3U\3V\3V\3W\3W"+
|
||||
"\3W\3W\3W\3W\3W\3W\3W\5W\u0347\nW\3X\3X\3X\3X\3X\3X\3X\3X\5X\u0351\nX"+
|
||||
"\3Y\3Y\3Z\3Z\5Z\u0357\nZ\3Z\3Z\3[\6[\u035c\n[\r[\16[\u035d\3\\\3\\\5\\"+
|
||||
"\u0362\n\\\3]\3]\3]\3]\5]\u0368\n]\3^\3^\3^\3^\3^\3^\3^\3^\3^\3^\3^\5"+
|
||||
"^\u0375\n^\3_\3_\3_\3_\3_\3_\3_\3`\3`\3a\3a\3a\3a\3a\3b\3b\3c\3c\3d\3"+
|
||||
"d\3e\3e\3f\3f\3g\3g\3h\3h\3i\3i\3j\3j\3k\3k\3l\3l\3m\3m\3n\3n\3o\3o\3"+
|
||||
"p\3p\3q\3q\3r\3r\3r\3s\3s\3s\3t\3t\3t\3u\3u\3u\3v\3v\3v\3w\3w\3w\3x\3"+
|
||||
"x\3x\3y\3y\3y\3z\3z\3{\3{\3|\3|\3}\3}\3~\3~\3\177\3\177\3\u0080\3\u0080"+
|
||||
"\3\u0081\3\u0081\3\u0082\3\u0082\3\u0082\3\u0083\3\u0083\3\u0083\3\u0084"+
|
||||
"\3\u0084\3\u0084\3\u0085\3\u0085\3\u0085\3\u0086\3\u0086\3\u0086\3\u0087"+
|
||||
"\3\u0087\3\u0087\3\u0088\3\u0088\3\u0088\3\u0089\3\u0089\3\u0089\3\u008a"+
|
||||
"\3\u008a\3\u008a\3\u008a\3\u008b\3\u008b\3\u008b\3\u008b\3\u008c\3\u008c"+
|
||||
"\3\u008c\3\u008c\3\u008c\3\u008d\3\u008d\7\u008d\u03f4\n\u008d\f\u008d"+
|
||||
"\16\u008d\u03f7\13\u008d\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e\3\u008e"+
|
||||
"\5\u008e\u03ff\n\u008e\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f\3\u008f"+
|
||||
"\5\u008f\u0407\n\u008f\3\u0090\3\u0090\3\u0091\3\u0091\3\u0091\3\u0091"+
|
||||
"\3\u0092\6\u0092\u0410\n\u0092\r\u0092\16\u0092\u0411\3\u0092\3\u0092"+
|
||||
"\3\u0093\3\u0093\3\u0093\3\u0093\7\u0093\u041a\n\u0093\f\u0093\16\u0093"+
|
||||
"\u041d\13\u0093\3\u0093\3\u0093\3\u0093\3\u0093\3\u0093\3\u0094\3\u0094"+
|
||||
"\3\u0094\3\u0094\7\u0094\u0428\n\u0094\f\u0094\16\u0094\u042b\13\u0094"+
|
||||
"\3\u0094\3\u0094\3\u041b\2\u0095\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n\23"+
|
||||
"\13\25\f\27\r\31\16\33\17\35\20\37\21!\22#\23%\24\'\25)\26+\27-\30/\31"+
|
||||
"\61\32\63\33\65\34\67\359\36;\37= ?!A\"C#E$G%I&K\'M(O)Q*S+U,W-Y.[/]\60"+
|
||||
"_\61a\62c\63e\64g\65i\2k\2m\2o\2q\2s\2u\2w\2y\2{\2}\2\177\2\u0081\2\u0083"+
|
||||
"\2\u0085\2\u0087\2\u0089\2\u008b\2\u008d\2\u008f\2\u0091\2\u0093\2\u0095"+
|
||||
"\2\u0097\66\u0099\2\u009b\2\u009d\2\u009f\2\u00a1\2\u00a3\2\u00a5\2\u00a7"+
|
||||
"\2\u00a9\2\u00ab\2\u00ad\67\u00af8\u00b1\2\u00b39\u00b5\2\u00b7\2\u00b9"+
|
||||
"\2\u00bb\2\u00bd\2\u00bf\2\u00c1:\u00c3;\u00c5<\u00c7=\u00c9>\u00cb?\u00cd"+
|
||||
"@\u00cfA\u00d1B\u00d3C\u00d5D\u00d7E\u00d9F\u00dbG\u00ddH\u00dfI\u00e1"+
|
||||
"J\u00e3K\u00e5L\u00e7M\u00e9N\u00ebO\u00edP\u00efQ\u00f1R\u00f3S\u00f5"+
|
||||
"T\u00f7U\u00f9V\u00fbW\u00fdX\u00ffY\u0101Z\u0103[\u0105\\\u0107]\u0109"+
|
||||
"^\u010b_\u010d`\u010fa\u0111b\u0113c\u0115d\u0117e\u0119f\u011b\2\u011d"+
|
||||
"\2\u011fg\u0121h\u0123i\u0125j\u0127k\3\2\30\4\2NNnn\3\2\63;\4\2ZZzz\5"+
|
||||
"\2\62;CHch\3\2\629\4\2DDdd\3\2\62\63\4\2GGgg\4\2--//\6\2FFHHffhh\4\2R"+
|
||||
"Rrr\4\2))^^\4\2$$^^\n\2$$))^^ddhhppttvv\3\2\62\65\6\2&&C\\aac|\4\2\2\u0101"+
|
||||
"\ud802\udc01\3\2\ud802\udc01\3\2\udc02\ue001\7\2&&\62;C\\aac|\5\2\13\f"+
|
||||
"\16\17\"\"\4\2\f\f\17\17\u043c\2\3\3\2\2\2\2\5\3\2\2\2\2\7\3\2\2\2\2\t"+
|
||||
"\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2\2\2\23\3\2\2"+
|
||||
"\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\2\33\3\2\2\2\2\35\3\2\2\2\2"+
|
||||
"\37\3\2\2\2\2!\3\2\2\2\2#\3\2\2\2\2%\3\2\2\2\2\'\3\2\2\2\2)\3\2\2\2\2"+
|
||||
"+\3\2\2\2\2-\3\2\2\2\2/\3\2\2\2\2\61\3\2\2\2\2\63\3\2\2\2\2\65\3\2\2\2"+
|
||||
"\2\67\3\2\2\2\29\3\2\2\2\2;\3\2\2\2\2=\3\2\2\2\2?\3\2\2\2\2A\3\2\2\2\2"+
|
||||
"C\3\2\2\2\2E\3\2\2\2\2G\3\2\2\2\2I\3\2\2\2\2K\3\2\2\2\2M\3\2\2\2\2O\3"+
|
||||
"\2\2\2\2Q\3\2\2\2\2S\3\2\2\2\2U\3\2\2\2\2W\3\2\2\2\2Y\3\2\2\2\2[\3\2\2"+
|
||||
"\2\2]\3\2\2\2\2_\3\2\2\2\2a\3\2\2\2\2c\3\2\2\2\2e\3\2\2\2\2g\3\2\2\2\2"+
|
||||
"\u0097\3\2\2\2\2\u00ad\3\2\2\2\2\u00af\3\2\2\2\2\u00b3\3\2\2\2\2\u00c1"+
|
||||
"\3\2\2\2\2\u00c3\3\2\2\2\2\u00c5\3\2\2\2\2\u00c7\3\2\2\2\2\u00c9\3\2\2"+
|
||||
"\2\2\u00cb\3\2\2\2\2\u00cd\3\2\2\2\2\u00cf\3\2\2\2\2\u00d1\3\2\2\2\2\u00d3"+
|
||||
"\3\2\2\2\2\u00d5\3\2\2\2\2\u00d7\3\2\2\2\2\u00d9\3\2\2\2\2\u00db\3\2\2"+
|
||||
"\2\2\u00dd\3\2\2\2\2\u00df\3\2\2\2\2\u00e1\3\2\2\2\2\u00e3\3\2\2\2\2\u00e5"+
|
||||
"\3\2\2\2\2\u00e7\3\2\2\2\2\u00e9\3\2\2\2\2\u00eb\3\2\2\2\2\u00ed\3\2\2"+
|
||||
"\2\2\u00ef\3\2\2\2\2\u00f1\3\2\2\2\2\u00f3\3\2\2\2\2\u00f5\3\2\2\2\2\u00f7"+
|
||||
"\3\2\2\2\2\u00f9\3\2\2\2\2\u00fb\3\2\2\2\2\u00fd\3\2\2\2\2\u00ff\3\2\2"+
|
||||
"\2\2\u0101\3\2\2\2\2\u0103\3\2\2\2\2\u0105\3\2\2\2\2\u0107\3\2\2\2\2\u0109"+
|
||||
"\3\2\2\2\2\u010b\3\2\2\2\2\u010d\3\2\2\2\2\u010f\3\2\2\2\2\u0111\3\2\2"+
|
||||
"\2\2\u0113\3\2\2\2\2\u0115\3\2\2\2\2\u0117\3\2\2\2\2\u0119\3\2\2\2\2\u011f"+
|
||||
"\3\2\2\2\2\u0121\3\2\2\2\2\u0123\3\2\2\2\2\u0125\3\2\2\2\2\u0127\3\2\2"+
|
||||
"\2\3\u0129\3\2\2\2\5\u0132\3\2\2\2\7\u0139\3\2\2\2\t\u0141\3\2\2\2\13"+
|
||||
"\u0147\3\2\2\2\r\u014c\3\2\2\2\17\u0151\3\2\2\2\21\u0157\3\2\2\2\23\u015c"+
|
||||
"\3\2\2\2\25\u0162\3\2\2\2\27\u0168\3\2\2\2\31\u0171\3\2\2\2\33\u0179\3"+
|
||||
"\2\2\2\35\u017c\3\2\2\2\37\u0183\3\2\2\2!\u0188\3\2\2\2#\u018d\3\2\2\2"+
|
||||
"%\u0195\3\2\2\2\'\u019b\3\2\2\2)\u01a3\3\2\2\2+\u01a9\3\2\2\2-\u01ad\3"+
|
||||
"\2\2\2/\u01b0\3\2\2\2\61\u01b5\3\2\2\2\63\u01c0\3\2\2\2\65\u01c7\3\2\2"+
|
||||
"\2\67\u01d2\3\2\2\29\u01d6\3\2\2\2;\u01e0\3\2\2\2=\u01e5\3\2\2\2?\u01ec"+
|
||||
"\3\2\2\2A\u01f0\3\2\2\2C\u01f8\3\2\2\2E\u0200\3\2\2\2G\u020a\3\2\2\2I"+
|
||||
"\u0211\3\2\2\2K\u0218\3\2\2\2M\u021e\3\2\2\2O\u0225\3\2\2\2Q\u022e\3\2"+
|
||||
"\2\2S\u0234\3\2\2\2U\u023b\3\2\2\2W\u0248\3\2\2\2Y\u024d\3\2\2\2[\u0253"+
|
||||
"\3\2\2\2]\u025a\3\2\2\2_\u0264\3\2\2\2a\u0268\3\2\2\2c\u026d\3\2\2\2e"+
|
||||
"\u0276\3\2\2\2g\u0280\3\2\2\2i\u0282\3\2\2\2k\u0286\3\2\2\2m\u028a\3\2"+
|
||||
"\2\2o\u028e\3\2\2\2q\u0292\3\2\2\2s\u029e\3\2\2\2u\u02a0\3\2\2\2w\u02ac"+
|
||||
"\3\2\2\2y\u02ae\3\2\2\2{\u02b2\3\2\2\2}\u02b5\3\2\2\2\177\u02b9\3\2\2"+
|
||||
"\2\u0081\u02bd\3\2\2\2\u0083\u02c7\3\2\2\2\u0085\u02cb\3\2\2\2\u0087\u02cd"+
|
||||
"\3\2\2\2\u0089\u02d3\3\2\2\2\u008b\u02dd\3\2\2\2\u008d\u02e1\3\2\2\2\u008f"+
|
||||
"\u02e3\3\2\2\2\u0091\u02e7\3\2\2\2\u0093\u02f1\3\2\2\2\u0095\u02f5\3\2"+
|
||||
"\2\2\u0097\u02f9\3\2\2\2\u0099\u0316\3\2\2\2\u009b\u0318\3\2\2\2\u009d"+
|
||||
"\u031b\3\2\2\2\u009f\u031e\3\2\2\2\u00a1\u0322\3\2\2\2\u00a3\u0324\3\2"+
|
||||
"\2\2\u00a5\u0326\3\2\2\2\u00a7\u0336\3\2\2\2\u00a9\u0338\3\2\2\2\u00ab"+
|
||||
"\u033b\3\2\2\2\u00ad\u0346\3\2\2\2\u00af\u0350\3\2\2\2\u00b1\u0352\3\2"+
|
||||
"\2\2\u00b3\u0354\3\2\2\2\u00b5\u035b\3\2\2\2\u00b7\u0361\3\2\2\2\u00b9"+
|
||||
"\u0367\3\2\2\2\u00bb\u0374\3\2\2\2\u00bd\u0376\3\2\2\2\u00bf\u037d\3\2"+
|
||||
"\2\2\u00c1\u037f\3\2\2\2\u00c3\u0384\3\2\2\2\u00c5\u0386\3\2\2\2\u00c7"+
|
||||
"\u0388\3\2\2\2\u00c9\u038a\3\2\2\2\u00cb\u038c\3\2\2\2\u00cd\u038e\3\2"+
|
||||
"\2\2\u00cf\u0390\3\2\2\2\u00d1\u0392\3\2\2\2\u00d3\u0394\3\2\2\2\u00d5"+
|
||||
"\u0396\3\2\2\2\u00d7\u0398\3\2\2\2\u00d9\u039a\3\2\2\2\u00db\u039c\3\2"+
|
||||
"\2\2\u00dd\u039e\3\2\2\2\u00df\u03a0\3\2\2\2\u00e1\u03a2\3\2\2\2\u00e3"+
|
||||
"\u03a4\3\2\2\2\u00e5\u03a7\3\2\2\2\u00e7\u03aa\3\2\2\2\u00e9\u03ad\3\2"+
|
||||
"\2\2\u00eb\u03b0\3\2\2\2\u00ed\u03b3\3\2\2\2\u00ef\u03b6\3\2\2\2\u00f1"+
|
||||
"\u03b9\3\2\2\2\u00f3\u03bc\3\2\2\2\u00f5\u03be\3\2\2\2\u00f7\u03c0\3\2"+
|
||||
"\2\2\u00f9\u03c2\3\2\2\2\u00fb\u03c4\3\2\2\2\u00fd\u03c6\3\2\2\2\u00ff"+
|
||||
"\u03c8\3\2\2\2\u0101\u03ca\3\2\2\2\u0103\u03cc\3\2\2\2\u0105\u03cf\3\2"+
|
||||
"\2\2\u0107\u03d2\3\2\2\2\u0109\u03d5\3\2\2\2\u010b\u03d8\3\2\2\2\u010d"+
|
||||
"\u03db\3\2\2\2\u010f\u03de\3\2\2\2\u0111\u03e1\3\2\2\2\u0113\u03e4\3\2"+
|
||||
"\2\2\u0115\u03e8\3\2\2\2\u0117\u03ec\3\2\2\2\u0119\u03f1\3\2\2\2\u011b"+
|
||||
"\u03fe\3\2\2\2\u011d\u0406\3\2\2\2\u011f\u0408\3\2\2\2\u0121\u040a\3\2"+
|
||||
"\2\2\u0123\u040f\3\2\2\2\u0125\u0415\3\2\2\2\u0127\u0423\3\2\2\2\u0129"+
|
||||
"\u012a\7c\2\2\u012a\u012b\7d\2\2\u012b\u012c\7u\2\2\u012c\u012d\7v\2\2"+
|
||||
"\u012d\u012e\7t\2\2\u012e\u012f\7c\2\2\u012f\u0130\7e\2\2\u0130\u0131"+
|
||||
"\7v\2\2\u0131\4\3\2\2\2\u0132\u0133\7c\2\2\u0133\u0134\7u\2\2\u0134\u0135"+
|
||||
"\7u\2\2\u0135\u0136\7g\2\2\u0136\u0137\7t\2\2\u0137\u0138\7v\2\2\u0138"+
|
||||
"\6\3\2\2\2\u0139\u013a\7d\2\2\u013a\u013b\7q\2\2\u013b\u013c\7q\2\2\u013c"+
|
||||
"\u013d\7n\2\2\u013d\u013e\7g\2\2\u013e\u013f\7c\2\2\u013f\u0140\7p\2\2"+
|
||||
"\u0140\b\3\2\2\2\u0141\u0142\7d\2\2\u0142\u0143\7t\2\2\u0143\u0144\7g"+
|
||||
"\2\2\u0144\u0145\7c\2\2\u0145\u0146\7m\2\2\u0146\n\3\2\2\2\u0147\u0148"+
|
||||
"\7d\2\2\u0148\u0149\7{\2\2\u0149\u014a\7v\2\2\u014a\u014b\7g\2\2\u014b"+
|
||||
"\f\3\2\2\2\u014c\u014d\7e\2\2\u014d\u014e\7c\2\2\u014e\u014f\7u\2\2\u014f"+
|
||||
"\u0150\7g\2\2\u0150\16\3\2\2\2\u0151\u0152\7e\2\2\u0152\u0153\7c\2\2\u0153"+
|
||||
"\u0154\7v\2\2\u0154\u0155\7e\2\2\u0155\u0156\7j\2\2\u0156\20\3\2\2\2\u0157"+
|
||||
"\u0158\7e\2\2\u0158\u0159\7j\2\2\u0159\u015a\7c\2\2\u015a\u015b\7t\2\2"+
|
||||
"\u015b\22\3\2\2\2\u015c\u015d\7e\2\2\u015d\u015e\7n\2\2\u015e\u015f\7"+
|
||||
"c\2\2\u015f\u0160\7u\2\2\u0160\u0161\7u\2\2\u0161\24\3\2\2\2\u0162\u0163"+
|
||||
"\7e\2\2\u0163\u0164\7q\2\2\u0164\u0165\7p\2\2\u0165\u0166\7u\2\2\u0166"+
|
||||
"\u0167\7v\2\2\u0167\26\3\2\2\2\u0168\u0169\7e\2\2\u0169\u016a\7q\2\2\u016a"+
|
||||
"\u016b\7p\2\2\u016b\u016c\7v\2\2\u016c\u016d\7k\2\2\u016d\u016e\7p\2\2"+
|
||||
"\u016e\u016f\7w\2\2\u016f\u0170\7g\2\2\u0170\30\3\2\2\2\u0171\u0172\7"+
|
||||
"f\2\2\u0172\u0173\7g\2\2\u0173\u0174\7h\2\2\u0174\u0175\7c\2\2\u0175\u0176"+
|
||||
"\7w\2\2\u0176\u0177\7n\2\2\u0177\u0178\7v\2\2\u0178\32\3\2\2\2\u0179\u017a"+
|
||||
"\7f\2\2\u017a\u017b\7q\2\2\u017b\34\3\2\2\2\u017c\u017d\7f\2\2\u017d\u017e"+
|
||||
"\7q\2\2\u017e\u017f\7w\2\2\u017f\u0180\7d\2\2\u0180\u0181\7n\2\2\u0181"+
|
||||
"\u0182\7g\2\2\u0182\36\3\2\2\2\u0183\u0184\7g\2\2\u0184\u0185\7n\2\2\u0185"+
|
||||
"\u0186\7u\2\2\u0186\u0187\7g\2\2\u0187 \3\2\2\2\u0188\u0189\7g\2\2\u0189"+
|
||||
"\u018a\7p\2\2\u018a\u018b\7w\2\2\u018b\u018c\7o\2\2\u018c\"\3\2\2\2\u018d"+
|
||||
"\u018e\7g\2\2\u018e\u018f\7z\2\2\u018f\u0190\7v\2\2\u0190\u0191\7g\2\2"+
|
||||
"\u0191\u0192\7p\2\2\u0192\u0193\7f\2\2\u0193\u0194\7u\2\2\u0194$\3\2\2"+
|
||||
"\2\u0195\u0196\7h\2\2\u0196\u0197\7k\2\2\u0197\u0198\7p\2\2\u0198\u0199"+
|
||||
"\7c\2\2\u0199\u019a\7n\2\2\u019a&\3\2\2\2\u019b\u019c\7h\2\2\u019c\u019d"+
|
||||
"\7k\2\2\u019d\u019e\7p\2\2\u019e\u019f\7c\2\2\u019f\u01a0\7n\2\2\u01a0"+
|
||||
"\u01a1\7n\2\2\u01a1\u01a2\7{\2\2\u01a2(\3\2\2\2\u01a3\u01a4\7h\2\2\u01a4"+
|
||||
"\u01a5\7n\2\2\u01a5\u01a6\7q\2\2\u01a6\u01a7\7c\2\2\u01a7\u01a8\7v\2\2"+
|
||||
"\u01a8*\3\2\2\2\u01a9\u01aa\7h\2\2\u01aa\u01ab\7q\2\2\u01ab\u01ac\7t\2"+
|
||||
"\2\u01ac,\3\2\2\2\u01ad\u01ae\7k\2\2\u01ae\u01af\7h\2\2\u01af.\3\2\2\2"+
|
||||
"\u01b0\u01b1\7i\2\2\u01b1\u01b2\7q\2\2\u01b2\u01b3\7v\2\2\u01b3\u01b4"+
|
||||
"\7q\2\2\u01b4\60\3\2\2\2\u01b5\u01b6\7k\2\2\u01b6\u01b7\7o\2\2\u01b7\u01b8"+
|
||||
"\7r\2\2\u01b8\u01b9\7n\2\2\u01b9\u01ba\7g\2\2\u01ba\u01bb\7o\2\2\u01bb"+
|
||||
"\u01bc\7g\2\2\u01bc\u01bd\7p\2\2\u01bd\u01be\7v\2\2\u01be\u01bf\7u\2\2"+
|
||||
"\u01bf\62\3\2\2\2\u01c0\u01c1\7k\2\2\u01c1\u01c2\7o\2\2\u01c2\u01c3\7"+
|
||||
"r\2\2\u01c3\u01c4\7q\2\2\u01c4\u01c5\7t\2\2\u01c5\u01c6\7v\2\2\u01c6\64"+
|
||||
"\3\2\2\2\u01c7\u01c8\7k\2\2\u01c8\u01c9\7p\2\2\u01c9\u01ca\7u\2\2\u01ca"+
|
||||
"\u01cb\7v\2\2\u01cb\u01cc\7c\2\2\u01cc\u01cd\7p\2\2\u01cd\u01ce\7e\2\2"+
|
||||
"\u01ce\u01cf\7g\2\2\u01cf\u01d0\7q\2\2\u01d0\u01d1\7h\2\2\u01d1\66\3\2"+
|
||||
"\2\2\u01d2\u01d3\7k\2\2\u01d3\u01d4\7p\2\2\u01d4\u01d5\7v\2\2\u01d58\3"+
|
||||
"\2\2\2\u01d6\u01d7\7k\2\2\u01d7\u01d8\7p\2\2\u01d8\u01d9\7v\2\2\u01d9"+
|
||||
"\u01da\7g\2\2\u01da\u01db\7t\2\2\u01db\u01dc\7h\2\2\u01dc\u01dd\7c\2\2"+
|
||||
"\u01dd\u01de\7e\2\2\u01de\u01df\7g\2\2\u01df:\3\2\2\2\u01e0\u01e1\7n\2"+
|
||||
"\2\u01e1\u01e2\7q\2\2\u01e2\u01e3\7p\2\2\u01e3\u01e4\7i\2\2\u01e4<\3\2"+
|
||||
"\2\2\u01e5\u01e6\7p\2\2\u01e6\u01e7\7c\2\2\u01e7\u01e8\7v\2\2\u01e8\u01e9"+
|
||||
"\7k\2\2\u01e9\u01ea\7x\2\2\u01ea\u01eb\7g\2\2\u01eb>\3\2\2\2\u01ec\u01ed"+
|
||||
"\7p\2\2\u01ed\u01ee\7g\2\2\u01ee\u01ef\7y\2\2\u01ef@\3\2\2\2\u01f0\u01f1"+
|
||||
"\7r\2\2\u01f1\u01f2\7c\2\2\u01f2\u01f3\7e\2\2\u01f3\u01f4\7m\2\2\u01f4"+
|
||||
"\u01f5\7c\2\2\u01f5\u01f6\7i\2\2\u01f6\u01f7\7g\2\2\u01f7B\3\2\2\2\u01f8"+
|
||||
"\u01f9\7r\2\2\u01f9\u01fa\7t\2\2\u01fa\u01fb\7k\2\2\u01fb\u01fc\7x\2\2"+
|
||||
"\u01fc\u01fd\7c\2\2\u01fd\u01fe\7v\2\2\u01fe\u01ff\7g\2\2\u01ffD\3\2\2"+
|
||||
"\2\u0200\u0201\7r\2\2\u0201\u0202\7t\2\2\u0202\u0203\7q\2\2\u0203\u0204"+
|
||||
"\7v\2\2\u0204\u0205\7g\2\2\u0205\u0206\7e\2\2\u0206\u0207\7v\2\2\u0207"+
|
||||
"\u0208\7g\2\2\u0208\u0209\7f\2\2\u0209F\3\2\2\2\u020a\u020b\7r\2\2\u020b"+
|
||||
"\u020c\7w\2\2\u020c\u020d\7d\2\2\u020d\u020e\7n\2\2\u020e\u020f\7k\2\2"+
|
||||
"\u020f\u0210\7e\2\2\u0210H\3\2\2\2\u0211\u0212\7t\2\2\u0212\u0213\7g\2"+
|
||||
"\2\u0213\u0214\7v\2\2\u0214\u0215\7w\2\2\u0215\u0216\7t\2\2\u0216\u0217"+
|
||||
"\7p\2\2\u0217J\3\2\2\2\u0218\u0219\7u\2\2\u0219\u021a\7j\2\2\u021a\u021b"+
|
||||
"\7q\2\2\u021b\u021c\7t\2\2\u021c\u021d\7v\2\2\u021dL\3\2\2\2\u021e\u021f"+
|
||||
"\7u\2\2\u021f\u0220\7v\2\2\u0220\u0221\7c\2\2\u0221\u0222\7v\2\2\u0222"+
|
||||
"\u0223\7k\2\2\u0223\u0224\7e\2\2\u0224N\3\2\2\2\u0225\u0226\7u\2\2\u0226"+
|
||||
"\u0227\7v\2\2\u0227\u0228\7t\2\2\u0228\u0229\7k\2\2\u0229\u022a\7e\2\2"+
|
||||
"\u022a\u022b\7v\2\2\u022b\u022c\7h\2\2\u022c\u022d\7r\2\2\u022dP\3\2\2"+
|
||||
"\2\u022e\u022f\7u\2\2\u022f\u0230\7w\2\2\u0230\u0231\7r\2\2\u0231\u0232"+
|
||||
"\7g\2\2\u0232\u0233\7t\2\2\u0233R\3\2\2\2\u0234\u0235\7u\2\2\u0235\u0236"+
|
||||
"\7y\2\2\u0236\u0237\7k\2\2\u0237\u0238\7v\2\2\u0238\u0239\7e\2\2\u0239"+
|
||||
"\u023a\7j\2\2\u023aT\3\2\2\2\u023b\u023c\7u\2\2\u023c\u023d\7{\2\2\u023d"+
|
||||
"\u023e\7p\2\2\u023e\u023f\7e\2\2\u023f\u0240\7j\2\2\u0240\u0241\7t\2\2"+
|
||||
"\u0241\u0242\7q\2\2\u0242\u0243\7p\2\2\u0243\u0244\7k\2\2\u0244\u0245"+
|
||||
"\7|\2\2\u0245\u0246\7g\2\2\u0246\u0247\7f\2\2\u0247V\3\2\2\2\u0248\u0249"+
|
||||
"\7v\2\2\u0249\u024a\7j\2\2\u024a\u024b\7k\2\2\u024b\u024c\7u\2\2\u024c"+
|
||||
"X\3\2\2\2\u024d\u024e\7v\2\2\u024e\u024f\7j\2\2\u024f\u0250\7t\2\2\u0250"+
|
||||
"\u0251\7q\2\2\u0251\u0252\7y\2\2\u0252Z\3\2\2\2\u0253\u0254\7v\2\2\u0254"+
|
||||
"\u0255\7j\2\2\u0255\u0256\7t\2\2\u0256\u0257\7q\2\2\u0257\u0258\7y\2\2"+
|
||||
"\u0258\u0259\7u\2\2\u0259\\\3\2\2\2\u025a\u025b\7v\2\2\u025b\u025c\7t"+
|
||||
"\2\2\u025c\u025d\7c\2\2\u025d\u025e\7p\2\2\u025e\u025f\7u\2\2\u025f\u0260"+
|
||||
"\7k\2\2\u0260\u0261\7g\2\2\u0261\u0262\7p\2\2\u0262\u0263\7v\2\2\u0263"+
|
||||
"^\3\2\2\2\u0264\u0265\7v\2\2\u0265\u0266\7t\2\2\u0266\u0267\7{\2\2\u0267"+
|
||||
"`\3\2\2\2\u0268\u0269\7x\2\2\u0269\u026a\7q\2\2\u026a\u026b\7k\2\2\u026b"+
|
||||
"\u026c\7f\2\2\u026cb\3\2\2\2\u026d\u026e\7x\2\2\u026e\u026f\7q\2\2\u026f"+
|
||||
"\u0270\7n\2\2\u0270\u0271\7c\2\2\u0271\u0272\7v\2\2\u0272\u0273\7k\2\2"+
|
||||
"\u0273\u0274\7n\2\2\u0274\u0275\7g\2\2\u0275d\3\2\2\2\u0276\u0277\7y\2"+
|
||||
"\2\u0277\u0278\7j\2\2\u0278\u0279\7k\2\2\u0279\u027a\7n\2\2\u027a\u027b"+
|
||||
"\7g\2\2\u027bf\3\2\2\2\u027c\u0281\5i\65\2\u027d\u0281\5k\66\2\u027e\u0281"+
|
||||
"\5m\67\2\u027f\u0281\5o8\2\u0280\u027c\3\2\2\2\u0280\u027d\3\2\2\2\u0280"+
|
||||
"\u027e\3\2\2\2\u0280\u027f\3\2\2\2\u0281h\3\2\2\2\u0282\u0284\5s:\2\u0283"+
|
||||
"\u0285\5q9\2\u0284\u0283\3\2\2\2\u0284\u0285\3\2\2\2\u0285j\3\2\2\2\u0286"+
|
||||
"\u0288\5\177@\2\u0287\u0289\5q9\2\u0288\u0287\3\2\2\2\u0288\u0289\3\2"+
|
||||
"\2\2\u0289l\3\2\2\2\u028a\u028c\5\u0087D\2\u028b\u028d\5q9\2\u028c\u028b"+
|
||||
"\3\2\2\2\u028c\u028d\3\2\2\2\u028dn\3\2\2\2\u028e\u0290\5\u008fH\2\u028f"+
|
||||
"\u0291\5q9\2\u0290\u028f\3\2\2\2\u0290\u0291\3\2\2\2\u0291p\3\2\2\2\u0292"+
|
||||
"\u0293\t\2\2\2\u0293r\3\2\2\2\u0294\u029f\7\62\2\2\u0295\u029c\5y=\2\u0296"+
|
||||
"\u0298\5u;\2\u0297\u0296\3\2\2\2\u0297\u0298\3\2\2\2\u0298\u029d\3\2\2"+
|
||||
"\2\u0299\u029a\5}?\2\u029a\u029b\5u;\2\u029b\u029d\3\2\2\2\u029c\u0297"+
|
||||
"\3\2\2\2\u029c\u0299\3\2\2\2\u029d\u029f\3\2\2\2\u029e\u0294\3\2\2\2\u029e"+
|
||||
"\u0295\3\2\2\2\u029ft\3\2\2\2\u02a0\u02a8\5w<\2\u02a1\u02a3\5{>\2\u02a2"+
|
||||
"\u02a1\3\2\2\2\u02a3\u02a6\3\2\2\2\u02a4\u02a2\3\2\2\2\u02a4\u02a5\3\2"+
|
||||
"\2\2\u02a5\u02a7\3\2\2\2\u02a6\u02a4\3\2\2\2\u02a7\u02a9\5w<\2\u02a8\u02a4"+
|
||||
"\3\2\2\2\u02a8\u02a9\3\2\2\2\u02a9v\3\2\2\2\u02aa\u02ad\7\62\2\2\u02ab"+
|
||||
"\u02ad\5y=\2\u02ac\u02aa\3\2\2\2\u02ac\u02ab\3\2\2\2\u02adx\3\2\2\2\u02ae"+
|
||||
"\u02af\t\3\2\2\u02afz\3\2\2\2\u02b0\u02b3\5w<\2\u02b1\u02b3\7a\2\2\u02b2"+
|
||||
"\u02b0\3\2\2\2\u02b2\u02b1\3\2\2\2\u02b3|\3\2\2\2\u02b4\u02b6\7a\2\2\u02b5"+
|
||||
"\u02b4\3\2\2\2\u02b6\u02b7\3\2\2\2\u02b7\u02b5\3\2\2\2\u02b7\u02b8\3\2"+
|
||||
"\2\2\u02b8~\3\2\2\2\u02b9\u02ba\7\62\2\2\u02ba\u02bb\t\4\2\2\u02bb\u02bc"+
|
||||
"\5\u0081A\2\u02bc\u0080\3\2\2\2\u02bd\u02c5\5\u0083B\2\u02be\u02c0\5\u0085"+
|
||||
"C\2\u02bf\u02be\3\2\2\2\u02c0\u02c3\3\2\2\2\u02c1\u02bf\3\2\2\2\u02c1"+
|
||||
"\u02c2\3\2\2\2\u02c2\u02c4\3\2\2\2\u02c3\u02c1\3\2\2\2\u02c4\u02c6\5\u0083"+
|
||||
"B\2\u02c5\u02c1\3\2\2\2\u02c5\u02c6\3\2\2\2\u02c6\u0082\3\2\2\2\u02c7"+
|
||||
"\u02c8\t\5\2\2\u02c8\u0084\3\2\2\2\u02c9\u02cc\5\u0083B\2\u02ca\u02cc"+
|
||||
"\7a\2\2\u02cb\u02c9\3\2\2\2\u02cb\u02ca\3\2\2\2\u02cc\u0086\3\2\2\2\u02cd"+
|
||||
"\u02cf\7\62\2\2\u02ce\u02d0\5}?\2\u02cf\u02ce\3\2\2\2\u02cf\u02d0\3\2"+
|
||||
"\2\2\u02d0\u02d1\3\2\2\2\u02d1\u02d2\5\u0089E\2\u02d2\u0088\3\2\2\2\u02d3"+
|
||||
"\u02db\5\u008bF\2\u02d4\u02d6\5\u008dG\2\u02d5\u02d4\3\2\2\2\u02d6\u02d9"+
|
||||
"\3\2\2\2\u02d7\u02d5\3\2\2\2\u02d7\u02d8\3\2\2\2\u02d8\u02da\3\2\2\2\u02d9"+
|
||||
"\u02d7\3\2\2\2\u02da\u02dc\5\u008bF\2\u02db\u02d7\3\2\2\2\u02db\u02dc"+
|
||||
"\3\2\2\2\u02dc\u008a\3\2\2\2\u02dd\u02de\t\6\2\2\u02de\u008c\3\2\2\2\u02df"+
|
||||
"\u02e2\5\u008bF\2\u02e0\u02e2\7a\2\2\u02e1\u02df\3\2\2\2\u02e1\u02e0\3"+
|
||||
"\2\2\2\u02e2\u008e\3\2\2\2\u02e3\u02e4\7\62\2\2\u02e4\u02e5\t\7\2\2\u02e5"+
|
||||
"\u02e6\5\u0091I\2\u02e6\u0090\3\2\2\2\u02e7\u02ef\5\u0093J\2\u02e8\u02ea"+
|
||||
"\5\u0095K\2\u02e9\u02e8\3\2\2\2\u02ea\u02ed\3\2\2\2\u02eb\u02e9\3\2\2"+
|
||||
"\2\u02eb\u02ec\3\2\2\2\u02ec\u02ee\3\2\2\2\u02ed\u02eb\3\2\2\2\u02ee\u02f0"+
|
||||
"\5\u0093J\2\u02ef\u02eb\3\2\2\2\u02ef\u02f0\3\2\2\2\u02f0\u0092\3\2\2"+
|
||||
"\2\u02f1\u02f2\t\b\2\2\u02f2\u0094\3\2\2\2\u02f3\u02f6\5\u0093J\2\u02f4"+
|
||||
"\u02f6\7a\2\2\u02f5\u02f3\3\2\2\2\u02f5\u02f4\3\2\2\2\u02f6\u0096\3\2"+
|
||||
"\2\2\u02f7\u02fa\5\u0099M\2\u02f8\u02fa\5\u00a5S\2\u02f9\u02f7\3\2\2\2"+
|
||||
"\u02f9\u02f8\3\2\2\2\u02fa\u0098\3\2\2\2\u02fb\u02fc\5u;\2\u02fc\u02fe"+
|
||||
"\7\60\2\2\u02fd\u02ff\5u;\2\u02fe\u02fd\3\2\2\2\u02fe\u02ff\3\2\2\2\u02ff"+
|
||||
"\u0301\3\2\2\2\u0300\u0302\5\u009bN\2\u0301\u0300\3\2\2\2\u0301\u0302"+
|
||||
"\3\2\2\2\u0302\u0304\3\2\2\2\u0303\u0305\5\u00a3R\2\u0304\u0303\3\2\2"+
|
||||
"\2\u0304\u0305\3\2\2\2\u0305\u0317\3\2\2\2\u0306\u0307\7\60\2\2\u0307"+
|
||||
"\u0309\5u;\2\u0308\u030a\5\u009bN\2\u0309\u0308\3\2\2\2\u0309\u030a\3"+
|
||||
"\2\2\2\u030a\u030c\3\2\2\2\u030b\u030d\5\u00a3R\2\u030c\u030b\3\2\2\2"+
|
||||
"\u030c\u030d\3\2\2\2\u030d\u0317\3\2\2\2\u030e\u030f\5u;\2\u030f\u0311"+
|
||||
"\5\u009bN\2\u0310\u0312\5\u00a3R\2\u0311\u0310\3\2\2\2\u0311\u0312\3\2"+
|
||||
"\2\2\u0312\u0317\3\2\2\2\u0313\u0314\5u;\2\u0314\u0315\5\u00a3R\2\u0315"+
|
||||
"\u0317\3\2\2\2\u0316\u02fb\3\2\2\2\u0316\u0306\3\2\2\2\u0316\u030e\3\2"+
|
||||
"\2\2\u0316\u0313\3\2\2\2\u0317\u009a\3\2\2\2\u0318\u0319\5\u009dO\2\u0319"+
|
||||
"\u031a\5\u009fP\2\u031a\u009c\3\2\2\2\u031b\u031c\t\t\2\2\u031c\u009e"+
|
||||
"\3\2\2\2\u031d\u031f\5\u00a1Q\2\u031e\u031d\3\2\2\2\u031e\u031f\3\2\2"+
|
||||
"\2\u031f\u0320\3\2\2\2\u0320\u0321\5u;\2\u0321\u00a0\3\2\2\2\u0322\u0323"+
|
||||
"\t\n\2\2\u0323\u00a2\3\2\2\2\u0324\u0325\t\13\2\2\u0325\u00a4\3\2\2\2"+
|
||||
"\u0326\u0327\5\u00a7T\2\u0327\u0329\5\u00a9U\2\u0328\u032a\5\u00a3R\2"+
|
||||
"\u0329\u0328\3\2\2\2\u0329\u032a\3\2\2\2\u032a\u00a6\3\2\2\2\u032b\u032d"+
|
||||
"\5\177@\2\u032c\u032e\7\60\2\2\u032d\u032c\3\2\2\2\u032d\u032e\3\2\2\2"+
|
||||
"\u032e\u0337\3\2\2\2\u032f\u0330\7\62\2\2\u0330\u0332\t\4\2\2\u0331\u0333"+
|
||||
"\5\u0081A\2\u0332\u0331\3\2\2\2\u0332\u0333\3\2\2\2\u0333\u0334\3\2\2"+
|
||||
"\2\u0334\u0335\7\60\2\2\u0335\u0337\5\u0081A\2\u0336\u032b\3\2\2\2\u0336"+
|
||||
"\u032f\3\2\2\2\u0337\u00a8\3\2\2\2\u0338\u0339\5\u00abV\2\u0339\u033a"+
|
||||
"\5\u009fP\2\u033a\u00aa\3\2\2\2\u033b\u033c\t\f\2\2\u033c\u00ac\3\2\2"+
|
||||
"\2\u033d\u033e\7v\2\2\u033e\u033f\7t\2\2\u033f\u0340\7w\2\2\u0340\u0347"+
|
||||
"\7g\2\2\u0341\u0342\7h\2\2\u0342\u0343\7c\2\2\u0343\u0344\7n\2\2\u0344"+
|
||||
"\u0345\7u\2\2\u0345\u0347\7g\2\2\u0346\u033d\3\2\2\2\u0346\u0341\3\2\2"+
|
||||
"\2\u0347\u00ae\3\2\2\2\u0348\u0349\7)\2\2\u0349\u034a\5\u00b1Y\2\u034a"+
|
||||
"\u034b\7)\2\2\u034b\u0351\3\2\2\2\u034c\u034d\7)\2\2\u034d\u034e\5\u00b9"+
|
||||
"]\2\u034e\u034f\7)\2\2\u034f\u0351\3\2\2\2\u0350\u0348\3\2\2\2\u0350\u034c"+
|
||||
"\3\2\2\2\u0351\u00b0\3\2\2\2\u0352\u0353\n\r\2\2\u0353\u00b2\3\2\2\2\u0354"+
|
||||
"\u0356\7$\2\2\u0355\u0357\5\u00b5[\2\u0356\u0355\3\2\2\2\u0356\u0357\3"+
|
||||
"\2\2\2\u0357\u0358\3\2\2\2\u0358\u0359\7$\2\2\u0359\u00b4\3\2\2\2\u035a"+
|
||||
"\u035c\5\u00b7\\\2\u035b\u035a\3\2\2\2\u035c\u035d\3\2\2\2\u035d\u035b"+
|
||||
"\3\2\2\2\u035d\u035e\3\2\2\2\u035e\u00b6\3\2\2\2\u035f\u0362\n\16\2\2"+
|
||||
"\u0360\u0362\5\u00b9]\2\u0361\u035f\3\2\2\2\u0361\u0360\3\2\2\2\u0362"+
|
||||
"\u00b8\3\2\2\2\u0363\u0364\7^\2\2\u0364\u0368\t\17\2\2\u0365\u0368\5\u00bb"+
|
||||
"^\2\u0366\u0368\5\u00bd_\2\u0367\u0363\3\2\2\2\u0367\u0365\3\2\2\2\u0367"+
|
||||
"\u0366\3\2\2\2\u0368\u00ba\3\2\2\2\u0369\u036a\7^\2\2\u036a\u0375\5\u008b"+
|
||||
"F\2\u036b\u036c\7^\2\2\u036c\u036d\5\u008bF\2\u036d\u036e\5\u008bF\2\u036e"+
|
||||
"\u0375\3\2\2\2\u036f\u0370\7^\2\2\u0370\u0371\5\u00bf`\2\u0371\u0372\5"+
|
||||
"\u008bF\2\u0372\u0373\5\u008bF\2\u0373\u0375\3\2\2\2\u0374\u0369\3\2\2"+
|
||||
"\2\u0374\u036b\3\2\2\2\u0374\u036f\3\2\2\2\u0375\u00bc\3\2\2\2\u0376\u0377"+
|
||||
"\7^\2\2\u0377\u0378\7w\2\2\u0378\u0379\5\u0083B\2\u0379\u037a\5\u0083"+
|
||||
"B\2\u037a\u037b\5\u0083B\2\u037b\u037c\5\u0083B\2\u037c\u00be\3\2\2\2"+
|
||||
"\u037d\u037e\t\20\2\2\u037e\u00c0\3\2\2\2\u037f\u0380\7p\2\2\u0380\u0381"+
|
||||
"\7w\2\2\u0381\u0382\7n\2\2\u0382\u0383\7n\2\2\u0383\u00c2\3\2\2\2\u0384"+
|
||||
"\u0385\7*\2\2\u0385\u00c4\3\2\2\2\u0386\u0387\7+\2\2\u0387\u00c6\3\2\2"+
|
||||
"\2\u0388\u0389\7}\2\2\u0389\u00c8\3\2\2\2\u038a\u038b\7\177\2\2\u038b"+
|
||||
"\u00ca\3\2\2\2\u038c\u038d\7]\2\2\u038d\u00cc\3\2\2\2\u038e\u038f\7_\2"+
|
||||
"\2\u038f\u00ce\3\2\2\2\u0390\u0391\7=\2\2\u0391\u00d0\3\2\2\2\u0392\u0393"+
|
||||
"\7.\2\2\u0393\u00d2\3\2\2\2\u0394\u0395\7\60\2\2\u0395\u00d4\3\2\2\2\u0396"+
|
||||
"\u0397\7?\2\2\u0397\u00d6\3\2\2\2\u0398\u0399\7@\2\2\u0399\u00d8\3\2\2"+
|
||||
"\2\u039a\u039b\7>\2\2\u039b\u00da\3\2\2\2\u039c\u039d\7#\2\2\u039d\u00dc"+
|
||||
"\3\2\2\2\u039e\u039f\7\u0080\2\2\u039f\u00de\3\2\2\2\u03a0\u03a1\7A\2"+
|
||||
"\2\u03a1\u00e0\3\2\2\2\u03a2\u03a3\7<\2\2\u03a3\u00e2\3\2\2\2\u03a4\u03a5"+
|
||||
"\7?\2\2\u03a5\u03a6\7?\2\2\u03a6\u00e4\3\2\2\2\u03a7\u03a8\7>\2\2\u03a8"+
|
||||
"\u03a9\7?\2\2\u03a9\u00e6\3\2\2\2\u03aa\u03ab\7@\2\2\u03ab\u03ac\7?\2"+
|
||||
"\2\u03ac\u00e8\3\2\2\2\u03ad\u03ae\7#\2\2\u03ae\u03af\7?\2\2\u03af\u00ea"+
|
||||
"\3\2\2\2\u03b0\u03b1\7(\2\2\u03b1\u03b2\7(\2\2\u03b2\u00ec\3\2\2\2\u03b3"+
|
||||
"\u03b4\7~\2\2\u03b4\u03b5\7~\2\2\u03b5\u00ee\3\2\2\2\u03b6\u03b7\7-\2"+
|
||||
"\2\u03b7\u03b8\7-\2\2\u03b8\u00f0\3\2\2\2\u03b9\u03ba\7/\2\2\u03ba\u03bb"+
|
||||
"\7/\2\2\u03bb\u00f2\3\2\2\2\u03bc\u03bd\7-\2\2\u03bd\u00f4\3\2\2\2\u03be"+
|
||||
"\u03bf\7/\2\2\u03bf\u00f6\3\2\2\2\u03c0\u03c1\7,\2\2\u03c1\u00f8\3\2\2"+
|
||||
"\2\u03c2\u03c3\7\61\2\2\u03c3\u00fa\3\2\2\2\u03c4\u03c5\7(\2\2\u03c5\u00fc"+
|
||||
"\3\2\2\2\u03c6\u03c7\7~\2\2\u03c7\u00fe\3\2\2\2\u03c8\u03c9\7`\2\2\u03c9"+
|
||||
"\u0100\3\2\2\2\u03ca\u03cb\7\'\2\2\u03cb\u0102\3\2\2\2\u03cc\u03cd\7-"+
|
||||
"\2\2\u03cd\u03ce\7?\2\2\u03ce\u0104\3\2\2\2\u03cf\u03d0\7/\2\2\u03d0\u03d1"+
|
||||
"\7?\2\2\u03d1\u0106\3\2\2\2\u03d2\u03d3\7,\2\2\u03d3\u03d4\7?\2\2\u03d4"+
|
||||
"\u0108\3\2\2\2\u03d5\u03d6\7\61\2\2\u03d6\u03d7\7?\2\2\u03d7\u010a\3\2"+
|
||||
"\2\2\u03d8\u03d9\7(\2\2\u03d9\u03da\7?\2\2\u03da\u010c\3\2\2\2\u03db\u03dc"+
|
||||
"\7~\2\2\u03dc\u03dd\7?\2\2\u03dd\u010e\3\2\2\2\u03de\u03df\7`\2\2\u03df"+
|
||||
"\u03e0\7?\2\2\u03e0\u0110\3\2\2\2\u03e1\u03e2\7\'\2\2\u03e2\u03e3\7?\2"+
|
||||
"\2\u03e3\u0112\3\2\2\2\u03e4\u03e5\7>\2\2\u03e5\u03e6\7>\2\2\u03e6\u03e7"+
|
||||
"\7?\2\2\u03e7\u0114\3\2\2\2\u03e8\u03e9\7@\2\2\u03e9\u03ea\7@\2\2\u03ea"+
|
||||
"\u03eb\7?\2\2\u03eb\u0116\3\2\2\2\u03ec\u03ed\7@\2\2\u03ed\u03ee\7@\2"+
|
||||
"\2\u03ee\u03ef\7@\2\2\u03ef\u03f0\7?\2\2\u03f0\u0118\3\2\2\2\u03f1\u03f5"+
|
||||
"\5\u011b\u008e\2\u03f2\u03f4\5\u011d\u008f\2\u03f3\u03f2\3\2\2\2\u03f4"+
|
||||
"\u03f7\3\2\2\2\u03f5\u03f3\3\2\2\2\u03f5\u03f6\3\2\2\2\u03f6\u011a\3\2"+
|
||||
"\2\2\u03f7\u03f5\3\2\2\2\u03f8\u03ff\t\21\2\2\u03f9\u03fa\n\22\2\2\u03fa"+
|
||||
"\u03ff\6\u008e\2\2\u03fb\u03fc\t\23\2\2\u03fc\u03fd\t\24\2\2\u03fd\u03ff"+
|
||||
"\6\u008e\3\2\u03fe\u03f8\3\2\2\2\u03fe\u03f9\3\2\2\2\u03fe\u03fb\3\2\2"+
|
||||
"\2\u03ff\u011c\3\2\2\2\u0400\u0407\t\25\2\2\u0401\u0402\n\22\2\2\u0402"+
|
||||
"\u0407\6\u008f\4\2\u0403\u0404\t\23\2\2\u0404\u0405\t\24\2\2\u0405\u0407"+
|
||||
"\6\u008f\5\2\u0406\u0400\3\2\2\2\u0406\u0401\3\2\2\2\u0406\u0403\3\2\2"+
|
||||
"\2\u0407\u011e\3\2\2\2\u0408\u0409\7B\2\2\u0409\u0120\3\2\2\2\u040a\u040b"+
|
||||
"\7\60\2\2\u040b\u040c\7\60\2\2\u040c\u040d\7\60\2\2\u040d\u0122\3\2\2"+
|
||||
"\2\u040e\u0410\t\26\2\2\u040f\u040e\3\2\2\2\u0410\u0411\3\2\2\2\u0411"+
|
||||
"\u040f\3\2\2\2\u0411\u0412\3\2\2\2\u0412\u0413\3\2\2\2\u0413\u0414\b\u0092"+
|
||||
"\2\2\u0414\u0124\3\2\2\2\u0415\u0416\7\61\2\2\u0416\u0417\7,\2\2\u0417"+
|
||||
"\u041b\3\2\2\2\u0418\u041a\13\2\2\2\u0419\u0418\3\2\2\2\u041a\u041d\3"+
|
||||
"\2\2\2\u041b\u041c\3\2\2\2\u041b\u0419\3\2\2\2\u041c\u041e\3\2\2\2\u041d"+
|
||||
"\u041b\3\2\2\2\u041e\u041f\7,\2\2\u041f\u0420\7\61\2\2\u0420\u0421\3\2"+
|
||||
"\2\2\u0421\u0422\b\u0093\2\2\u0422\u0126\3\2\2\2\u0423\u0424\7\61\2\2"+
|
||||
"\u0424\u0425\7\61\2\2\u0425\u0429\3\2\2\2\u0426\u0428\n\27\2\2\u0427\u0426"+
|
||||
"\3\2\2\2\u0428\u042b\3\2\2\2\u0429\u0427\3\2\2\2\u0429\u042a\3\2\2\2\u042a"+
|
||||
"\u042c\3\2\2\2\u042b\u0429\3\2\2\2\u042c\u042d\b\u0094\2\2\u042d\u0128"+
|
||||
"\3\2\2\2\64\2\u0280\u0284\u0288\u028c\u0290\u0297\u029c\u029e\u02a4\u02a8"+
|
||||
"\u02ac\u02b2\u02b7\u02c1\u02c5\u02cb\u02cf\u02d7\u02db\u02e1\u02eb\u02ef"+
|
||||
"\u02f5\u02f9\u02fe\u0301\u0304\u0309\u030c\u0311\u0316\u031e\u0329\u032d"+
|
||||
"\u0332\u0336\u0346\u0350\u0356\u035d\u0361\u0367\u0374\u03f5\u03fe\u0406"+
|
||||
"\u0411\u041b\u0429\3\b\2\2";
|
||||
public static final ATN _ATN =
|
||||
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
|
||||
static {
|
||||
_decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
|
||||
for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
|
||||
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
|
||||
}
|
||||
}
|
||||
}
|
201
src/de/dhbwstuttgart/antlr/Java8Lexer.tokens
Normal file
201
src/de/dhbwstuttgart/antlr/Java8Lexer.tokens
Normal file
@ -0,0 +1,201 @@
|
||||
THROW=44
|
||||
STATIC=38
|
||||
INTERFACE=28
|
||||
AND_ASSIGN=93
|
||||
BREAK=4
|
||||
BYTE=5
|
||||
ELSE=15
|
||||
IF=22
|
||||
ENUM=16
|
||||
SUB=82
|
||||
BANG=69
|
||||
LPAREN=57
|
||||
DOT=65
|
||||
CASE=6
|
||||
AT=101
|
||||
LINE_COMMENT=105
|
||||
StringLiteral=55
|
||||
ELLIPSIS=102
|
||||
LBRACK=61
|
||||
PUBLIC=35
|
||||
THROWS=45
|
||||
NullLiteral=56
|
||||
RSHIFT_ASSIGN=98
|
||||
LBRACE=59
|
||||
GOTO=23
|
||||
SUB_ASSIGN=90
|
||||
SEMI=63
|
||||
CHAR=8
|
||||
ASSIGN=66
|
||||
COMMENT=104
|
||||
IMPORT=25
|
||||
BITOR=86
|
||||
CATCH=7
|
||||
MUL_ASSIGN=91
|
||||
DOUBLE=14
|
||||
PROTECTED=34
|
||||
LONG=29
|
||||
COMMA=64
|
||||
BITAND=85
|
||||
PRIVATE=33
|
||||
CONTINUE=11
|
||||
DIV=84
|
||||
FloatingPointLiteral=52
|
||||
LE=74
|
||||
CharacterLiteral=54
|
||||
VOLATILE=49
|
||||
EXTENDS=17
|
||||
INSTANCEOF=26
|
||||
NEW=31
|
||||
ADD=81
|
||||
LT=68
|
||||
CLASS=9
|
||||
DO=13
|
||||
FINALLY=19
|
||||
Identifier=100
|
||||
CONST=10
|
||||
PACKAGE=32
|
||||
OR_ASSIGN=94
|
||||
TRY=47
|
||||
IntegerLiteral=51
|
||||
SYNCHRONIZED=42
|
||||
MUL=83
|
||||
FOR=21
|
||||
FINAL=18
|
||||
RPAREN=58
|
||||
CARET=87
|
||||
URSHIFT_ASSIGN=99
|
||||
BOOLEAN=3
|
||||
NOTEQUAL=76
|
||||
RBRACK=62
|
||||
RBRACE=60
|
||||
AND=77
|
||||
THIS=43
|
||||
SWITCH=41
|
||||
VOID=48
|
||||
TRANSIENT=46
|
||||
INC=79
|
||||
FLOAT=20
|
||||
NATIVE=30
|
||||
DIV_ASSIGN=92
|
||||
BooleanLiteral=53
|
||||
ABSTRACT=1
|
||||
STRICTFP=39
|
||||
INT=27
|
||||
QUESTION=71
|
||||
RETURN=36
|
||||
LSHIFT_ASSIGN=97
|
||||
ADD_ASSIGN=89
|
||||
WS=103
|
||||
GE=75
|
||||
SUPER=40
|
||||
OR=78
|
||||
DEC=80
|
||||
MOD=88
|
||||
XOR_ASSIGN=95
|
||||
ASSERT=2
|
||||
EQUAL=73
|
||||
IMPLEMENTS=24
|
||||
COLON=72
|
||||
GT=67
|
||||
SHORT=37
|
||||
MOD_ASSIGN=96
|
||||
WHILE=50
|
||||
TILDE=70
|
||||
DEFAULT=12
|
||||
'import'=25
|
||||
'-'=82
|
||||
')'=58
|
||||
'super'=40
|
||||
'else'=15
|
||||
'%'=88
|
||||
'!'=69
|
||||
'>'=67
|
||||
'public'=35
|
||||
'=='=73
|
||||
'--'=80
|
||||
'|'=86
|
||||
'['=61
|
||||
':'=72
|
||||
'...'=102
|
||||
'throw'=44
|
||||
'case'=6
|
||||
'.'=65
|
||||
'this'=43
|
||||
'*'=83
|
||||
'switch'=41
|
||||
'synchronized'=42
|
||||
'&'=85
|
||||
'double'=14
|
||||
'break'=4
|
||||
'short'=37
|
||||
'<='=74
|
||||
'enum'=16
|
||||
'try'=47
|
||||
'?'=71
|
||||
'if'=22
|
||||
'extends'=17
|
||||
'goto'=23
|
||||
'}'=60
|
||||
'instanceof'=26
|
||||
';'=63
|
||||
'||'=78
|
||||
'>>='=98
|
||||
'class'=9
|
||||
'return'=36
|
||||
'&='=93
|
||||
'catch'=7
|
||||
'native'=30
|
||||
'continue'=11
|
||||
'strictfp'=39
|
||||
'/'=84
|
||||
'*='=91
|
||||
'+'=81
|
||||
'final'=18
|
||||
'protected'=34
|
||||
'static'=38
|
||||
'@'=101
|
||||
'transient'=46
|
||||
'~'=70
|
||||
'assert'=2
|
||||
']'=62
|
||||
'<'=68
|
||||
'++'=79
|
||||
'>>>='=99
|
||||
'>='=75
|
||||
'long'=29
|
||||
'boolean'=3
|
||||
'const'=10
|
||||
'abstract'=1
|
||||
'implements'=24
|
||||
'volatile'=49
|
||||
'throws'=45
|
||||
'/='=92
|
||||
','=64
|
||||
'-='=90
|
||||
'do'=13
|
||||
'package'=32
|
||||
'('=57
|
||||
'null'=56
|
||||
'int'=27
|
||||
'|='=94
|
||||
'for'=21
|
||||
'^'=87
|
||||
'<<='=97
|
||||
'='=66
|
||||
'byte'=5
|
||||
'&&'=77
|
||||
'^='=95
|
||||
'void'=48
|
||||
'while'=50
|
||||
'{'=59
|
||||
'float'=20
|
||||
'!='=76
|
||||
'new'=31
|
||||
'char'=8
|
||||
'finally'=19
|
||||
'interface'=28
|
||||
'%='=96
|
||||
'private'=33
|
||||
'+='=89
|
||||
'default'=12
|
7394
src/de/dhbwstuttgart/antlr/Java8Parser.java
Normal file
7394
src/de/dhbwstuttgart/antlr/Java8Parser.java
Normal file
File diff suppressed because it is too large
Load Diff
621
src/de/dhbwstuttgart/antlr/Java8Visitor.java
Normal file
621
src/de/dhbwstuttgart/antlr/Java8Visitor.java
Normal file
@ -0,0 +1,621 @@
|
||||
package de.dhbwstuttgart.antlr;
|
||||
|
||||
// Generated from Java8.g4 by ANTLR 4.4
|
||||
import org.antlr.v4.runtime.misc.NotNull;
|
||||
import org.antlr.v4.runtime.tree.ParseTreeVisitor;
|
||||
|
||||
/**
|
||||
* This interface defines a complete generic visitor for a parse tree produced
|
||||
* by {@link Java8Parser}.
|
||||
*
|
||||
* @param <T> The return type of the visit operation. Use {@link Void} for
|
||||
* operations with no return type.
|
||||
*/
|
||||
public interface Java8Visitor<T> extends ParseTreeVisitor<T> {
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#memberDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitMemberDeclaration(@NotNull Java8Parser.MemberDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#defaultValue}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitDefaultValue(@NotNull Java8Parser.DefaultValueContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#annotationTypeElementDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitAnnotationTypeElementDeclaration(@NotNull Java8Parser.AnnotationTypeElementDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#type}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitType(@NotNull Java8Parser.TypeContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#annotationTypeBody}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitAnnotationTypeBody(@NotNull Java8Parser.AnnotationTypeBodyContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#genericInterfaceMethodDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitGenericInterfaceMethodDeclaration(@NotNull Java8Parser.GenericInterfaceMethodDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#classBodyDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitClassBodyDeclaration(@NotNull Java8Parser.ClassBodyDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#block}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitBlock(@NotNull Java8Parser.BlockContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#enumBodyDeclarations}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitEnumBodyDeclarations(@NotNull Java8Parser.EnumBodyDeclarationsContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#forUpdate}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitForUpdate(@NotNull Java8Parser.ForUpdateContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#enhancedForControl}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitEnhancedForControl(@NotNull Java8Parser.EnhancedForControlContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#annotationConstantRest}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitAnnotationConstantRest(@NotNull Java8Parser.AnnotationConstantRestContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#explicitGenericInvocation}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitExplicitGenericInvocation(@NotNull Java8Parser.ExplicitGenericInvocationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#nonWildcardTypeArgumentsOrDiamond}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitNonWildcardTypeArgumentsOrDiamond(@NotNull Java8Parser.NonWildcardTypeArgumentsOrDiamondContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#expressionList}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitExpressionList(@NotNull Java8Parser.ExpressionListContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#annotationTypeElementRest}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitAnnotationTypeElementRest(@NotNull Java8Parser.AnnotationTypeElementRestContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#classOrInterfaceType}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitClassOrInterfaceType(@NotNull Java8Parser.ClassOrInterfaceTypeContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#typeBound}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitTypeBound(@NotNull Java8Parser.TypeBoundContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#variableDeclaratorId}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitVariableDeclaratorId(@NotNull Java8Parser.VariableDeclaratorIdContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#primary}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitPrimary(@NotNull Java8Parser.PrimaryContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#classCreatorRest}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitClassCreatorRest(@NotNull Java8Parser.ClassCreatorRestContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#interfaceBodyDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitInterfaceBodyDeclaration(@NotNull Java8Parser.InterfaceBodyDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#typeArguments}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitTypeArguments(@NotNull Java8Parser.TypeArgumentsContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#annotationName}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitAnnotationName(@NotNull Java8Parser.AnnotationNameContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#finallyBlock}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitFinallyBlock(@NotNull Java8Parser.FinallyBlockContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#typeParameters}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitTypeParameters(@NotNull Java8Parser.TypeParametersContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#lastFormalParameter}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitLastFormalParameter(@NotNull Java8Parser.LastFormalParameterContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#constructorBody}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitConstructorBody(@NotNull Java8Parser.ConstructorBodyContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#literal}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitLiteral(@NotNull Java8Parser.LiteralContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#annotationMethodOrConstantRest}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitAnnotationMethodOrConstantRest(@NotNull Java8Parser.AnnotationMethodOrConstantRestContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#catchClause}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitCatchClause(@NotNull Java8Parser.CatchClauseContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#variableDeclarator}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitVariableDeclarator(@NotNull Java8Parser.VariableDeclaratorContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#typeList}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitTypeList(@NotNull Java8Parser.TypeListContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#enumConstants}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitEnumConstants(@NotNull Java8Parser.EnumConstantsContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#classBody}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitClassBody(@NotNull Java8Parser.ClassBodyContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#createdName}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitCreatedName(@NotNull Java8Parser.CreatedNameContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#enumDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitEnumDeclaration(@NotNull Java8Parser.EnumDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#formalParameter}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitFormalParameter(@NotNull Java8Parser.FormalParameterContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#parExpression}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitParExpression(@NotNull Java8Parser.ParExpressionContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#annotation}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitAnnotation(@NotNull Java8Parser.AnnotationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#variableInitializer}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitVariableInitializer(@NotNull Java8Parser.VariableInitializerContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#elementValueArrayInitializer}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitElementValueArrayInitializer(@NotNull Java8Parser.ElementValueArrayInitializerContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#creator}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitCreator(@NotNull Java8Parser.CreatorContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#arrayCreatorRest}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitArrayCreatorRest(@NotNull Java8Parser.ArrayCreatorRestContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#expression}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitExpression(@NotNull Java8Parser.ExpressionContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#constantExpression}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitConstantExpression(@NotNull Java8Parser.ConstantExpressionContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#qualifiedNameList}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitQualifiedNameList(@NotNull Java8Parser.QualifiedNameListContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#constructorDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitConstructorDeclaration(@NotNull Java8Parser.ConstructorDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#forControl}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitForControl(@NotNull Java8Parser.ForControlContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#superSuffix}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitSuperSuffix(@NotNull Java8Parser.SuperSuffixContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#variableDeclarators}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitVariableDeclarators(@NotNull Java8Parser.VariableDeclaratorsContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#catchType}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitCatchType(@NotNull Java8Parser.CatchTypeContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#classOrInterfaceModifier}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitClassOrInterfaceModifier(@NotNull Java8Parser.ClassOrInterfaceModifierContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#enumConstantName}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitEnumConstantName(@NotNull Java8Parser.EnumConstantNameContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#modifier}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitModifier(@NotNull Java8Parser.ModifierContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#innerCreator}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitInnerCreator(@NotNull Java8Parser.InnerCreatorContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#explicitGenericInvocationSuffix}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitExplicitGenericInvocationSuffix(@NotNull Java8Parser.ExplicitGenericInvocationSuffixContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#variableModifier}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitVariableModifier(@NotNull Java8Parser.VariableModifierContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#elementValuePair}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitElementValuePair(@NotNull Java8Parser.ElementValuePairContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#arrayInitializer}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitArrayInitializer(@NotNull Java8Parser.ArrayInitializerContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#elementValue}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitElementValue(@NotNull Java8Parser.ElementValueContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#constDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitConstDeclaration(@NotNull Java8Parser.ConstDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#resource}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitResource(@NotNull Java8Parser.ResourceContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#qualifiedName}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitQualifiedName(@NotNull Java8Parser.QualifiedNameContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#resourceSpecification}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitResourceSpecification(@NotNull Java8Parser.ResourceSpecificationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#formalParameterList}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitFormalParameterList(@NotNull Java8Parser.FormalParameterListContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#annotationTypeDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitAnnotationTypeDeclaration(@NotNull Java8Parser.AnnotationTypeDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#compilationUnit}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitCompilationUnit(@NotNull Java8Parser.CompilationUnitContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#annotationMethodRest}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitAnnotationMethodRest(@NotNull Java8Parser.AnnotationMethodRestContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#switchBlockStatementGroup}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitSwitchBlockStatementGroup(@NotNull Java8Parser.SwitchBlockStatementGroupContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#typeParameter}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitTypeParameter(@NotNull Java8Parser.TypeParameterContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#interfaceBody}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitInterfaceBody(@NotNull Java8Parser.InterfaceBodyContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#methodDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitMethodDeclaration(@NotNull Java8Parser.MethodDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#methodBody}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitMethodBody(@NotNull Java8Parser.MethodBodyContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#typeArgument}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitTypeArgument(@NotNull Java8Parser.TypeArgumentContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#typeDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitTypeDeclaration(@NotNull Java8Parser.TypeDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#genericConstructorDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitGenericConstructorDeclaration(@NotNull Java8Parser.GenericConstructorDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#classDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitClassDeclaration(@NotNull Java8Parser.ClassDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#enumConstant}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitEnumConstant(@NotNull Java8Parser.EnumConstantContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#statement}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitStatement(@NotNull Java8Parser.StatementContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#importDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitImportDeclaration(@NotNull Java8Parser.ImportDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#primitiveType}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitPrimitiveType(@NotNull Java8Parser.PrimitiveTypeContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#interfaceDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitInterfaceDeclaration(@NotNull Java8Parser.InterfaceDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#localVariableDeclarationStatement}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitLocalVariableDeclarationStatement(@NotNull Java8Parser.LocalVariableDeclarationStatementContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#blockStatement}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitBlockStatement(@NotNull Java8Parser.BlockStatementContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#fieldDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitFieldDeclaration(@NotNull Java8Parser.FieldDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#constantDeclarator}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitConstantDeclarator(@NotNull Java8Parser.ConstantDeclaratorContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#resources}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitResources(@NotNull Java8Parser.ResourcesContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#statementExpression}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitStatementExpression(@NotNull Java8Parser.StatementExpressionContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#interfaceMethodDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitInterfaceMethodDeclaration(@NotNull Java8Parser.InterfaceMethodDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#packageDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitPackageDeclaration(@NotNull Java8Parser.PackageDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#elementValuePairs}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitElementValuePairs(@NotNull Java8Parser.ElementValuePairsContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#localVariableDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitLocalVariableDeclaration(@NotNull Java8Parser.LocalVariableDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#nonWildcardTypeArguments}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitNonWildcardTypeArguments(@NotNull Java8Parser.NonWildcardTypeArgumentsContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#interfaceMemberDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitInterfaceMemberDeclaration(@NotNull Java8Parser.InterfaceMemberDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#switchLabel}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitSwitchLabel(@NotNull Java8Parser.SwitchLabelContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#forInit}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitForInit(@NotNull Java8Parser.ForInitContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#formalParameters}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitFormalParameters(@NotNull Java8Parser.FormalParametersContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#arguments}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitArguments(@NotNull Java8Parser.ArgumentsContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#genericMethodDeclaration}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitGenericMethodDeclaration(@NotNull Java8Parser.GenericMethodDeclarationContext ctx);
|
||||
/**
|
||||
* Visit a parse tree produced by {@link Java8Parser#typeArgumentsOrDiamond}.
|
||||
* @param ctx the parse tree
|
||||
* @return the visitor result
|
||||
*/
|
||||
T visitTypeArgumentsOrDiamond(@NotNull Java8Parser.TypeArgumentsOrDiamondContext ctx);
|
||||
}
|
68
src/de/dhbwstuttgart/antlr/VisitorTest.java
Normal file
68
src/de/dhbwstuttgart/antlr/VisitorTest.java
Normal file
@ -0,0 +1,68 @@
|
||||
package de.dhbwstuttgart.antlr;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.Vector;
|
||||
|
||||
import org.antlr.v4.runtime.*;
|
||||
import org.antlr.v4.runtime.tree.*;
|
||||
import org.junit.Test;
|
||||
|
||||
import de.dhbwstuttgart.antlr.Java8Parser.ClassDeclarationContext;
|
||||
import de.dhbwstuttgart.antlr.Java8Parser.CompilationUnitContext;
|
||||
import de.dhbwstuttgart.antlr.Java8Parser.TypeDeclarationContext;
|
||||
import de.dhbwstuttgart.syntaxtree.SourceFile;
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.syntaxtree.Class;
|
||||
|
||||
|
||||
public class VisitorTest {
|
||||
|
||||
private final static String testFile = System.getProperty("user.dir")+"/test/parser/AntlrTest.jav";
|
||||
|
||||
@Test
|
||||
public void test() throws IOException{
|
||||
|
||||
ANTLRInputStream input = new ANTLRInputStream(new FileInputStream(testFile));
|
||||
Java8Lexer lexer = new Java8Lexer(input);
|
||||
CommonTokenStream tokens = new CommonTokenStream(lexer);
|
||||
Java8Parser parser = new Java8Parser(tokens);
|
||||
ParseTree tree = parser.compilationUnit(); // begin parsing at init rule
|
||||
System.out.println(tree.toStringTree(parser)); // print LISP-style tree
|
||||
//VISITOR:
|
||||
EvalVisitor visitor = new EvalVisitor();
|
||||
SyntaxTreeNode sourceFile = visitor.visit(tree);
|
||||
System.out.println(sourceFile);
|
||||
// Create a generic parse tree walker that can trigger callbacks
|
||||
// ParseTreeWalker walker = new ParseTreeWalker();
|
||||
}
|
||||
}
|
||||
|
||||
class EvalVisitor extends Java8BaseVisitor<SyntaxTreeNode> {
|
||||
|
||||
@Override
|
||||
public SyntaxTreeNode visitCompilationUnit(CompilationUnitContext ctx) {
|
||||
Vector<Class> classDefinitions = new Vector<>();
|
||||
for(TypeDeclarationContext tDecl : ctx.typeDeclaration()){
|
||||
Class cl = (Class) visit(tDecl);
|
||||
classDefinitions.add(cl);
|
||||
}
|
||||
|
||||
return new SourceFile(classDefinitions);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class visitTypeDeclaration(TypeDeclarationContext ctx) {
|
||||
Class ret = (Class) visit(ctx.classDeclaration());
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class visitClassDeclaration(ClassDeclarationContext ctx) {
|
||||
String name = ctx.Identifier().getText();
|
||||
int offset = ctx.Identifier().getSymbol().getStartIndex();
|
||||
return new Class(name, offset);
|
||||
}
|
||||
|
||||
}
|
3
src/de/dhbwstuttgart/antlr/makefile
Normal file
3
src/de/dhbwstuttgart/antlr/makefile
Normal file
@ -0,0 +1,3 @@
|
||||
all:
|
||||
java -jar ./antlr-4.4-complete.jar -no-listener -visitor Java8.g4
|
||||
|
@ -14,8 +14,10 @@ import org.apache.log4j.Logger;
|
||||
|
||||
|
||||
|
||||
|
||||
import de.dhbwstuttgart.myexception.JVMCodeException;
|
||||
import de.dhbwstuttgart.parser.JavaClassName;
|
||||
import de.dhbwstuttgart.syntaxtree.Interface;
|
||||
import de.dhbwstuttgart.syntaxtree.misc.UsedId;
|
||||
import de.dhbwstuttgart.syntaxtree.modifier.Modifiers;
|
||||
|
||||
@ -35,8 +37,8 @@ public interface AClassOrInterface
|
||||
{
|
||||
|
||||
public JavaClassName getName();
|
||||
public Vector<UsedId> getSuperInterfaces();
|
||||
public void setSuperInterfaces(Vector<UsedId> vector);
|
||||
public Vector<Interface> getSuperInterfaces();
|
||||
public void setSuperInterfaces(Vector<Interface> vector);
|
||||
|
||||
/*
|
||||
// ino.attribute.inferencelog.21189.decldescription type=javadoc
|
||||
|
@ -5,6 +5,7 @@ package de.dhbwstuttgart.parser;
|
||||
// ino.module.InterfaceList.8615.import
|
||||
import java.util.Vector;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.Interface;
|
||||
import de.dhbwstuttgart.syntaxtree.misc.UsedId;
|
||||
|
||||
// ino.class.InterfaceList.24383.description type=javadoc
|
||||
@ -35,11 +36,15 @@ public class InterfaceList
|
||||
// ino.end
|
||||
|
||||
// ino.method.getVector.24392.definition
|
||||
public Vector<UsedId> getVector()
|
||||
public Vector<Interface> getVector()
|
||||
// ino.end
|
||||
// ino.method.getVector.24392.body
|
||||
{
|
||||
return superif;
|
||||
Vector<Interface> ret = new Vector<>();
|
||||
for(UsedId name : superif){
|
||||
ret.add(new Interface(name.get_Name_1Element(), name.getOffset()));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -950,7 +950,7 @@ case 34:
|
||||
{
|
||||
Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Token)yyVals[-3+yyTop]).getOffset());
|
||||
ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector());
|
||||
ic.setSuperInterfaces(((InterfaceList)yyVals[-1+yyTop]).getVector());
|
||||
/*ic.setSuperInterfaces($3.getVector());*/
|
||||
ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
|
||||
ic.setContainedTypes(containedTypes);
|
||||
initContainedTypes();
|
||||
@ -962,7 +962,7 @@ case 35:
|
||||
{
|
||||
Interface ic = new Interface(((InterfaceAndParameter)yyVals[-2+yyTop]).getName(), ((Modifiers)yyVals[-4+yyTop]), ((Token)yyVals[-3+yyTop]).getOffset());
|
||||
ic.setParaList(((InterfaceAndParameter)yyVals[-2+yyTop]).getParaVector());
|
||||
ic.setSuperInterfaces(((InterfaceList)yyVals[-1+yyTop]).getVector());
|
||||
/*ic.setSuperInterfaces($4.getVector());*/
|
||||
ic.setInterfaceBody(((InterfaceBody)yyVals[0+yyTop]));
|
||||
ic.setContainedTypes(containedTypes);
|
||||
initContainedTypes();
|
||||
@ -986,7 +986,7 @@ case 37:
|
||||
// line 493 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
ParaList pl = new ParaList();
|
||||
RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),((Token)yyVals[-3+yyTop]).getOffset() );
|
||||
RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),null,((Token)yyVals[-3+yyTop]).getOffset() );
|
||||
t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() );
|
||||
pl.getParalist().addElement(t);
|
||||
org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f<>r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType");
|
||||
@ -1018,7 +1018,7 @@ case 39:
|
||||
case 40:
|
||||
// line 521 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem() ,((Token)yyVals[-3+yyTop]).getOffset() );
|
||||
RefType t = new RefType( ((Token)yyVals[-3+yyTop]).getLexem(),null ,((Token)yyVals[-3+yyTop]).getOffset() );
|
||||
t.set_ParaList( ((ParaList)yyVals[-1+yyTop]).get_ParaList() );
|
||||
((ParaList)yyVals[-5+yyTop]).getParalist().addElement(t);
|
||||
org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f<>r " + ((Token)yyVals[-3+yyTop]).getLexem() + ": RefType");
|
||||
@ -1036,7 +1036,7 @@ case 42:
|
||||
// line 535 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
/*Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden*/
|
||||
WildcardType wc = new WildcardType(-1);
|
||||
WildcardType wc = new WildcardType(null,-1);
|
||||
yyVal = wc;
|
||||
}
|
||||
break;
|
||||
@ -1193,7 +1193,7 @@ case 64:
|
||||
// line 663 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
/*PL 05-07-30 eingefuegt containedTypes ANFANG*/
|
||||
RefType RT = new RefType(-1);
|
||||
RefType RT = new RefType(null,-1);
|
||||
/*RT.set_UsedId($1);*/
|
||||
/*RT.setName(RT.get_UsedId().get_Name_1Element());*/
|
||||
RT.set_ParaList(((UsedId)yyVals[0+yyTop]).get_RealParaList());
|
||||
@ -1660,7 +1660,7 @@ case 122:
|
||||
case 123:
|
||||
// line 1071 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
|
||||
Void Voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
|
||||
((Method)yyVals[0+yyTop]).setType(Voit);
|
||||
yyVal=((Method)yyVals[0+yyTop]);
|
||||
}
|
||||
@ -1668,7 +1668,7 @@ case 123:
|
||||
case 124:
|
||||
// line 1077 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
|
||||
Void voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
|
||||
((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-2+yyTop]));
|
||||
((Method)yyVals[0+yyTop]).setType(voit);
|
||||
yyVal=((Method)yyVals[0+yyTop]);
|
||||
@ -1677,7 +1677,7 @@ case 124:
|
||||
case 125:
|
||||
// line 1084 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset());
|
||||
Void voyt = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
|
||||
((Method)yyVals[-1+yyTop]).setType(voyt);
|
||||
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
||||
yyVal=((Method)yyVals[-1+yyTop]);
|
||||
@ -1686,7 +1686,7 @@ case 125:
|
||||
case 126:
|
||||
// line 1091 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset());
|
||||
Void voyd = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
|
||||
((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
|
||||
((Method)yyVals[-1+yyTop]).setType(voyd);
|
||||
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
||||
@ -1696,7 +1696,7 @@ case 126:
|
||||
case 127:
|
||||
// line 1099 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
Void Voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
|
||||
Void Voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
|
||||
((Method)yyVals[0+yyTop]).setType(Voit);
|
||||
((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
|
||||
yyVal=((Method)yyVals[0+yyTop]);
|
||||
@ -1705,7 +1705,7 @@ case 127:
|
||||
case 128:
|
||||
// line 1106 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
Void voit = new Void(((Token)yyVals[-1+yyTop]).getOffset());
|
||||
Void voit = new Void(((Method)yyVals[0+yyTop]),((Token)yyVals[-1+yyTop]).getOffset());
|
||||
((Method)yyVals[0+yyTop]).set_Modifiers(((Modifiers)yyVals[-3+yyTop]));
|
||||
((Method)yyVals[0+yyTop]).setType(voit);
|
||||
((Method)yyVals[0+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-2+yyTop]));
|
||||
@ -1715,7 +1715,7 @@ case 128:
|
||||
case 129:
|
||||
// line 1114 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
Void voyt = new Void(((Token)yyVals[-2+yyTop]).getOffset());
|
||||
Void voyt = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
|
||||
((Method)yyVals[-1+yyTop]).setType(voyt);
|
||||
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
||||
((Method)yyVals[-1+yyTop]).setGenericParameter(((GenericDeclarationList)yyVals[-3+yyTop]));
|
||||
@ -1725,7 +1725,7 @@ case 129:
|
||||
case 130:
|
||||
// line 1122 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
Void voyd = new Void(((Token)yyVals[-2+yyTop]).getOffset());
|
||||
Void voyd = new Void(((Method)yyVals[-1+yyTop]),((Token)yyVals[-2+yyTop]).getOffset());
|
||||
((Method)yyVals[-1+yyTop]).set_Modifiers(((Modifiers)yyVals[-4+yyTop]));
|
||||
((Method)yyVals[-1+yyTop]).setType(voyd);
|
||||
((Method)yyVals[-1+yyTop]).set_ExceptionList(((ExceptionList)yyVals[0+yyTop]));
|
||||
@ -1867,7 +1867,7 @@ case 148:
|
||||
case 149:
|
||||
// line 1238 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
RefType RT = new RefType(-1);
|
||||
RefType RT = new RefType(null,-1);
|
||||
RT.set_UsedId(((UsedId)yyVals[0+yyTop]));
|
||||
RT.setName(RT.get_UsedId().get_Name_1Element());
|
||||
yyVal=RT;
|
||||
@ -1915,7 +1915,7 @@ case 152:
|
||||
case 153:
|
||||
// line 1280 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
BooleanType BT = new BooleanType();
|
||||
BooleanType BT = new BooleanType(null);
|
||||
/* #JB# 05.04.2005 */
|
||||
/* ########################################################### */
|
||||
/*BT.setName($1.getLexem());*/
|
||||
@ -1939,7 +1939,7 @@ case 155:
|
||||
/*((UsedId)$1).vParaOrg = new Vector<Type>( $2.get_ParaList() );*/
|
||||
}
|
||||
UsedId uid = ((UsedId)yyVals[-1+yyTop]);
|
||||
RefType RT = new RefType(uid.getOffset());
|
||||
RefType RT = new RefType(null,uid.getOffset());
|
||||
|
||||
RT.set_ParaList(uid.get_RealParaList());
|
||||
RT.setName(uid.getQualifiedName());
|
||||
@ -1956,7 +1956,7 @@ case 156:
|
||||
// line 1316 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + ((UsedId)yyVals[0+yyTop]));
|
||||
RefType RT = new RefType(((UsedId)yyVals[0+yyTop]).getOffset());
|
||||
RefType RT = new RefType(null,((UsedId)yyVals[0+yyTop]).getOffset());
|
||||
|
||||
/*ausgetauscht PL 05-07-30*/
|
||||
/*RT.set_UsedId($1); */
|
||||
@ -2110,7 +2110,7 @@ case 174:
|
||||
case 175:
|
||||
// line 1481 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
IntegerType IT = new IntegerType();
|
||||
IntegerType IT = new IntegerType(null);
|
||||
/* #JB# 05.04.2005 */
|
||||
/* ########################################################### */
|
||||
/*IT.setName($1.getLexem());*/
|
||||
@ -2121,7 +2121,7 @@ case 175:
|
||||
case 176:
|
||||
// line 1490 "./../src/de/dhbwstuttgart/parser/JavaParser.jay"
|
||||
{
|
||||
CharacterType CT = new CharacterType();
|
||||
CharacterType CT = new CharacterType(null);
|
||||
/* #JB# 05.04.2005 */
|
||||
/* ########################################################### */
|
||||
/*CT.setName($1.getLexem());*/
|
||||
|
@ -461,7 +461,7 @@ interfacedeclaration: INTERFACE interfaceidentifier interfacebody
|
||||
{
|
||||
Interface ic = new Interface($2.getName(), $1.getOffset());
|
||||
ic.setParaList($2.getParaVector());
|
||||
ic.setSuperInterfaces($3.getVector());
|
||||
//ic.setSuperInterfaces($3.getVector());
|
||||
ic.setInterfaceBody($4);
|
||||
ic.setContainedTypes(containedTypes);
|
||||
initContainedTypes();
|
||||
@ -471,7 +471,7 @@ interfacedeclaration: INTERFACE interfaceidentifier interfacebody
|
||||
{
|
||||
Interface ic = new Interface($3.getName(), $1, $2.getOffset());
|
||||
ic.setParaList($3.getParaVector());
|
||||
ic.setSuperInterfaces($4.getVector());
|
||||
//ic.setSuperInterfaces($4.getVector());
|
||||
ic.setInterfaceBody($5);
|
||||
ic.setContainedTypes(containedTypes);
|
||||
initContainedTypes();
|
||||
@ -492,7 +492,7 @@ paralist : IDENTIFIER
|
||||
| IDENTIFIER '<' paralist '>'
|
||||
{
|
||||
ParaList pl = new ParaList();
|
||||
RefType t = new RefType( $1.getLexem(),$1.getOffset() );
|
||||
RefType t = new RefType( $1.getLexem(),null,$1.getOffset() );
|
||||
t.set_ParaList( $3.get_ParaList() );
|
||||
pl.getParalist().addElement(t);
|
||||
org.apache.log4j.Logger.getLogger("parser").debug( "IDENTIFIER '<' paralist '>' --> Paralist f<>r " + $1.getLexem() + ": RefType");
|
||||
@ -519,7 +519,7 @@ paralist : IDENTIFIER
|
||||
|
||||
| paralist ',' IDENTIFIER '<' paralist '>'
|
||||
{
|
||||
RefType t = new RefType( $3.getLexem() ,$3.getOffset() );
|
||||
RefType t = new RefType( $3.getLexem(),null ,$3.getOffset() );
|
||||
t.set_ParaList( $5.get_ParaList() );
|
||||
$1.getParalist().addElement(t);
|
||||
org.apache.log4j.Logger.getLogger("parser").debug( "paralist ',' IDENTIFIER '<' paralist '>' --> Paralist f<>r " + $3.getLexem() + ": RefType");
|
||||
@ -534,7 +534,7 @@ paralist : IDENTIFIER
|
||||
wildcardparameter : '?'
|
||||
{
|
||||
//Luar 29.11.06 Offset auf -1, da keine Angabe vorhanden
|
||||
WildcardType wc = new WildcardType(-1);
|
||||
WildcardType wc = new WildcardType(null,-1);
|
||||
$$ = wc;
|
||||
}
|
||||
| '?' EXTENDS referencetype
|
||||
@ -662,7 +662,7 @@ modifier : PUBLIC
|
||||
classtype : classorinterfacetype
|
||||
{
|
||||
//PL 05-07-30 eingefuegt containedTypes ANFANG
|
||||
RefType RT = new RefType(-1);
|
||||
RefType RT = new RefType(null,-1);
|
||||
//RT.set_UsedId($1);
|
||||
//RT.setName(RT.get_UsedId().get_Name_1Element());
|
||||
RT.set_ParaList($1.get_RealParaList());
|
||||
@ -1069,27 +1069,27 @@ methodheader :genericdeclarationlist type methoddeclarator
|
||||
}
|
||||
| VOID methoddeclarator
|
||||
{
|
||||
Void Voit = new Void($1.getOffset());
|
||||
Void Voit = new Void($2,$1.getOffset());
|
||||
$2.setType(Voit);
|
||||
$$=$2;
|
||||
}
|
||||
| modifiers VOID methoddeclarator
|
||||
{
|
||||
Void voit = new Void($2.getOffset());
|
||||
Void voit = new Void($3,$2.getOffset());
|
||||
$3.set_Modifiers($1);
|
||||
$3.setType(voit);
|
||||
$$=$3;
|
||||
}
|
||||
| VOID methoddeclarator throws
|
||||
{
|
||||
Void voyt = new Void($1.getOffset());
|
||||
Void voyt = new Void($2,$1.getOffset());
|
||||
$2.setType(voyt);
|
||||
$2.set_ExceptionList($3);
|
||||
$$=$2;
|
||||
}
|
||||
| modifiers VOID methoddeclarator throws
|
||||
{
|
||||
Void voyd = new Void($2.getOffset());
|
||||
Void voyd = new Void($3,$2.getOffset());
|
||||
$3.set_Modifiers($1);
|
||||
$3.setType(voyd);
|
||||
$3.set_ExceptionList($4);
|
||||
@ -1097,14 +1097,14 @@ methodheader :genericdeclarationlist type methoddeclarator
|
||||
}
|
||||
| genericdeclarationlist VOID methoddeclarator
|
||||
{
|
||||
Void Voit = new Void($2.getOffset());
|
||||
Void Voit = new Void($3,$2.getOffset());
|
||||
$3.setType(Voit);
|
||||
$3.setGenericParameter($1);
|
||||
$$=$3;
|
||||
}
|
||||
| modifiers genericdeclarationlist VOID methoddeclarator
|
||||
{
|
||||
Void voit = new Void($3.getOffset());
|
||||
Void voit = new Void($4,$3.getOffset());
|
||||
$4.set_Modifiers($1);
|
||||
$4.setType(voit);
|
||||
$4.setGenericParameter($2);
|
||||
@ -1112,7 +1112,7 @@ methodheader :genericdeclarationlist type methoddeclarator
|
||||
}
|
||||
| genericdeclarationlist VOID methoddeclarator throws
|
||||
{
|
||||
Void voyt = new Void($2.getOffset());
|
||||
Void voyt = new Void($3,$2.getOffset());
|
||||
$3.setType(voyt);
|
||||
$3.set_ExceptionList($4);
|
||||
$3.setGenericParameter($1);
|
||||
@ -1120,7 +1120,7 @@ methodheader :genericdeclarationlist type methoddeclarator
|
||||
}
|
||||
| modifiers genericdeclarationlist VOID methoddeclarator throws
|
||||
{
|
||||
Void voyd = new Void($3.getOffset());
|
||||
Void voyd = new Void($4,$3.getOffset());
|
||||
$4.set_Modifiers($1);
|
||||
$4.setType(voyd);
|
||||
$4.set_ExceptionList($5);
|
||||
@ -1236,7 +1236,7 @@ explicitconstructorinvocation : THIS '(' ')' ';'
|
||||
|
||||
classtypelist : classtype
|
||||
{
|
||||
RefType RT = new RefType(-1);
|
||||
RefType RT = new RefType(null,-1);
|
||||
RT.set_UsedId($1);
|
||||
RT.setName(RT.get_UsedId().get_Name_1Element());
|
||||
$$=RT;
|
||||
@ -1278,7 +1278,7 @@ methoddeclarator :IDENTIFIER '(' ')'
|
||||
|
||||
primitivetype :BOOLEAN
|
||||
{
|
||||
BooleanType BT = new BooleanType();
|
||||
BooleanType BT = new BooleanType(null);
|
||||
/* #JB# 05.04.2005 */
|
||||
/* ########################################################### */
|
||||
//BT.setName($1.getLexem());
|
||||
@ -1299,7 +1299,7 @@ referencelongtype : typename parameter
|
||||
//((UsedId)$1).vParaOrg = new Vector<Type>( $2.get_ParaList() );
|
||||
}
|
||||
UsedId uid = $1;
|
||||
RefType RT = new RefType(uid.getOffset());
|
||||
RefType RT = new RefType(null,uid.getOffset());
|
||||
|
||||
RT.set_ParaList(uid.get_RealParaList());
|
||||
RT.setName(uid.getQualifiedName());
|
||||
@ -1315,7 +1315,7 @@ referencelongtype : typename parameter
|
||||
referencetype :classorinterfacetype
|
||||
{
|
||||
org.apache.log4j.Logger.getLogger("parser").debug("T->Parser->referenctype: " + $1);
|
||||
RefType RT = new RefType($1.getOffset());
|
||||
RefType RT = new RefType(null,$1.getOffset());
|
||||
|
||||
//ausgetauscht PL 05-07-30
|
||||
//RT.set_UsedId($1);
|
||||
@ -1479,7 +1479,7 @@ expression :assignmentexpression
|
||||
|
||||
integraltype :INT
|
||||
{
|
||||
IntegerType IT = new IntegerType();
|
||||
IntegerType IT = new IntegerType(null);
|
||||
/* #JB# 05.04.2005 */
|
||||
/* ########################################################### */
|
||||
//IT.setName($1.getLexem());
|
||||
@ -1488,7 +1488,7 @@ integraltype :INT
|
||||
}
|
||||
| CHAR
|
||||
{
|
||||
CharacterType CT = new CharacterType();
|
||||
CharacterType CT = new CharacterType(null);
|
||||
/* #JB# 05.04.2005 */
|
||||
/* ########################################################### */
|
||||
//CT.setName($1.getLexem());
|
||||
|
@ -51,7 +51,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
||||
protected Modifiers modifiers;
|
||||
protected String name;
|
||||
|
||||
private Vector<UsedId> superif = new Vector<UsedId>();
|
||||
private Vector<Interface> superif = new Vector<Interface>();
|
||||
|
||||
public UsedId getPackageName()
|
||||
{
|
||||
@ -88,11 +88,13 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
public Vector<UsedId> getSuperInterfaces()
|
||||
|
||||
public Vector<Interface> getSuperInterfaces()
|
||||
{
|
||||
return superif;
|
||||
}
|
||||
public void setSuperInterfaces(Vector<UsedId> superif)
|
||||
|
||||
public void setSuperInterfaces(Vector<Interface> superif)
|
||||
{
|
||||
this.superif = superif;
|
||||
}
|
||||
@ -142,6 +144,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
||||
private Vector<Field> fielddecl = new Vector<Field>();
|
||||
private GenericDeclarationList genericClassParameters;
|
||||
private int offset;
|
||||
private Class superClass;
|
||||
|
||||
|
||||
// ino.method.Class.23041.definition
|
||||
@ -154,20 +157,23 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
||||
superclassid=null;
|
||||
}
|
||||
this.offset = offset;
|
||||
if(!name.equals("Object"))//Alle Klassen außer Object erben von Object:
|
||||
this.superClass = new Class("Object", -1);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
public Class(String name, Class superClass, int offset){
|
||||
this(name,offset);
|
||||
this.superClass = superClass;
|
||||
}
|
||||
|
||||
// ino.method.Class.23044.definition
|
||||
public Class(String name, Modifiers mod, int offset)
|
||||
// ino.end
|
||||
// ino.method.Class.23044.body
|
||||
{
|
||||
this.name = name;
|
||||
this(name, offset);
|
||||
this.modifiers = mod;
|
||||
if(name.equals("java.lang.Object")){
|
||||
superclassid=null;
|
||||
}
|
||||
this.offset = offset;
|
||||
}
|
||||
// ino.end
|
||||
|
||||
@ -179,17 +185,21 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
||||
// ino.end
|
||||
// ino.method.Class.23047.definition
|
||||
public Class(String name, Modifiers mod, ClassBody cb, Vector<Type> ct, Vector<UsedId> usedIdsToCheck,
|
||||
UsedId superclass, Vector<UsedId> superif, Vector<Type> paralist, int offset)
|
||||
UsedId superclass, Vector<Interface> superif, Vector<Type> paralist, int offset)
|
||||
// ino.end
|
||||
// ino.method.Class.23047.body
|
||||
{
|
||||
this.name = name;
|
||||
this(name,offset);
|
||||
this.modifiers = mod;
|
||||
if (cb != null) set_ClassBody(cb);
|
||||
if (ct != null) setContainedTypes(ct);
|
||||
if (superclass != null) set_UsedId(superclass);
|
||||
if (superclass != null){
|
||||
this.superClass = new Class(superClass.getName().toString(),-1);
|
||||
}
|
||||
if (superif != null) setSuperInterfaces(superif);
|
||||
if (paralist != null) this.set_ParaList(paralist);
|
||||
if (paralist != null){
|
||||
this.set_ParaList(paralist);
|
||||
}
|
||||
if(usedIdsToCheck!=null) this.usedIdsToCheck=usedIdsToCheck;
|
||||
|
||||
// HOTI 10.5.06
|
||||
@ -198,14 +208,14 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
||||
if(name.equals("java.lang.Object")){
|
||||
superclassid=null;
|
||||
}
|
||||
|
||||
|
||||
parserlog.debug("Neue Klasse: " + name);
|
||||
this.offset = offset;
|
||||
|
||||
}
|
||||
// ino.end
|
||||
|
||||
public Vector<Field> getFields()
|
||||
public Vector<Field> getFields()
|
||||
{
|
||||
return fielddecl;
|
||||
}
|
||||
@ -1072,7 +1082,7 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
||||
parameter.add(((GenericTypeVar)param).getTypePlaceHolder());//(TypePlaceholder.fresh()); //Hier ist kein ReplacementListener notwendig. Der Typ soll nie eingesetzt werden. Der TPH wird nur gebraucht, damit das Unifizieren funktioniert.
|
||||
}
|
||||
*/
|
||||
return new RefType(this.getName().toString(), this.get_ParaList(), 0);
|
||||
return new RefType(this.getName().toString(), this.get_ParaList(),this, 0);
|
||||
}
|
||||
|
||||
|
||||
@ -1134,10 +1144,14 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
||||
if(t instanceof GenericTypeVar)this.genericClassParameters.add((GenericTypeVar)t);
|
||||
else this.genericClassParameters.add(new GenericTypeVar(t.get_Name(),this,-1));
|
||||
}
|
||||
for(Type t : this.get_ParaList()){
|
||||
t.parserPostProcessing(this);
|
||||
}
|
||||
/*
|
||||
for(GenericTypeVar gtv : this.getGenericParameter()){
|
||||
gtv.setParentClass(this);;
|
||||
}
|
||||
|
||||
*/
|
||||
//TODO: Umwandlung zu RefTypes funktioniert noch nicht richtig. (siehe LambdaTest2)
|
||||
//Als RefType geparste Generische Variablen umwandeln:
|
||||
this.wandleRefTypeAttributes2GenericAttributes();
|
||||
@ -1153,8 +1167,8 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
||||
Vector<SyntaxTreeNode> ret = new Vector<SyntaxTreeNode>();
|
||||
for(Field f : this.getFields()){
|
||||
ret.add(f);
|
||||
ret.addAll(this.getGenericParameter());
|
||||
}
|
||||
ret.addAll(this.getGenericParameter());
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -1207,6 +1221,12 @@ public class Class extends SyntaxTreeNode implements AClassOrInterface, IItemWit
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Die Super Klasse dieser Klasse.
|
||||
* @return null für Klasse Object
|
||||
*/
|
||||
public Class getSuperClass(){
|
||||
return this.superClass;
|
||||
}
|
||||
}
|
||||
// ino.end
|
||||
|
@ -158,6 +158,7 @@ public abstract class Field extends SyntaxTreeNode implements TypeInsertable, Ty
|
||||
public Vector<SyntaxTreeNode> getChildren() {
|
||||
Vector<SyntaxTreeNode> ret = new Vector<>();
|
||||
if(this.getType()!=null)ret.add(this.getType());
|
||||
ret.addAll(this.getGenericParameter());
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -101,7 +101,6 @@ public class FieldDeclaration extends Field{
|
||||
public void parserPostProcessing(SyntaxTreeNode parent){
|
||||
super.parserPostProcessing(parent);
|
||||
if(this.getType() == null)this.setType(TypePlaceholder.fresh(this));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -162,7 +162,11 @@ public class SourceFile
|
||||
}
|
||||
}
|
||||
|
||||
// ino.attribute.imports.21382.decldescription type=javadoc
|
||||
public SourceFile(Vector<Class> classDefinitions) {
|
||||
this.KlassenVektor = classDefinitions;
|
||||
}
|
||||
|
||||
// ino.attribute.imports.21382.decldescription type=javadoc
|
||||
/**
|
||||
* HOTI 4.5.06
|
||||
* Beinhaltet alle Imports des aktuell geparsten Files
|
||||
@ -248,7 +252,7 @@ public class SourceFile
|
||||
*/
|
||||
// ino.end
|
||||
// ino.method.createPairFromClassAndSuperclass.21400.definition
|
||||
private Pair createPairFromClassAndSuperclass(JavaClassName className, JavaClassName superclassName, Vector classParaOrg, Vector superclassParaOrg)
|
||||
private Pair createPairFromClassAndSuperclass(Class baseClass, Class superclass, Vector classParaOrg, Vector superclassParaOrg)
|
||||
// ino.end
|
||||
// ino.method.createPairFromClassAndSuperclass.21400.body
|
||||
{
|
||||
@ -259,10 +263,13 @@ public class SourceFile
|
||||
if(superclassParaOrg!=null && superclassParaOrg.size()==0){
|
||||
superclassParaOrg=null;
|
||||
}
|
||||
/*
|
||||
Pair P = new Pair(
|
||||
new RefType( className.toString(), classParaOrg,-1),
|
||||
new RefType( superclassName.toString(), superclassParaOrg,-1)
|
||||
);
|
||||
*/
|
||||
Pair P = new Pair(baseClass.getType(), superclass.getType());
|
||||
//PL 04-12-29 freshe Variablen ANFANG
|
||||
RefType r1 = (RefType)P.getTA1Copy();
|
||||
RefType r2 = (RefType)P.getTA2Copy();
|
||||
@ -305,17 +312,16 @@ public class SourceFile
|
||||
{
|
||||
Class tempKlasse = KlassenVektor.elementAt(i);
|
||||
inferencelog.debug("Verarbeite "+tempKlasse.getName());
|
||||
|
||||
//TODO: SuperKlasse erstellen, dies sollte am besten beim Konstruktoraufruf von Class geschehen. Diese kann dann mit getSuperClass abgefragt werden.
|
||||
if( tempKlasse.superclassid != null ) { // Klasse hat Superklasse
|
||||
Pair P=createPairFromClassAndSuperclass(tempKlasse.getName(),tempKlasse.get_Superclass_Name(),tempKlasse.get_ParaList(),tempKlasse.superclassid.get_ParaList());
|
||||
Pair P=createPairFromClassAndSuperclass(tempKlasse,tempKlasse.getSuperClass(),tempKlasse.get_ParaList(),tempKlasse.superclassid.get_ParaList());
|
||||
vFC.add( P );
|
||||
}
|
||||
if(tempKlasse.getSuperInterfaces()!=null){
|
||||
Iterator<UsedId> interfaceIterator=tempKlasse.getSuperInterfaces().iterator();
|
||||
Iterator<Interface> interfaceIterator=tempKlasse.getSuperInterfaces().iterator();
|
||||
while(interfaceIterator.hasNext()){
|
||||
UsedId intf=interfaceIterator.next();
|
||||
JavaClassName interfaceName=intf.getQualifiedName();
|
||||
Pair P=createPairFromClassAndSuperclass(tempKlasse.getName(),interfaceName,tempKlasse.get_ParaList(),intf.get_ParaList());
|
||||
Interface intf=interfaceIterator.next();
|
||||
Pair P=createPairFromClassAndSuperclass(tempKlasse,intf,tempKlasse.get_ParaList(),intf.get_ParaList());
|
||||
vFC.add( P );
|
||||
|
||||
}
|
||||
@ -324,11 +330,10 @@ public class SourceFile
|
||||
for(int i=0; i<InterfaceVektor.size();i++){
|
||||
Interface intf= InterfaceVektor.get(i);
|
||||
if(intf.getSuperInterfaces()!=null){
|
||||
Iterator<UsedId> interfaceIterator=intf.getSuperInterfaces().iterator();
|
||||
Iterator<Interface> interfaceIterator=intf.getSuperInterfaces().iterator();
|
||||
while(interfaceIterator.hasNext()){
|
||||
UsedId superintf=interfaceIterator.next();
|
||||
JavaClassName superinterfaceName=superintf.getQualifiedName();
|
||||
Pair P=createPairFromClassAndSuperclass(intf.getName(),superinterfaceName,intf.getParaList(), superintf.get_ParaList());
|
||||
Interface superintf=interfaceIterator.next();
|
||||
Pair P=createPairFromClassAndSuperclass(intf,superintf,intf.getParaList(), superintf.get_ParaList());
|
||||
vFC.add( P );
|
||||
|
||||
}
|
||||
@ -1168,7 +1173,7 @@ public class SourceFile
|
||||
|
||||
for(int j=0;j<fields.length;j++){
|
||||
if(java.lang.reflect.Modifier.isPublic(fields[j].getModifiers())){
|
||||
parentClass.addField(new FieldDeclaration(fields[j].getName(),new RefType(fields[j].getType().getName(),-1)));
|
||||
parentClass.addField(new FieldDeclaration(fields[j].getName(),new RefType(fields[j].getType().getName(),parentClass,-1)));
|
||||
}
|
||||
}
|
||||
for(int j=0;j<methods.length;j++){
|
||||
@ -1204,19 +1209,20 @@ public class SourceFile
|
||||
}
|
||||
|
||||
for(int j=0;j<constructors.length;j++){
|
||||
String methodName=className;
|
||||
Method constructorMethod = de.dhbwstuttgart.syntaxtree.Method.createEmptyMethod(methodName, parentClass);
|
||||
|
||||
if(java.lang.reflect.Modifier.isPublic(constructors[j].getModifiers())){
|
||||
String methodName=className;
|
||||
ParameterList paraList = new ParameterList();
|
||||
for(int k=0;k<constructors[j].getParameterTypes().length;k++){
|
||||
String paraType=constructors[j].getParameterTypes()[k].getName();
|
||||
//String paraType=constructors[j].getParameterTypes()[k].getSimpleName();
|
||||
// Fixme HOTI beachte overloaded id
|
||||
FormalParameter fpara = new FormalParameter(new DeclId("p"+k));
|
||||
fpara.setType(new RefType(paraType,-1));
|
||||
fpara.setType(new RefType(paraType,constructorMethod,-1));
|
||||
paraList.formalparameter.add(fpara);
|
||||
}
|
||||
//basicAssumptions.addMethodIntersectionType(new CIntersectionType(constructor));
|
||||
Method constructorMethod = de.dhbwstuttgart.syntaxtree.Method.createEmptyMethod(methodName, parentClass);
|
||||
constructorMethod.parameterlist = paraList;
|
||||
parentClass.addField(new Constructor(constructorMethod));
|
||||
}
|
||||
@ -1271,14 +1277,14 @@ public class SourceFile
|
||||
//String jccNameForClass=baseTypeTranslationTable.get(cl.getSimpleName());
|
||||
String jccNameForClass=baseTypeTranslationTable.get(cl.getName());
|
||||
if(cl.getSimpleName().equalsIgnoreCase("void")){
|
||||
return(new Void(-1));
|
||||
return(new Void(parentClass,-1));
|
||||
}else if(jccNameForClass!=null){
|
||||
RefType rt=new RefType(jccNameForClass,-1);
|
||||
RefType rt=new RefType(jccNameForClass,parentClass,-1);
|
||||
rt.setPrimitiveFlag(true);
|
||||
return(rt);
|
||||
}else{
|
||||
//return(new RefType(cl.getSimpleName()));
|
||||
return(new RefType(cl.getName(),-1));
|
||||
return(new RefType(cl.getName(),parentClass,-1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -103,7 +103,7 @@ public abstract class SyntaxTreeNode implements IItemWithOffset{
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public boolean seesType(Type tA2) {
|
||||
|
@ -50,11 +50,11 @@ public abstract class AddOp extends Operator
|
||||
protected Hashtable<RefType,RefType> getOperatorTypes() {
|
||||
Hashtable<RefType, RefType> types = new Hashtable<RefType, RefType>();
|
||||
|
||||
types.put(new RefType("java.lang.Integer",-1),new RefType("java.lang.Integer",-1));
|
||||
types.put(new RefType("java.lang.Double",-1),new RefType("java.lang.Double",-1));
|
||||
types.put(new RefType("java.lang.Float",-1), new RefType("java.lang.Float",-1));
|
||||
types.put(new RefType("java.lang.Long",-1), new RefType("java.lang.Long",-1));
|
||||
types.put(new RefType("java.lang.String",-1), new RefType("java.lang.String",-1));
|
||||
types.put(new RefType("java.lang.Integer",this,-1),new RefType("java.lang.Integer",this,-1));
|
||||
types.put(new RefType("java.lang.Double",this,-1),new RefType("java.lang.Double",this,-1));
|
||||
types.put(new RefType("java.lang.Float",this,-1), new RefType("java.lang.Float",this,-1));
|
||||
types.put(new RefType("java.lang.Long",this,-1), new RefType("java.lang.Long",this,-1));
|
||||
types.put(new RefType("java.lang.String",this,-1), new RefType("java.lang.String",this,-1));
|
||||
|
||||
return types;
|
||||
}
|
||||
@ -62,11 +62,11 @@ public abstract class AddOp extends Operator
|
||||
@Override
|
||||
public HashMap<ConstraintType,ConstraintType> getReturnTypes(TypeAssumptions ass) {
|
||||
HashMap<ConstraintType,ConstraintType> ret = new HashMap<ConstraintType,ConstraintType>();
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Integer",-1), this), ass.getTypeFor(new RefType("java.lang.Integer",-1),this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Double",-1), this), ass.getTypeFor(new RefType("java.lang.Double",-1),this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Float",-1), this), ass.getTypeFor(new RefType("java.lang.Float",-1),this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Long",-1), this), ass.getTypeFor(new RefType("java.lang.Long",-1),this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.String",-1),this), ass.getTypeFor(new RefType("java.lang.String",-1),this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Integer",this,-1), this), ass.getTypeFor(new RefType("java.lang.Integer",this,-1),this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Double",this,-1), this), ass.getTypeFor(new RefType("java.lang.Double",this,-1),this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Float",this,-1), this), ass.getTypeFor(new RefType("java.lang.Float",this,-1),this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Long",this,-1), this), ass.getTypeFor(new RefType("java.lang.Long",this,-1),this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.String",this,-1),this), ass.getTypeFor(new RefType("java.lang.String",this,-1),this));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -224,7 +224,7 @@ public abstract class LogOp extends Operator
|
||||
protected Hashtable<RefType, RefType> getOperatorTypes() {
|
||||
Hashtable<RefType, RefType> types = new Hashtable<RefType, RefType>();
|
||||
|
||||
types.put(new RefType("java.lang.Boolean",-1), new RefType("java.lang.Boolean",-1));
|
||||
types.put(new RefType("java.lang.Boolean",this,-1), new RefType("java.lang.Boolean",this,-1));
|
||||
|
||||
return types;
|
||||
}
|
||||
@ -232,7 +232,7 @@ public abstract class LogOp extends Operator
|
||||
@Override
|
||||
public HashMap<ConstraintType,ConstraintType> getReturnTypes(TypeAssumptions ass) {
|
||||
HashMap<ConstraintType,ConstraintType> ret = new HashMap<>();
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",-1), this), ass.getTypeFor(new RefType("java.lang.Boolean",-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",this,-1), this), ass.getTypeFor(new RefType("java.lang.Boolean",this,-1), this));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -43,10 +43,10 @@ public abstract class MulOp extends Operator
|
||||
@Override
|
||||
public HashMap<ConstraintType,ConstraintType> getReturnTypes(TypeAssumptions ass) {
|
||||
HashMap<ConstraintType,ConstraintType> ret = new HashMap<>();
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Integer",-1), this), ass.getTypeFor(new RefType("java.lang.Integer",-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Double",-1), this), ass.getTypeFor(new RefType("java.lang.Double",-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Float",-1), this), ass.getTypeFor(new RefType("java.lang.Float",-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Long",-1), this), ass.getTypeFor(new RefType("java.lang.Long",-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Integer",this,-1), this), ass.getTypeFor(new RefType("java.lang.Integer",this,-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Double",this,-1), this), ass.getTypeFor(new RefType("java.lang.Double",this,-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Float",this,-1), this), ass.getTypeFor(new RefType("java.lang.Float",this,-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Long",this,-1), this), ass.getTypeFor(new RefType("java.lang.Long",this,-1), this));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -43,10 +43,10 @@ public abstract class RelOp extends Operator
|
||||
protected Hashtable<RefType, RefType> getOperatorTypes() {
|
||||
Hashtable<RefType, RefType> types = new Hashtable<RefType, RefType>();
|
||||
|
||||
types.put(new RefType("java.lang.Integer",-1), new RefType("java.lang.Boolean",-1));
|
||||
types.put(new RefType("java.lang.Double",-1), new RefType("java.lang.Boolean",-1));
|
||||
types.put(new RefType("java.lang.Float",-1), new RefType("java.lang.Boolean",-1));
|
||||
types.put(new RefType("java.lang.Long",-1), new RefType("java.lang.Boolean",-1));
|
||||
types.put(new RefType("java.lang.Integer",this,-1), new RefType("java.lang.Boolean",this,-1));
|
||||
types.put(new RefType("java.lang.Double",this,-1), new RefType("java.lang.Boolean",this,-1));
|
||||
types.put(new RefType("java.lang.Float",this,-1), new RefType("java.lang.Boolean",this,-1));
|
||||
types.put(new RefType("java.lang.Long",this,-1), new RefType("java.lang.Boolean",this,-1));
|
||||
|
||||
return types;
|
||||
}
|
||||
@ -54,10 +54,10 @@ public abstract class RelOp extends Operator
|
||||
@Override
|
||||
public HashMap<ConstraintType,ConstraintType> getReturnTypes(TypeAssumptions ass) {
|
||||
HashMap<ConstraintType,ConstraintType> ret = new HashMap<>();
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",-1), this), ass.getTypeFor(new RefType("java.lang.Integer",-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",-1), this), ass.getTypeFor(new RefType("java.lang.Double",-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",-1), this), ass.getTypeFor(new RefType("java.lang.Float",-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",-1), this), ass.getTypeFor(new RefType("java.lang.Long",-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",this,-1), this), ass.getTypeFor(new RefType("java.lang.Integer",this,-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",this,-1), this), ass.getTypeFor(new RefType("java.lang.Double",this,-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",this,-1), this), ass.getTypeFor(new RefType("java.lang.Float",this,-1), this));
|
||||
ret.put(ass.getTypeFor(new RefType("java.lang.Boolean",this,-1), this), ass.getTypeFor(new RefType("java.lang.Long",this,-1), this));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -24,7 +24,6 @@ import de.dhbwstuttgart.syntaxtree.type.Type;
|
||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||
import de.dhbwstuttgart.syntaxtree.type.Void;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintsSet;
|
||||
import de.dhbwstuttgart.typeinference.FreshTypeVariable;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.Pair;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
@ -203,7 +202,7 @@ public class Assign extends Expr
|
||||
@Override
|
||||
public ConstraintsSet TYPEStmt(TypeAssumptions assumptions){
|
||||
ConstraintsSet ret = this.TYPEExpr(assumptions); //TypeExpr aufrufen
|
||||
this.setType(new Void(0)); //Typ des Statments auf Void setzen.
|
||||
this.setType(new Void(this,0)); //Typ des Statments auf Void setzen.
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -23,7 +23,6 @@ import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||
import de.dhbwstuttgart.syntaxtree.type.Void;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintType;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintsSet;
|
||||
import de.dhbwstuttgart.typeinference.FreshTypeVariable;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
import de.dhbwstuttgart.typeinference.SingleConstraint;
|
||||
@ -169,7 +168,7 @@ public class Block extends Statement
|
||||
@Override
|
||||
public ConstraintsSet TYPEStmt(TypeAssumptions assumptions) {
|
||||
ConstraintsSet ret = new ConstraintsSet();
|
||||
if(statements.size()==0)this.setType(new Void(0));
|
||||
if(statements.size()==0)this.setType(new Void(this,0));
|
||||
/* this.setTypeVariable(TypePlaceholder.fresh(this)); */
|
||||
for(Statement stmt : statements){
|
||||
typinferenceLog.debug("Prozessing statement: "+stmt);
|
||||
@ -199,7 +198,7 @@ public class Block extends Statement
|
||||
}
|
||||
}
|
||||
}else{
|
||||
this.setType(new Void(0));
|
||||
this.setType(new Void(this,0));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ public class BoolLiteral extends Literal
|
||||
super(-1,-1);
|
||||
// #JB# 20.04.2005
|
||||
// ###########################################################
|
||||
this.setType(new BooleanType());
|
||||
this.setType(new BooleanType(this));
|
||||
//this.setType(new Type("boolean"));
|
||||
// ###########################################################
|
||||
}
|
||||
@ -126,7 +126,7 @@ public class BoolLiteral extends Literal
|
||||
|
||||
@Override
|
||||
public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) {
|
||||
this.type = assumptions.getTypeFor(new RefType("java.lang.Boolean",-1), this).getType();
|
||||
this.type = assumptions.getTypeFor(new RefType("java.lang.Boolean",this,-1), this).getType();
|
||||
return new ConstraintsSet();
|
||||
}
|
||||
|
||||
|
@ -46,7 +46,7 @@ public class CharLiteral extends Literal
|
||||
super(-1,-1);
|
||||
// #JB# 20.04.2005
|
||||
// ###########################################################
|
||||
this.setType(new CharacterType());
|
||||
this.setType(new CharacterType(this));
|
||||
//this.setType(new Type("char"));
|
||||
// ###########################################################
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ public class DoubleLiteral extends Literal
|
||||
{
|
||||
super(-1,-1);
|
||||
|
||||
this.setType(new DoubleType());
|
||||
this.setType(new DoubleType(this));
|
||||
|
||||
}
|
||||
// ino.end
|
||||
@ -164,7 +164,7 @@ public class DoubleLiteral extends Literal
|
||||
|
||||
@Override
|
||||
public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) {
|
||||
this.setType(assumptions.getTypeFor(new RefType("Double",this.getOffset()), this).getType());
|
||||
this.setType(assumptions.getTypeFor(new RefType("Double",this,this.getOffset()), this).getType());
|
||||
return new ConstraintsSet();
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ public class FloatLiteral extends Literal
|
||||
{
|
||||
super(-1,-1);
|
||||
|
||||
this.setType(new FloatType());
|
||||
this.setType(new FloatType(this));
|
||||
|
||||
}
|
||||
// ino.end
|
||||
|
@ -28,7 +28,6 @@ import de.dhbwstuttgart.syntaxtree.type.Type;
|
||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||
import de.dhbwstuttgart.syntaxtree.type.Void;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintsSet;
|
||||
import de.dhbwstuttgart.typeinference.FreshTypeVariable;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.Pair;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
@ -259,10 +258,10 @@ public class IfStmt extends Statement
|
||||
ret.add(this.else_block.TYPEStmt(assumptions));
|
||||
if(!(else_block.getType() instanceof Void))ret.add(new SingleConstraint(else_block.getType().TYPE(assumptions, this),this.getType().TYPE(assumptions, this)));
|
||||
}
|
||||
ret.add(new SingleConstraint(expr.getType().TYPE(assumptions, this),assumptions.getTypeFor(new RefType("Boolean",0), this))); //(expressionDesIfStmt)<.boolean
|
||||
ret.add(new SingleConstraint(expr.getType().TYPE(assumptions, this),assumptions.getTypeFor(new RefType("Boolean",this,0), this))); //(expressionDesIfStmt)<.boolean
|
||||
if(!(then_block.getType() instanceof Void))ret.add(new SingleConstraint(then_block.getType().TYPE(assumptions, this),this.getType().TYPE(assumptions, this)));
|
||||
if(then_block.getType() instanceof Void &&
|
||||
(else_block == null || else_block.getType() instanceof Void))this.setType(new Void(this.getOffset()));
|
||||
(else_block == null || else_block.getType() instanceof Void))this.setType(new Void(this,this.getOffset()));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -22,7 +22,6 @@ import de.dhbwstuttgart.syntaxtree.type.RefType;
|
||||
import de.dhbwstuttgart.syntaxtree.type.Type;
|
||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintsSet;
|
||||
import de.dhbwstuttgart.typeinference.FreshTypeVariable;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.OderConstraint;
|
||||
import de.dhbwstuttgart.typeinference.Pair;
|
||||
|
@ -56,7 +56,7 @@ public class InstanceOf extends BinaryExpr
|
||||
super(offset,variableLength);
|
||||
// #JB# 20.04.2005
|
||||
// ###########################################################
|
||||
this.setType(new BooleanType());
|
||||
this.setType(new BooleanType(this));
|
||||
//this.setType(new Type("boolean"));
|
||||
// ###########################################################
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ public class IntLiteral extends Literal
|
||||
super(-1,-1);
|
||||
// #JB# 20.04.2005
|
||||
// ###########################################################
|
||||
this.setType(new IntegerType());
|
||||
this.setType(new IntegerType(this));
|
||||
//this.setType(new Type("int"));
|
||||
// ###########################################################
|
||||
}
|
||||
@ -161,7 +161,7 @@ public class IntLiteral extends Literal
|
||||
public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) {
|
||||
ConstraintsSet ret = new ConstraintsSet();
|
||||
//this.setType(new IntegerType());
|
||||
this.set_Type(assumptions.getTypeFor(new RefType("java.lang.Integer",-1), this).getType());
|
||||
this.set_Type(assumptions.getTypeFor(new RefType("java.lang.Integer",this,-1), this).getType());
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,6 @@ import de.dhbwstuttgart.syntaxtree.type.RefType;
|
||||
import de.dhbwstuttgart.syntaxtree.type.Type;
|
||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintsSet;
|
||||
import de.dhbwstuttgart.typeinference.FreshTypeVariable;
|
||||
import de.dhbwstuttgart.typeinference.FunN;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
|
@ -22,7 +22,6 @@ import de.dhbwstuttgart.syntaxtree.type.RefType;
|
||||
import de.dhbwstuttgart.syntaxtree.type.Type;
|
||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintsSet;
|
||||
import de.dhbwstuttgart.typeinference.FreshTypeVariable;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
import de.dhbwstuttgart.typeinference.SingleConstraint;
|
||||
|
@ -24,7 +24,6 @@ import de.dhbwstuttgart.syntaxtree.type.Type;
|
||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||
import de.dhbwstuttgart.syntaxtree.type.Void;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintsSet;
|
||||
import de.dhbwstuttgart.typeinference.FreshTypeVariable;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
import de.dhbwstuttgart.typeinference.SingleConstraint;
|
||||
@ -385,7 +384,7 @@ public class LocalVarDecl extends Statement implements TypeInsertable
|
||||
assumptions.addAssumption(new LocalVarAssumption(this, this.getType())); //Bevor der Typ auf Void gesetzt wird.
|
||||
ret.add(new SingleConstraint(this.getType().TYPE(assumptions, this), this.getType().TYPE(assumptions, this)));
|
||||
//assumptions.remove(null); // falls Variable mit diesem Namen bereits vorhanden.
|
||||
this.setReturnType(new Void(0)); //Return typ einer Variablendeklaration ist Void
|
||||
this.setReturnType(new Void(this,0)); //Return typ einer Variablendeklaration ist Void
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -51,7 +51,7 @@ public class LongLiteral extends Literal
|
||||
{
|
||||
super(-1,-1);
|
||||
|
||||
this.setType(new LongType());
|
||||
this.setType(new LongType(this));
|
||||
|
||||
}
|
||||
// ino.end
|
||||
|
@ -209,7 +209,7 @@ public class MethodCall extends Expr
|
||||
@Override
|
||||
public ConstraintsSet TYPEStmt(TypeAssumptions assumptions){
|
||||
ConstraintsSet ret = this.TYPEExpr(assumptions); //TypeExpr aufrufen
|
||||
this.setType(new Void(0)); //Typ des Statments auf Void setzen, da als alleinstehendes Statement
|
||||
this.setType(new Void(this,0)); //Typ des Statments auf Void setzen, da als alleinstehendes Statement
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,6 @@ import de.dhbwstuttgart.syntaxtree.type.Type;
|
||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||
import de.dhbwstuttgart.syntaxtree.type.Void;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintsSet;
|
||||
import de.dhbwstuttgart.typeinference.FreshTypeVariable;
|
||||
import de.dhbwstuttgart.typeinference.FunN;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.Overloading;
|
||||
@ -108,7 +107,7 @@ public class NewClass extends Expr
|
||||
parserlog.debug("Vergleiche "+usedid+" mit "+next);
|
||||
if(usedid.equals(next))
|
||||
{
|
||||
this.set_Type(new Type(next,getOffset()));
|
||||
this.set_Type(new Type(next,this,getOffset()));
|
||||
break;
|
||||
}
|
||||
else next = null;
|
||||
@ -225,7 +224,7 @@ public class NewClass extends Expr
|
||||
// ret.add(arg.TYPEExpr(assumptions));
|
||||
//}
|
||||
|
||||
this.setType(assumptions.getTypeFor(new RefType(this.get_Name(),0), this).getType());
|
||||
this.setType(assumptions.getTypeFor(new RefType(this.get_Name(),this,0), this).getType());
|
||||
|
||||
|
||||
/*
|
||||
@ -249,7 +248,7 @@ public class NewClass extends Expr
|
||||
@Override
|
||||
public ConstraintsSet TYPEStmt(TypeAssumptions assumptions){
|
||||
ConstraintsSet ret = this.TYPEExpr(assumptions); //TypeExpr aufrufen
|
||||
this.setType(new Void(0)); //Typ des Statments auf Void setzen.
|
||||
this.setType(new Void(this,0)); //Typ des Statments auf Void setzen.
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -145,7 +145,7 @@ public class NotExpr extends UnaryExpr
|
||||
public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) {
|
||||
ConstraintsSet ret = new ConstraintsSet();
|
||||
OderConstraint constraint = new OderConstraint();
|
||||
constraint.addConstraint(this.getType().TYPE(assumptions, this), assumptions.getTypeFor(new RefType("Boolean",-1),this));
|
||||
constraint.addConstraint(this.getType().TYPE(assumptions, this), assumptions.getTypeFor(new RefType("Boolean",this,-1),this));
|
||||
ret.add(constraint);
|
||||
return ret;
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ public class Null extends Literal
|
||||
// ino.method.Null.25926.body
|
||||
{
|
||||
super(-1,-1);
|
||||
this.setType(new Type("__NULL__",getOffset()));
|
||||
this.setType(new Type("__NULL__",this,getOffset()));
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -19,7 +19,6 @@ import de.dhbwstuttgart.syntaxtree.type.GenericTypeVar;
|
||||
import de.dhbwstuttgart.syntaxtree.type.Type;
|
||||
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintsSet;
|
||||
import de.dhbwstuttgart.typeinference.FreshTypeVariable;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
import de.dhbwstuttgart.typeinference.SingleConstraint;
|
||||
|
@ -128,7 +128,7 @@ public abstract class Statement extends SyntaxTreeNode implements IItemWithOffse
|
||||
}
|
||||
|
||||
public Type getReturnType(){
|
||||
return new de.dhbwstuttgart.syntaxtree.type.Void(-1);
|
||||
return new de.dhbwstuttgart.syntaxtree.type.Void(this,-1);
|
||||
}
|
||||
}
|
||||
// ino.end
|
||||
|
@ -49,7 +49,7 @@ public class StringLiteral extends Literal
|
||||
super(-1,-1);
|
||||
// #JB# 20.04.2005
|
||||
// ###########################################################
|
||||
this.setType(new RefType("java.lang.String",getOffset()));
|
||||
this.setType(new RefType("java.lang.String",this,getOffset()));
|
||||
//this.setType(new Type("String"));
|
||||
// ###########################################################
|
||||
}
|
||||
@ -121,7 +121,7 @@ public class StringLiteral extends Literal
|
||||
|
||||
@Override
|
||||
public ConstraintsSet TYPEExpr(TypeAssumptions assumptions) {
|
||||
this.set_Type(assumptions.getTypeFor(new RefType("String",0), this).getType());
|
||||
this.set_Type(assumptions.getTypeFor(new RefType("String",this,0), this).getType());
|
||||
return new ConstraintsSet();
|
||||
}
|
||||
|
||||
|
@ -40,9 +40,9 @@ public abstract class UnaryExpr extends Expr
|
||||
|
||||
private Vector<RefType> getNumericTypes(){
|
||||
Vector<RefType> ret = new Vector<>();
|
||||
ret.add(new RefType("Integer",-1));
|
||||
ret.add(new RefType("Long",-1));
|
||||
ret.add(new RefType("Double",-1));
|
||||
ret.add(new RefType("Integer",this,-1));
|
||||
ret.add(new RefType("Long",this,-1));
|
||||
ret.add(new RefType("Double",this,-1));
|
||||
return ret ;
|
||||
}
|
||||
|
||||
|
@ -165,7 +165,7 @@ public class WhileStmt extends Statement
|
||||
public ConstraintsSet TYPEStmt(TypeAssumptions assumptions) {
|
||||
ConstraintsSet ret = new ConstraintsSet();
|
||||
ret.add(expr.TYPEExpr(assumptions));
|
||||
SingleConstraint exprMustBeBool = new SingleConstraint(expr.getType().TYPE(assumptions, this), assumptions.getTypeFor(new RefType("Boolean", 0), this)); // while(expr){}; expr <. boolean
|
||||
SingleConstraint exprMustBeBool = new SingleConstraint(expr.getType().TYPE(assumptions, this), assumptions.getTypeFor(new RefType("Boolean",this, 0), this)); // while(expr){}; expr <. boolean
|
||||
ret.add(exprMustBeBool);
|
||||
ret.add(this.loop_block.TYPEStmt(assumptions));
|
||||
this.setType(loop_block.getType());
|
||||
|
@ -21,20 +21,20 @@ public abstract class BaseType extends Type
|
||||
private boolean IsArray = false;
|
||||
|
||||
// ino.method.BaseType.26439.definition
|
||||
public BaseType(int offset)
|
||||
public BaseType(SyntaxTreeNode parent, int offset)
|
||||
// ino.end
|
||||
// ino.method.BaseType.26439.body
|
||||
{
|
||||
super(offset);
|
||||
super(parent, offset);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
// ino.method.BaseType.26442.definition
|
||||
public BaseType(String name,int offset)
|
||||
public BaseType(String name,SyntaxTreeNode parent,int offset)
|
||||
// ino.end
|
||||
// ino.method.BaseType.26442.body
|
||||
{
|
||||
super(name, offset);
|
||||
super(name,parent, offset);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
// ino.module.BooleanType.8668.package
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
|
||||
@ -11,11 +12,11 @@ public class BooleanType extends BaseType
|
||||
// ino.class.BooleanType.26451.body
|
||||
{
|
||||
// ino.method.BooleanType.26455.definition
|
||||
public BooleanType()
|
||||
public BooleanType(SyntaxTreeNode parent)
|
||||
// ino.end
|
||||
// ino.method.BooleanType.26455.body
|
||||
{
|
||||
super("boolean",-1);
|
||||
super("boolean",parent, -1);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
@ -51,7 +52,7 @@ public class BooleanType extends BaseType
|
||||
// ino.end
|
||||
// ino.method.clone.26461.body
|
||||
{
|
||||
return new BooleanType();
|
||||
return new BooleanType(this.getParent());
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -7,6 +7,7 @@ package de.dhbwstuttgart.syntaxtree.type;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.Class;
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintType;
|
||||
import de.dhbwstuttgart.typeinference.ConstraintsSet;
|
||||
import de.dhbwstuttgart.typeinference.SingleConstraint;
|
||||
@ -55,7 +56,7 @@ public class BoundedGenericTypeVar extends GenericTypeVar
|
||||
*/
|
||||
|
||||
// ino.method.BoundedGenericTypeVar.29409.definition
|
||||
public BoundedGenericTypeVar(String s, Vector<Type> bounds, Class parentClass, int offset, int endOffset)
|
||||
public BoundedGenericTypeVar(String s, Vector<Type> bounds, SyntaxTreeNode parentClass, int offset, int endOffset)
|
||||
// ino.end
|
||||
// ino.method.BoundedGenericTypeVar.29409.body
|
||||
{
|
||||
@ -147,5 +148,12 @@ public class BoundedGenericTypeVar extends GenericTypeVar
|
||||
}
|
||||
// ino.end
|
||||
|
||||
@Override
|
||||
public Vector<SyntaxTreeNode> getChildren() {
|
||||
Vector<SyntaxTreeNode> ret = super.getChildren();
|
||||
ret.addAll(this.bounds);
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
// ino.end
|
||||
|
@ -1,6 +1,7 @@
|
||||
// ino.module.CharacterType.8670.package
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
|
||||
@ -11,11 +12,11 @@ public class CharacterType extends BaseType
|
||||
// ino.class.CharacterType.26492.body
|
||||
{
|
||||
// ino.method.CharacterType.26496.definition
|
||||
public CharacterType()
|
||||
public CharacterType(SyntaxTreeNode parent)
|
||||
// ino.end
|
||||
// ino.method.CharacterType.26496.body
|
||||
{
|
||||
super("char",-1);
|
||||
super("char",parent,-1);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
@ -51,7 +52,7 @@ public class CharacterType extends BaseType
|
||||
// ino.end
|
||||
// ino.method.clone.26502.body
|
||||
{
|
||||
return new CharacterType();
|
||||
return new CharacterType(this.getParent());
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
// ino.module.IntegerType.8672.package
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
|
||||
@ -11,11 +12,11 @@ public class DoubleType extends BaseType
|
||||
// ino.class.IntegerType.26527.body
|
||||
{
|
||||
// ino.method.IntegerType.26531.definition
|
||||
public DoubleType()
|
||||
public DoubleType(SyntaxTreeNode parent)
|
||||
// ino.end
|
||||
// ino.method.IntegerType.26531.body
|
||||
{
|
||||
super("double",-1);
|
||||
super("double",parent,-1);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
@ -51,7 +52,7 @@ public class DoubleType extends BaseType
|
||||
// ino.end
|
||||
// ino.method.clone.26537.body
|
||||
{
|
||||
return new DoubleType();
|
||||
return new DoubleType(this.getParent());
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
|
||||
@ -22,7 +23,7 @@ public class ExtendsWildcardType extends WildcardType implements ITypeContainer,
|
||||
*/
|
||||
public ExtendsWildcardType (int offset, Type extendsType)
|
||||
{
|
||||
super(offset);
|
||||
super(extendsType.getParent(), offset);
|
||||
this.extendsType = extendsType;
|
||||
}
|
||||
|
||||
@ -81,7 +82,7 @@ public class ExtendsWildcardType extends WildcardType implements ITypeContainer,
|
||||
*/
|
||||
public FreshExtendsWildcardType GetFreshWildcardType()
|
||||
{
|
||||
return new FreshExtendsWildcardType(this.extendsType,-1);
|
||||
return new FreshExtendsWildcardType(this.extendsType,this.getParent(),-1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,6 +1,7 @@
|
||||
// ino.module.IntegerType.8672.package
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
|
||||
@ -11,11 +12,11 @@ public class FloatType extends BaseType
|
||||
// ino.class.IntegerType.26527.body
|
||||
{
|
||||
// ino.method.IntegerType.26531.definition
|
||||
public FloatType()
|
||||
public FloatType(SyntaxTreeNode parent)
|
||||
// ino.end
|
||||
// ino.method.IntegerType.26531.body
|
||||
{
|
||||
super("float",-1);
|
||||
super("float", parent,-1);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
@ -51,7 +52,7 @@ public class FloatType extends BaseType
|
||||
// ino.end
|
||||
// ino.method.clone.26537.body
|
||||
{
|
||||
return new FloatType();
|
||||
return new FloatType(this.getParent());
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
|
||||
public class FreshExtendsWildcardType extends FreshWildcardType implements IMatchable {
|
||||
|
||||
private Type extendsBoundType;
|
||||
@ -8,9 +10,9 @@ public class FreshExtendsWildcardType extends FreshWildcardType implements IMatc
|
||||
* Author: Arne Lüdtke<br/>
|
||||
* Standard Konstruktor für eine FreshExtendsWildcard
|
||||
*/
|
||||
public FreshExtendsWildcardType(Type extendsBound ,int offset)
|
||||
public FreshExtendsWildcardType(Type extendsBound,SyntaxTreeNode parent ,int offset)
|
||||
{
|
||||
super(offset);
|
||||
super(parent,offset);
|
||||
this.extendsBoundType = extendsBound;
|
||||
}
|
||||
|
||||
@ -18,9 +20,9 @@ public class FreshExtendsWildcardType extends FreshWildcardType implements IMatc
|
||||
* Author: Arne Lüdtke<br/>
|
||||
* Privater Konstruktor für clone
|
||||
*/
|
||||
private FreshExtendsWildcardType(Type extendsBound ,int offset, String name)
|
||||
private FreshExtendsWildcardType(Type extendsBound ,SyntaxTreeNode parent,int offset, String name)
|
||||
{
|
||||
super(offset,name);
|
||||
super(parent,offset,name);
|
||||
this.extendsBoundType = extendsBound;
|
||||
}
|
||||
|
||||
@ -44,7 +46,7 @@ public class FreshExtendsWildcardType extends FreshWildcardType implements IMatc
|
||||
*/
|
||||
public FreshExtendsWildcardType clone()
|
||||
{
|
||||
return new FreshExtendsWildcardType(this.extendsBoundType.clone(),getOffset(),this.name.toString());
|
||||
return new FreshExtendsWildcardType(this.extendsBoundType.clone(),this.getParent(),getOffset(),this.name.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,5 +1,7 @@
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
|
||||
public class FreshSuperWildcardType extends FreshWildcardType implements IMatchable {
|
||||
|
||||
private Type superBoundType;
|
||||
@ -8,9 +10,9 @@ public class FreshSuperWildcardType extends FreshWildcardType implements IMatcha
|
||||
* Author: Arne Lüdtke<br/>
|
||||
* Standard Konstruktor für eine FreshSuperWildcard
|
||||
*/
|
||||
public FreshSuperWildcardType(Type superBound ,int offset)
|
||||
public FreshSuperWildcardType(Type superBound ,SyntaxTreeNode parent, int offset)
|
||||
{
|
||||
super(offset);
|
||||
super(parent,offset);
|
||||
this.superBoundType = superBound;
|
||||
}
|
||||
|
||||
@ -18,9 +20,9 @@ public class FreshSuperWildcardType extends FreshWildcardType implements IMatcha
|
||||
* Author: Arne Lüdtke<br/>
|
||||
* Privater Konstruktor für clone
|
||||
*/
|
||||
private FreshSuperWildcardType(Type superBound,int offset, String name)
|
||||
private FreshSuperWildcardType(Type superBound,SyntaxTreeNode parent,int offset, String name)
|
||||
{
|
||||
super(offset,name);
|
||||
super(parent,offset,name);
|
||||
this.superBoundType = superBound;
|
||||
}
|
||||
|
||||
@ -44,7 +46,7 @@ public class FreshSuperWildcardType extends FreshWildcardType implements IMatcha
|
||||
*/
|
||||
public FreshSuperWildcardType clone()
|
||||
{
|
||||
return new FreshSuperWildcardType(this.superBoundType.clone(),getOffset(),this.name.toString());
|
||||
return new FreshSuperWildcardType(this.superBoundType.clone(),this.getParent(),getOffset(),this.name.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -3,6 +3,7 @@ package de.dhbwstuttgart.syntaxtree.type;
|
||||
import java.util.Vector;
|
||||
|
||||
import de.dhbwstuttgart.parser.JavaClassName;
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
|
||||
@ -16,9 +17,9 @@ public class FreshWildcardType extends Type {
|
||||
* Author: Arne Lüdtke<br/>
|
||||
* Standard Konstruktor für eine FreshWildcard
|
||||
*/
|
||||
public FreshWildcardType(int offset)
|
||||
public FreshWildcardType(SyntaxTreeNode parent, int offset)
|
||||
{
|
||||
super(offset);
|
||||
super(parent, offset);
|
||||
this.name = makeNewName();
|
||||
}
|
||||
|
||||
@ -27,9 +28,9 @@ public class FreshWildcardType extends Type {
|
||||
* Protected Konstruktor für clone.
|
||||
* Protected, da vererbte Klassen ihn verwenden müssen.
|
||||
*/
|
||||
protected FreshWildcardType(int offset, String name)
|
||||
protected FreshWildcardType(SyntaxTreeNode parent, int offset, String name)
|
||||
{
|
||||
super(offset);
|
||||
super(parent, offset);
|
||||
this.name = new JavaClassName(name);
|
||||
}
|
||||
|
||||
@ -61,7 +62,7 @@ public class FreshWildcardType extends Type {
|
||||
*/
|
||||
public FreshWildcardType clone()
|
||||
{
|
||||
return new FreshWildcardType(getOffset(),this.name.toString());
|
||||
return new FreshWildcardType(this.getParent(),getOffset(),this.name.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -146,7 +147,7 @@ public class FreshWildcardType extends Type {
|
||||
*/
|
||||
public WildcardType get_WildcardType()
|
||||
{
|
||||
return new WildcardType(this.getOffset());
|
||||
return new WildcardType(this.getParent(),this.getOffset());
|
||||
}
|
||||
/**
|
||||
* Author: Arne Lüdtke<br/>
|
||||
|
@ -36,7 +36,6 @@ public class GenericTypeVar extends Type
|
||||
//Type genericTypeVar;
|
||||
//Vector<Type> extendVars = new Vector<Type>();
|
||||
protected Pair genericConstraint;
|
||||
private Class parent;
|
||||
/**
|
||||
* Eine Registry f<EFBFBD>r alle Generic-Instanzen, die vor der Bytecode-Generierung durch
|
||||
* Ihre Superklasse ersetzt werden m<EFBFBD>ssen. Siehe "Type Erasure" in Sun Spezifikation.
|
||||
@ -63,13 +62,12 @@ public class GenericTypeVar extends Type
|
||||
*/
|
||||
|
||||
// ino.method.GenericTypeVar.26509.definition
|
||||
public GenericTypeVar(String s, Class parentClass, int offset)
|
||||
public GenericTypeVar(String s, SyntaxTreeNode parentClass, int offset)
|
||||
// ino.end
|
||||
// ino.method.GenericTypeVar.26509.body
|
||||
{
|
||||
super(offset);
|
||||
super(parentClass,offset);
|
||||
this.name = new JavaClassName(s);
|
||||
this.parent = parentClass;
|
||||
}
|
||||
// ino.end
|
||||
|
||||
@ -218,18 +216,6 @@ public class GenericTypeVar extends Type
|
||||
public int getEndOffset() {
|
||||
return this.getOffset() + this.name.toString().length();
|
||||
}
|
||||
|
||||
public void setParentClass(Class parent){
|
||||
//TODO: Die Methode sollte mit neuem Parser raus und dafür nur noch im Konstruktor gesetzt werden.
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
public Class getParentClass() {
|
||||
if(this.parent == null)
|
||||
throw new DebugException("GenericTypeVar ohne Elternelement");
|
||||
return this.parent;
|
||||
}
|
||||
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
// ino.module.IntegerType.8672.package
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
|
||||
@ -11,11 +12,11 @@ public class IntegerType extends BaseType
|
||||
// ino.class.IntegerType.26527.body
|
||||
{
|
||||
// ino.method.IntegerType.26531.definition
|
||||
public IntegerType()
|
||||
public IntegerType(SyntaxTreeNode parent)
|
||||
// ino.end
|
||||
// ino.method.IntegerType.26531.body
|
||||
{
|
||||
super("int",-1);
|
||||
super("int",parent,-1);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
@ -51,7 +52,7 @@ public class IntegerType extends BaseType
|
||||
// ino.end
|
||||
// ino.method.clone.26537.body
|
||||
{
|
||||
return new IntegerType();
|
||||
return new IntegerType(this.getParent());
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
// ino.module.IntegerType.8672.package
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
|
||||
@ -11,11 +12,11 @@ public class LongType extends BaseType
|
||||
// ino.class.IntegerType.26527.body
|
||||
{
|
||||
// ino.method.IntegerType.26531.definition
|
||||
public LongType()
|
||||
public LongType(SyntaxTreeNode parent)
|
||||
// ino.end
|
||||
// ino.method.IntegerType.26531.body
|
||||
{
|
||||
super("long",-1);
|
||||
super("long", parent,-1);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
@ -51,7 +52,7 @@ public class LongType extends BaseType
|
||||
// ino.end
|
||||
// ino.method.clone.26537.body
|
||||
{
|
||||
return new LongType();
|
||||
return new LongType(this.getParent());
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -66,20 +66,20 @@ public class RefType extends Type implements IMatchable
|
||||
|
||||
|
||||
// ino.method.RefType.26634.definition
|
||||
public RefType(int offset)
|
||||
public RefType(SyntaxTreeNode parent, int offset)
|
||||
// ino.end
|
||||
// ino.method.RefType.26634.body
|
||||
{
|
||||
super(offset);
|
||||
super(parent,offset);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
// ino.method.RefType.26637.definition
|
||||
public RefType(String fullyQualifiedName, int offset)
|
||||
public RefType(String fullyQualifiedName,SyntaxTreeNode parent, int offset)
|
||||
// ino.end
|
||||
// ino.method.RefType.26637.body
|
||||
{
|
||||
super(offset);
|
||||
super(parent,offset);
|
||||
this.setName(fullyQualifiedName);
|
||||
}
|
||||
// ino.end
|
||||
@ -93,25 +93,25 @@ public class RefType extends Type implements IMatchable
|
||||
}
|
||||
|
||||
// ino.method.RefType.26640.definition
|
||||
public RefType(String fullyQualifiedName, Vector parameter, int offset)
|
||||
public RefType(String fullyQualifiedName, Vector parameter,SyntaxTreeNode parent, int offset)
|
||||
// ino.end
|
||||
// ino.method.RefType.26640.body
|
||||
{
|
||||
super(offset);
|
||||
super(parent,offset);
|
||||
this.setName(fullyQualifiedName);
|
||||
if(parameter != null && parameter.size()>0)this.set_ParaList(parameter);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
// ino.method.RefType.26643.definition
|
||||
public RefType( RefType R, int offset )
|
||||
public RefType( RefType R, SyntaxTreeNode parent,int offset )
|
||||
// ino.end
|
||||
// ino.method.RefType.26643.body
|
||||
{
|
||||
super(offset);
|
||||
super(parent,offset);
|
||||
// otth: Copy-Konstruktor
|
||||
this.setName(R.getTypeName());
|
||||
this.set_ParaList(R.get_ParaList());
|
||||
this.set_ParaList(R.getParaList());
|
||||
}
|
||||
// ino.end
|
||||
|
||||
@ -120,8 +120,8 @@ public class RefType extends Type implements IMatchable
|
||||
* Dabei wird der Name und der Offset des baseType's übernommen.
|
||||
* @param baseType
|
||||
*/
|
||||
public RefType( Type baseType ){
|
||||
super(baseType.getOffset());
|
||||
public RefType( Type baseType){
|
||||
super(baseType.getParent(),baseType.getOffset());
|
||||
this.setName(baseType.name.toString());
|
||||
//this.parameter = null;
|
||||
}
|
||||
@ -332,14 +332,22 @@ public class RefType extends Type implements IMatchable
|
||||
}
|
||||
// ino.end
|
||||
|
||||
/**
|
||||
* @return gibt bei leere Parameterliste null zurück. Ist entscheidend für unify-Algorithmus
|
||||
*/
|
||||
// ino.method.get_ParaList.26664.definition
|
||||
public Vector<Type> get_ParaList()
|
||||
// ino.end
|
||||
// ino.method.get_ParaList.26664.body
|
||||
{
|
||||
return this.parameter;
|
||||
if(this.parameter == null || this.parameter.size()==0)return null;
|
||||
return this.parameter;
|
||||
}
|
||||
// ino.end
|
||||
|
||||
public Vector<Type> getParaList(){
|
||||
return this.parameter;
|
||||
}
|
||||
|
||||
// ino.method.add_Parameter.26667.definition
|
||||
public void add_Parameter(Type o)
|
||||
@ -588,7 +596,7 @@ public class RefType extends Type implements IMatchable
|
||||
{
|
||||
clonepara.addElement(((Type)para.elementAt(i)).clone());
|
||||
}
|
||||
RefType newRefType=new RefType(this.getTypeName(), clonepara,getOffset());
|
||||
RefType newRefType=new RefType(this.getTypeName(), clonepara,this.getParent(),getOffset());
|
||||
newRefType.setPrimitiveFlag(this.getPrimitiveFlag());
|
||||
return newRefType;
|
||||
}
|
||||
@ -737,9 +745,9 @@ public class RefType extends Type implements IMatchable
|
||||
@Override
|
||||
public JavaCodeResult printJavaCode(ResultSet resultSet) {
|
||||
JavaCodeResult ret = new JavaCodeResult(this.name.toString());
|
||||
if(this.get_ParaList()!=null && this.get_ParaList().size()>0){
|
||||
if(this.getParaList()!=null && this.getParaList().size()>0){
|
||||
ret .attach( "<" );
|
||||
Iterator<Type> it = this.get_ParaList().iterator();
|
||||
Iterator<Type> it = this.getParaList().iterator();
|
||||
while(it.hasNext()){
|
||||
Type t = it.next();
|
||||
ret .attach( t.printJavaCode(resultSet));
|
||||
|
@ -15,7 +15,7 @@ public class ReturnType extends Type
|
||||
// ino.end
|
||||
// ino.method.ReturnType.26707.body
|
||||
{
|
||||
super(offset);
|
||||
super(null,offset);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
|
||||
@ -21,7 +22,7 @@ public class SuperWildcardType extends WildcardType implements ITypeContainer, I
|
||||
*/
|
||||
public SuperWildcardType(int offset, Type superType)
|
||||
{
|
||||
super(offset);
|
||||
super(superType.getParent(),offset);
|
||||
this.superType = superType;
|
||||
}
|
||||
|
||||
@ -79,7 +80,7 @@ public class SuperWildcardType extends WildcardType implements ITypeContainer, I
|
||||
*/
|
||||
public FreshSuperWildcardType GetFreshWildcardType()
|
||||
{
|
||||
return new FreshSuperWildcardType(this.superType,-1);
|
||||
return new FreshSuperWildcardType(this.superType,this.getParent(),-1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -36,20 +36,21 @@ public class Type extends SyntaxTreeNode implements IItemWithOffset
|
||||
// ino.end
|
||||
|
||||
// ino.method.Type.26729.definition
|
||||
public Type(String s, int offset)
|
||||
public Type(String s, SyntaxTreeNode parent, int offset)
|
||||
// ino.end
|
||||
// ino.method.Type.26729.body
|
||||
{
|
||||
this(offset);
|
||||
this(parent, offset);
|
||||
this.name = new JavaClassName(s);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
// ino.method.Type.26732.definition
|
||||
public Type(int offset)
|
||||
public Type(SyntaxTreeNode parent,int offset)
|
||||
// ino.end
|
||||
// ino.method.Type.26732.body
|
||||
{
|
||||
this.parent = parent;
|
||||
this.offset=offset;
|
||||
}
|
||||
// ino.end
|
||||
@ -199,7 +200,7 @@ public class Type extends SyntaxTreeNode implements IItemWithOffset
|
||||
// ino.end
|
||||
// ino.method.clone.26768.body
|
||||
{
|
||||
return new Type(this.getName().toString(),getOffset());
|
||||
return new Type(this.getName().toString(), this.getParent(),getOffset());
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -53,9 +53,8 @@ public class TypePlaceholder extends Type
|
||||
// ino.end
|
||||
// ino.method.TypePlaceholder.26794.body
|
||||
{
|
||||
super(-1);
|
||||
super(parent, -1);
|
||||
this.name = new JavaClassName(typeName);
|
||||
this.parent = parent;
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -15,11 +15,11 @@ public class Void extends RefType
|
||||
// ino.class.Void.26857.body
|
||||
{
|
||||
// ino.method.Void.26861.definition
|
||||
public Void(int offset)
|
||||
public Void(SyntaxTreeNode parent,int offset)
|
||||
// ino.end
|
||||
// ino.method.Void.26861.body
|
||||
{
|
||||
super(offset);
|
||||
super(parent,offset);
|
||||
super.setName("void");
|
||||
}
|
||||
// ino.end
|
||||
@ -66,7 +66,7 @@ public class Void extends RefType
|
||||
// ino.end
|
||||
// ino.method.clone.26867.body
|
||||
{
|
||||
return new Void(getOffset());
|
||||
return new Void(this.getParent(),getOffset());
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package de.dhbwstuttgart.syntaxtree.type;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.SyntaxTreeNode;
|
||||
import de.dhbwstuttgart.typeinference.JavaCodeResult;
|
||||
import de.dhbwstuttgart.typeinference.ResultSet;
|
||||
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
|
||||
@ -17,9 +18,9 @@ public class WildcardType extends Type{
|
||||
* Author: Arne Lüdtke<br/>
|
||||
* Standard Konstruktor für eine Wildcard
|
||||
*/
|
||||
public WildcardType(int offset)
|
||||
public WildcardType(SyntaxTreeNode parent, int offset)
|
||||
{
|
||||
super(offset);
|
||||
super(parent, offset);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -37,7 +38,7 @@ public class WildcardType extends Type{
|
||||
*/
|
||||
public WildcardType clone()
|
||||
{
|
||||
return new WildcardType(getOffset());
|
||||
return new WildcardType(this.getParent(), getOffset());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -65,7 +66,7 @@ public class WildcardType extends Type{
|
||||
*/
|
||||
public FreshWildcardType GetFreshWildcardType()
|
||||
{
|
||||
return new FreshWildcardType(-1);
|
||||
return new FreshWildcardType(this.getParent(),-1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1,38 +0,0 @@
|
||||
package de.dhbwstuttgart.typeinference;
|
||||
|
||||
import de.dhbwstuttgart.syntaxtree.type.Type;
|
||||
import sun.reflect.generics.reflectiveObjects.NotImplementedException;
|
||||
|
||||
public class FreshTypeVariable extends Type{
|
||||
|
||||
private String hint = "";
|
||||
|
||||
public FreshTypeVariable(int offset) {
|
||||
super(offset);
|
||||
}
|
||||
|
||||
/**
|
||||
* Aufruf für Debug-Zwecke.
|
||||
* @param hint - Eine Message die von der toString - Methode ausgegeben wird.
|
||||
*/
|
||||
public FreshTypeVariable(String hint){
|
||||
this(0);
|
||||
this.hint = hint;
|
||||
}
|
||||
|
||||
public FreshTypeVariable(){
|
||||
this(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString(){
|
||||
if(hint.length()>0)return hint+" : a";
|
||||
return "FreshTypeVariable";
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
public JavaCodeResult printJavaCode(ResultSet resultSet) {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
@ -273,8 +273,8 @@ public class Pair
|
||||
hilfsvector3.addElement(p.TA1);
|
||||
hilfsvector4.addElement(p.TA2);
|
||||
//return (((RefType)TA1).is_Equiv((RefType)p.TA1, ht) && ((RefType)TA2).is_Equiv((RefType)p.TA2, ht));
|
||||
return (new RefType("dummy", hilfsvector3,-1)).is_Equiv(new RefType("dummy", hilfsvector1,-1), ht) &&
|
||||
(new RefType("dummy", hilfsvector4,-1)).is_Equiv(new RefType("dummy", hilfsvector2,-1), ht);
|
||||
return (new RefType("dummy", hilfsvector3,null,-1)).is_Equiv(new RefType("dummy", hilfsvector1,null,-1), ht) &&
|
||||
(new RefType("dummy", hilfsvector4,null,-1)).is_Equiv(new RefType("dummy", hilfsvector2,null,-1), ht);
|
||||
}
|
||||
// ino.end
|
||||
|
||||
|
@ -301,7 +301,7 @@ public class TypeAssumptions {
|
||||
if(match && t instanceof RefType){
|
||||
RefType tr = (RefType)t;
|
||||
RefType ret = ass.getAssumedClass().getType(); //Dadurch erhält der RefType den vollen Namen (bsp. java.lang.Integer)
|
||||
ret.set_ParaList(tr.get_ParaList());
|
||||
ret.set_ParaList(tr.getParaList());
|
||||
return new ConstraintType(ret);
|
||||
}
|
||||
}
|
||||
|
@ -7,9 +7,7 @@ import java.util.Enumeration;
|
||||
import java.util.Hashtable;
|
||||
import java.util.Iterator;
|
||||
import java.util.Vector;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
import de.dhbwstuttgart.core.MyCompiler;
|
||||
import de.dhbwstuttgart.myexception.CTypeReconstructionException;
|
||||
import de.dhbwstuttgart.myexception.MatchException;
|
||||
|
Loading…
Reference in New Issue
Block a user