diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..6809b2a
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..fa7027d
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,21 @@
+*.class
+
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*
\ No newline at end of file
diff --git a/.project b/.project
new file mode 100644
index 0000000..d4876d3
--- /dev/null
+++ b/.project
@@ -0,0 +1,30 @@
+
+
+ ArchTool
+
+
+
+
+
+ org.eclipse.wst.common.project.facet.core.builder
+
+
+
+
+ org.eclipse.xtext.ui.shared.xtextBuilder
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.springsource.ide.eclipse.gradle.core.nature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.xtext.ui.shared.xtextNature
+ org.eclipse.wst.common.project.facet.core.nature
+
+
diff --git a/.settings/com.github.jknack.antlr4ide.Antlr4.prefs b/.settings/com.github.jknack.antlr4ide.Antlr4.prefs
new file mode 100644
index 0000000..a29a49d
--- /dev/null
+++ b/.settings/com.github.jknack.antlr4ide.Antlr4.prefs
@@ -0,0 +1,14 @@
+antlr4.antlrRegisteredTools=4.4@C\:\\Users\\Zumbi\\AppData\\Local\\Temp\\antlr-4.4-complete.jar\:4.6@C\:\\Users\\Zumbi\\AppData\\Local\\Temp\\antlr-4.6-complete.jar
+antlr4.antlrToolPath=C\:\\Users\\Zumbi\\AppData\\Local\\Temp\\antlr-4.6-complete.jar
+antlr4.encoding=UTF-8
+antlr4.listener=true
+antlr4.visitor=true
+antlr4.vmArgs=
+antlr4ide.is_project_specific=true
+autobuilding=true
+com.github.jknack.antlr4ide.Antlr4.useProjectSettings=true
+eclipse.preferences.version=1
+is_project_specific=
+outlet.DEFAULT_OUTPUT.cleanupDerived=true
+outlet.DEFAULT_OUTPUT.derived=true
+outlet.DEFAULT_OUTPUT.directory=./src/
diff --git a/.settings/gradle/org.springsource.ide.eclipse.gradle.core.prefs b/.settings/gradle/org.springsource.ide.eclipse.gradle.core.prefs
new file mode 100644
index 0000000..d25fbce
--- /dev/null
+++ b/.settings/gradle/org.springsource.ide.eclipse.gradle.core.prefs
@@ -0,0 +1,5 @@
+#org.springsource.ide.eclipse.gradle.core.preferences.GradleProjectPreferences
+#Mon Feb 06 20:53:56 BRST 2017
+build.family.org.gradle.tooling.model.eclipse.HierarchicalEclipseProject=;
+org.springsource.ide.eclipse.gradle.linkedresources=
+org.springsource.ide.eclipse.gradle.rootprojectloc=
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..bb35fa0
--- /dev/null
+++ b/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml
new file mode 100644
index 0000000..017b6f4
--- /dev/null
+++ b/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/archtool_icon.pdn b/archtool_icon.pdn
new file mode 100644
index 0000000..795adfe
Binary files /dev/null and b/archtool_icon.pdn differ
diff --git a/bin/assets/fonts/Roboto-Black.ttf b/bin/assets/fonts/Roboto-Black.ttf
new file mode 100644
index 0000000..86ec2b2
Binary files /dev/null and b/bin/assets/fonts/Roboto-Black.ttf differ
diff --git a/bin/assets/fonts/Roboto-Bold.ttf b/bin/assets/fonts/Roboto-Bold.ttf
new file mode 100644
index 0000000..91ec212
Binary files /dev/null and b/bin/assets/fonts/Roboto-Bold.ttf differ
diff --git a/bin/assets/fonts/Roboto-BoldCondensed.ttf b/bin/assets/fonts/Roboto-BoldCondensed.ttf
new file mode 100644
index 0000000..d7ea883
Binary files /dev/null and b/bin/assets/fonts/Roboto-BoldCondensed.ttf differ
diff --git a/bin/assets/fonts/Roboto-Condensed.ttf b/bin/assets/fonts/Roboto-Condensed.ttf
new file mode 100644
index 0000000..6e7575a
Binary files /dev/null and b/bin/assets/fonts/Roboto-Condensed.ttf differ
diff --git a/bin/assets/fonts/Roboto-Italic.ttf b/bin/assets/fonts/Roboto-Italic.ttf
new file mode 100644
index 0000000..9f49ffd
Binary files /dev/null and b/bin/assets/fonts/Roboto-Italic.ttf differ
diff --git a/bin/assets/fonts/Roboto-Light.ttf b/bin/assets/fonts/Roboto-Light.ttf
new file mode 100644
index 0000000..d43e943
Binary files /dev/null and b/bin/assets/fonts/Roboto-Light.ttf differ
diff --git a/bin/assets/fonts/Roboto-Medium.ttf b/bin/assets/fonts/Roboto-Medium.ttf
new file mode 100644
index 0000000..8798341
Binary files /dev/null and b/bin/assets/fonts/Roboto-Medium.ttf differ
diff --git a/bin/assets/fonts/Roboto-Regular.ttf b/bin/assets/fonts/Roboto-Regular.ttf
new file mode 100644
index 0000000..7d9a6c4
Binary files /dev/null and b/bin/assets/fonts/Roboto-Regular.ttf differ
diff --git a/bin/assets/fonts/Roboto-Thin.ttf b/bin/assets/fonts/Roboto-Thin.ttf
new file mode 100644
index 0000000..861d63a
Binary files /dev/null and b/bin/assets/fonts/Roboto-Thin.ttf differ
diff --git a/bin/assets/images/archtool_icon.png b/bin/assets/images/archtool_icon.png
new file mode 100644
index 0000000..90f8dd1
Binary files /dev/null and b/bin/assets/images/archtool_icon.png differ
diff --git a/bin/com/carvalab/archtool/Frame$GraphLoaderDropTarget.class b/bin/com/carvalab/archtool/Frame$GraphLoaderDropTarget.class
new file mode 100644
index 0000000..9cf39ac
Binary files /dev/null and b/bin/com/carvalab/archtool/Frame$GraphLoaderDropTarget.class differ
diff --git a/bin/com/carvalab/archtool/Frame.class b/bin/com/carvalab/archtool/Frame.class
new file mode 100644
index 0000000..b7c7977
Binary files /dev/null and b/bin/com/carvalab/archtool/Frame.class differ
diff --git a/bin/com/carvalab/archtool/Main$1.class b/bin/com/carvalab/archtool/Main$1.class
new file mode 100644
index 0000000..7157dfe
Binary files /dev/null and b/bin/com/carvalab/archtool/Main$1.class differ
diff --git a/bin/com/carvalab/archtool/Main.class b/bin/com/carvalab/archtool/Main.class
new file mode 100644
index 0000000..c9f7e8b
Binary files /dev/null and b/bin/com/carvalab/archtool/Main.class differ
diff --git a/bin/com/carvalab/archtool/csharp/AntlrUtil.class b/bin/com/carvalab/archtool/csharp/AntlrUtil.class
new file mode 100644
index 0000000..e3f1bc5
Binary files /dev/null and b/bin/com/carvalab/archtool/csharp/AntlrUtil.class differ
diff --git a/bin/com/carvalab/archtool/csharp/CSharpGraph.class b/bin/com/carvalab/archtool/csharp/CSharpGraph.class
new file mode 100644
index 0000000..8cfd4c7
Binary files /dev/null and b/bin/com/carvalab/archtool/csharp/CSharpGraph.class differ
diff --git a/bin/com/carvalab/archtool/csharp/CSharpVisitorParser$CSClassRelationships.class b/bin/com/carvalab/archtool/csharp/CSharpVisitorParser$CSClassRelationships.class
new file mode 100644
index 0000000..5fca83b
Binary files /dev/null and b/bin/com/carvalab/archtool/csharp/CSharpVisitorParser$CSClassRelationships.class differ
diff --git a/bin/com/carvalab/archtool/csharp/CSharpVisitorParser$ClassBaseTypesVisitor.class b/bin/com/carvalab/archtool/csharp/CSharpVisitorParser$ClassBaseTypesVisitor.class
new file mode 100644
index 0000000..552797c
Binary files /dev/null and b/bin/com/carvalab/archtool/csharp/CSharpVisitorParser$ClassBaseTypesVisitor.class differ
diff --git a/bin/com/carvalab/archtool/csharp/CSharpVisitorParser$ClassDeclarationVisitor.class b/bin/com/carvalab/archtool/csharp/CSharpVisitorParser$ClassDeclarationVisitor.class
new file mode 100644
index 0000000..a3131a0
Binary files /dev/null and b/bin/com/carvalab/archtool/csharp/CSharpVisitorParser$ClassDeclarationVisitor.class differ
diff --git a/bin/com/carvalab/archtool/csharp/CSharpVisitorParser.class b/bin/com/carvalab/archtool/csharp/CSharpVisitorParser.class
new file mode 100644
index 0000000..c9e4019
Binary files /dev/null and b/bin/com/carvalab/archtool/csharp/CSharpVisitorParser.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpLexer.class b/bin/com/carvalab/archtool/parsers/CSharpLexer.class
new file mode 100644
index 0000000..1123cdb
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpLexer.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpLexer.tokens b/bin/com/carvalab/archtool/parsers/CSharpLexer.tokens
new file mode 100644
index 0000000..f2bac1a
--- /dev/null
+++ b/bin/com/carvalab/archtool/parsers/CSharpLexer.tokens
@@ -0,0 +1,351 @@
+BYTE_ORDER_MARK=1
+SINGLE_LINE_DOC_COMMENT=2
+DELIMITED_DOC_COMMENT=3
+SINGLE_LINE_COMMENT=4
+DELIMITED_COMMENT=5
+WHITESPACES=6
+SHARP=7
+ABSTRACT=8
+ADD=9
+ALIAS=10
+ARGLIST=11
+AS=12
+ASCENDING=13
+ASYNC=14
+AWAIT=15
+BASE=16
+BOOL=17
+BREAK=18
+BY=19
+BYTE=20
+CASE=21
+CATCH=22
+CHAR=23
+CHECKED=24
+CLASS=25
+CONST=26
+CONTINUE=27
+DECIMAL=28
+DEFAULT=29
+DELEGATE=30
+DESCENDING=31
+DO=32
+DOUBLE=33
+DYNAMIC=34
+ELSE=35
+ENUM=36
+EQUALS=37
+EVENT=38
+EXPLICIT=39
+EXTERN=40
+FALSE=41
+FINALLY=42
+FIXED=43
+FLOAT=44
+FOR=45
+FOREACH=46
+FROM=47
+GET=48
+GOTO=49
+GROUP=50
+IF=51
+IMPLICIT=52
+IN=53
+INT=54
+INTERFACE=55
+INTERNAL=56
+INTO=57
+IS=58
+JOIN=59
+LET=60
+LOCK=61
+LONG=62
+NAMEOF=63
+NAMESPACE=64
+NEW=65
+NULL=66
+OBJECT=67
+ON=68
+OPERATOR=69
+ORDERBY=70
+OUT=71
+OVERRIDE=72
+PARAMS=73
+PARTIAL=74
+PRIVATE=75
+PROTECTED=76
+PUBLIC=77
+READONLY=78
+REF=79
+REMOVE=80
+RETURN=81
+SBYTE=82
+SEALED=83
+SELECT=84
+SET=85
+SHORT=86
+SIZEOF=87
+STACKALLOC=88
+STATIC=89
+STRING=90
+STRUCT=91
+SWITCH=92
+THIS=93
+THROW=94
+TRUE=95
+TRY=96
+TYPEOF=97
+UINT=98
+ULONG=99
+UNCHECKED=100
+UNSAFE=101
+USHORT=102
+USING=103
+VIRTUAL=104
+VOID=105
+VOLATILE=106
+WHEN=107
+WHERE=108
+WHILE=109
+YIELD=110
+IDENTIFIER=111
+LITERAL_ACCESS=112
+INTEGER_LITERAL=113
+HEX_INTEGER_LITERAL=114
+REAL_LITERAL=115
+CHARACTER_LITERAL=116
+REGULAR_STRING=117
+VERBATIUM_STRING=118
+INTERPOLATED_REGULAR_STRING_START=119
+INTERPOLATED_VERBATIUM_STRING_START=120
+OPEN_BRACE=121
+CLOSE_BRACE=122
+OPEN_BRACKET=123
+CLOSE_BRACKET=124
+OPEN_PARENS=125
+CLOSE_PARENS=126
+DOT=127
+COMMA=128
+COLON=129
+SEMICOLON=130
+PLUS=131
+MINUS=132
+STAR=133
+DIV=134
+PERCENT=135
+AMP=136
+BITWISE_OR=137
+CARET=138
+BANG=139
+TILDE=140
+ASSIGNMENT=141
+LT=142
+GT=143
+INTERR=144
+DOUBLE_COLON=145
+OP_COALESCING=146
+OP_INC=147
+OP_DEC=148
+OP_AND=149
+OP_OR=150
+OP_PTR=151
+OP_EQ=152
+OP_NE=153
+OP_LE=154
+OP_GE=155
+OP_ADD_ASSIGNMENT=156
+OP_SUB_ASSIGNMENT=157
+OP_MULT_ASSIGNMENT=158
+OP_DIV_ASSIGNMENT=159
+OP_MOD_ASSIGNMENT=160
+OP_AND_ASSIGNMENT=161
+OP_OR_ASSIGNMENT=162
+OP_XOR_ASSIGNMENT=163
+OP_LEFT_SHIFT=164
+OP_LEFT_SHIFT_ASSIGNMENT=165
+DOUBLE_CURLY_INSIDE=166
+OPEN_BRACE_INSIDE=167
+REGULAR_CHAR_INSIDE=168
+VERBATIUM_DOUBLE_QUOTE_INSIDE=169
+DOUBLE_QUOTE_INSIDE=170
+REGULAR_STRING_INSIDE=171
+VERBATIUM_INSIDE_STRING=172
+CLOSE_BRACE_INSIDE=173
+FORMAT_STRING=174
+HIDDEN_WHITESPACES=175
+DIGITS=176
+DEFINE=177
+UNDEF=178
+ELIF=179
+ENDIF=180
+LINE=181
+ERROR=182
+WARNING=183
+REGION=184
+ENDREGION=185
+PRAGMA=186
+HIDDEN_HIDDEN=187
+CONDITIONAL_SYMBOL=188
+HIDDEN_NEW_LINE=189
+TEXT=190
+DOUBLE_CURLY_CLOSE_INSIDE=191
+'\u00EF\u00BB\u00BF'=1
+'#'=7
+'abstract'=8
+'add'=9
+'alias'=10
+'__arglist'=11
+'as'=12
+'ascending'=13
+'async'=14
+'await'=15
+'base'=16
+'bool'=17
+'break'=18
+'by'=19
+'byte'=20
+'case'=21
+'catch'=22
+'char'=23
+'checked'=24
+'class'=25
+'const'=26
+'continue'=27
+'decimal'=28
+'default'=29
+'delegate'=30
+'descending'=31
+'do'=32
+'double'=33
+'dynamic'=34
+'else'=35
+'enum'=36
+'equals'=37
+'event'=38
+'explicit'=39
+'extern'=40
+'false'=41
+'finally'=42
+'fixed'=43
+'float'=44
+'for'=45
+'foreach'=46
+'from'=47
+'get'=48
+'goto'=49
+'group'=50
+'if'=51
+'implicit'=52
+'in'=53
+'int'=54
+'interface'=55
+'internal'=56
+'into'=57
+'is'=58
+'join'=59
+'let'=60
+'lock'=61
+'long'=62
+'nameof'=63
+'namespace'=64
+'new'=65
+'null'=66
+'object'=67
+'on'=68
+'operator'=69
+'orderby'=70
+'out'=71
+'override'=72
+'params'=73
+'partial'=74
+'private'=75
+'protected'=76
+'public'=77
+'readonly'=78
+'ref'=79
+'remove'=80
+'return'=81
+'sbyte'=82
+'sealed'=83
+'select'=84
+'set'=85
+'short'=86
+'sizeof'=87
+'stackalloc'=88
+'static'=89
+'string'=90
+'struct'=91
+'switch'=92
+'this'=93
+'throw'=94
+'true'=95
+'try'=96
+'typeof'=97
+'uint'=98
+'ulong'=99
+'unchecked'=100
+'unsafe'=101
+'ushort'=102
+'using'=103
+'virtual'=104
+'void'=105
+'volatile'=106
+'when'=107
+'where'=108
+'while'=109
+'yield'=110
+'$"'=119
+'$@"'=120
+'['=123
+']'=124
+'('=125
+')'=126
+'.'=127
+','=128
+':'=129
+';'=130
+'+'=131
+'-'=132
+'*'=133
+'/'=134
+'%'=135
+'&'=136
+'|'=137
+'^'=138
+'!'=139
+'~'=140
+'='=141
+'<'=142
+'>'=143
+'?'=144
+'::'=145
+'??'=146
+'++'=147
+'--'=148
+'&&'=149
+'||'=150
+'->'=151
+'=='=152
+'!='=153
+'<='=154
+'>='=155
+'+='=156
+'-='=157
+'*='=158
+'/='=159
+'%='=160
+'&='=161
+'|='=162
+'^='=163
+'<<'=164
+'<<='=165
+'{{'=166
+'""'=169
+'"'=170
+'}}'=191
+'define'=177
+'undef'=178
+'elif'=179
+'endif'=180
+'line'=181
+'hidden'=187
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Accessor_bodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Accessor_bodyContext.class
new file mode 100644
index 0000000..1d3ece7
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Accessor_bodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Accessor_declarationsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Accessor_declarationsContext.class
new file mode 100644
index 0000000..5570acc
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Accessor_declarationsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Accessor_modifierContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Accessor_modifierContext.class
new file mode 100644
index 0000000..8586e3c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Accessor_modifierContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Add_accessor_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Add_accessor_declarationContext.class
new file mode 100644
index 0000000..3a97ac1
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Add_accessor_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Additive_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Additive_expressionContext.class
new file mode 100644
index 0000000..61de883
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Additive_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$All_member_modifierContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$All_member_modifierContext.class
new file mode 100644
index 0000000..8bf6580
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$All_member_modifierContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$All_member_modifiersContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$All_member_modifiersContext.class
new file mode 100644
index 0000000..c4eb90b
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$All_member_modifiersContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$And_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$And_expressionContext.class
new file mode 100644
index 0000000..a0e87d0
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$And_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$AnonymousMethodExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$AnonymousMethodExpressionContext.class
new file mode 100644
index 0000000..3ef721f
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$AnonymousMethodExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Anonymous_function_bodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Anonymous_function_bodyContext.class
new file mode 100644
index 0000000..cea64cd
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Anonymous_function_bodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Anonymous_function_signatureContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Anonymous_function_signatureContext.class
new file mode 100644
index 0000000..ec2ce93
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Anonymous_function_signatureContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Anonymous_object_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Anonymous_object_initializerContext.class
new file mode 100644
index 0000000..cb1d871
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Anonymous_object_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Arg_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Arg_declarationContext.class
new file mode 100644
index 0000000..f522373
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Arg_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ArgumentContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ArgumentContext.class
new file mode 100644
index 0000000..164b7d6
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ArgumentContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Argument_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Argument_listContext.class
new file mode 100644
index 0000000..88f4e6d
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Argument_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Array_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Array_initializerContext.class
new file mode 100644
index 0000000..9c3e161
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Array_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Array_typeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Array_typeContext.class
new file mode 100644
index 0000000..434d25f
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Array_typeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$AssignmentContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$AssignmentContext.class
new file mode 100644
index 0000000..c83797c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$AssignmentContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Assignment_operatorContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Assignment_operatorContext.class
new file mode 100644
index 0000000..ca5ce8d
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Assignment_operatorContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$AttributeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$AttributeContext.class
new file mode 100644
index 0000000..45e1eac
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$AttributeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_argumentContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_argumentContext.class
new file mode 100644
index 0000000..97781bf
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_argumentContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_listContext.class
new file mode 100644
index 0000000..2c4c2d6
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_sectionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_sectionContext.class
new file mode 100644
index 0000000..133390c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_sectionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_targetContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_targetContext.class
new file mode 100644
index 0000000..a078c76
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Attribute_targetContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$AttributesContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$AttributesContext.class
new file mode 100644
index 0000000..d69e900
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$AttributesContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$BaseAccessExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$BaseAccessExpressionContext.class
new file mode 100644
index 0000000..c4d0b10
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$BaseAccessExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Base_typeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Base_typeContext.class
new file mode 100644
index 0000000..d3b1219
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Base_typeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$BlockContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$BlockContext.class
new file mode 100644
index 0000000..ef72765
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$BlockContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$BodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$BodyContext.class
new file mode 100644
index 0000000..f9ca654
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$BodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Boolean_literalContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Boolean_literalContext.class
new file mode 100644
index 0000000..49ac6af
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Boolean_literalContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Bracket_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Bracket_expressionContext.class
new file mode 100644
index 0000000..dd949d9
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Bracket_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$BreakStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$BreakStatementContext.class
new file mode 100644
index 0000000..a0147be
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$BreakStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Catch_clausesContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Catch_clausesContext.class
new file mode 100644
index 0000000..720ca0d
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Catch_clausesContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$CheckedExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$CheckedExpressionContext.class
new file mode 100644
index 0000000..2e98680
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$CheckedExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$CheckedStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$CheckedStatementContext.class
new file mode 100644
index 0000000..6079f79
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$CheckedStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Class_baseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_baseContext.class
new file mode 100644
index 0000000..94f6def
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_baseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Class_bodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_bodyContext.class
new file mode 100644
index 0000000..f3a4bb1
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_bodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Class_definitionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_definitionContext.class
new file mode 100644
index 0000000..dbbbb73
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_definitionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Class_member_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_member_declarationContext.class
new file mode 100644
index 0000000..4a353cc
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_member_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Class_member_declarationsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_member_declarationsContext.class
new file mode 100644
index 0000000..fc6acf0
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_member_declarationsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Class_typeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_typeContext.class
new file mode 100644
index 0000000..28e0fe2
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Class_typeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Collection_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Collection_initializerContext.class
new file mode 100644
index 0000000..75ca240
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Collection_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Combined_join_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Combined_join_clauseContext.class
new file mode 100644
index 0000000..1cd5dbf
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Combined_join_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Common_member_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Common_member_declarationContext.class
new file mode 100644
index 0000000..10ddc6f
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Common_member_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Compilation_unitContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Compilation_unitContext.class
new file mode 100644
index 0000000..a43954d
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Compilation_unitContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Conditional_and_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Conditional_and_expressionContext.class
new file mode 100644
index 0000000..61d24fd
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Conditional_and_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Conditional_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Conditional_expressionContext.class
new file mode 100644
index 0000000..ef643dd
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Conditional_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Conditional_or_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Conditional_or_expressionContext.class
new file mode 100644
index 0000000..e0b2c09
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Conditional_or_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Constant_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Constant_declarationContext.class
new file mode 100644
index 0000000..ce46922
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Constant_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Constant_declaratorContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Constant_declaratorContext.class
new file mode 100644
index 0000000..bc60db2
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Constant_declaratorContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Constant_declaratorsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Constant_declaratorsContext.class
new file mode 100644
index 0000000..528d3d4
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Constant_declaratorsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Constructor_constraintContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Constructor_constraintContext.class
new file mode 100644
index 0000000..0c34297
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Constructor_constraintContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Constructor_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Constructor_declarationContext.class
new file mode 100644
index 0000000..0a742c1
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Constructor_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Constructor_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Constructor_initializerContext.class
new file mode 100644
index 0000000..673bab7
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Constructor_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ContinueStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ContinueStatementContext.class
new file mode 100644
index 0000000..8289479
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ContinueStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Conversion_operator_declaratorContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Conversion_operator_declaratorContext.class
new file mode 100644
index 0000000..f1d9786
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Conversion_operator_declaratorContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$DeclarationStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$DeclarationStatementContext.class
new file mode 100644
index 0000000..356a8fd
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$DeclarationStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$DefaultValueExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$DefaultValueExpressionContext.class
new file mode 100644
index 0000000..4588870
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$DefaultValueExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Delegate_definitionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Delegate_definitionContext.class
new file mode 100644
index 0000000..ae5dfc0
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Delegate_definitionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Destructor_definitionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Destructor_definitionContext.class
new file mode 100644
index 0000000..43e71c7
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Destructor_definitionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$DoStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$DoStatementContext.class
new file mode 100644
index 0000000..149e611
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$DoStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Element_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Element_initializerContext.class
new file mode 100644
index 0000000..2d2822b
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Element_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$EmbeddedStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$EmbeddedStatementContext.class
new file mode 100644
index 0000000..af5ae89
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$EmbeddedStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Embedded_statementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Embedded_statementContext.class
new file mode 100644
index 0000000..04c72da
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Embedded_statementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$EmptyStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$EmptyStatementContext.class
new file mode 100644
index 0000000..f4d3a77
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$EmptyStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_baseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_baseContext.class
new file mode 100644
index 0000000..4812206
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_baseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_bodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_bodyContext.class
new file mode 100644
index 0000000..8224663
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_bodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_definitionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_definitionContext.class
new file mode 100644
index 0000000..a30d1b1
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_definitionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_member_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_member_declarationContext.class
new file mode 100644
index 0000000..0c7d2d0
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Enum_member_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Equality_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Equality_expressionContext.class
new file mode 100644
index 0000000..57b22c4
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Equality_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Event_accessor_declarationsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Event_accessor_declarationsContext.class
new file mode 100644
index 0000000..57ce5e4
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Event_accessor_declarationsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Event_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Event_declarationContext.class
new file mode 100644
index 0000000..6b13ca9
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Event_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Exception_filterContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Exception_filterContext.class
new file mode 100644
index 0000000..0328a59
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Exception_filterContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Exclusive_or_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Exclusive_or_expressionContext.class
new file mode 100644
index 0000000..4100171
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Exclusive_or_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Explicit_anonymous_function_parameterContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Explicit_anonymous_function_parameterContext.class
new file mode 100644
index 0000000..4e10106
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Explicit_anonymous_function_parameterContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Explicit_anonymous_function_parameter_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Explicit_anonymous_function_parameter_listContext.class
new file mode 100644
index 0000000..a6e0af1
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Explicit_anonymous_function_parameter_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ExpressionContext.class
new file mode 100644
index 0000000..c9f1dab
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ExpressionStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ExpressionStatementContext.class
new file mode 100644
index 0000000..73965fd
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ExpressionStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Expression_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Expression_listContext.class
new file mode 100644
index 0000000..03cebf4
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Expression_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Extern_alias_directiveContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Extern_alias_directiveContext.class
new file mode 100644
index 0000000..5cad20f
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Extern_alias_directiveContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Extern_alias_directivesContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Extern_alias_directivesContext.class
new file mode 100644
index 0000000..b3f825c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Extern_alias_directivesContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Field_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Field_declarationContext.class
new file mode 100644
index 0000000..8ad2cda
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Field_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Finally_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Finally_clauseContext.class
new file mode 100644
index 0000000..4b9007a
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Finally_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$FixedStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$FixedStatementContext.class
new file mode 100644
index 0000000..59619c8
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$FixedStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_parameterContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_parameterContext.class
new file mode 100644
index 0000000..34ea1a1
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_parameterContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_parametersContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_parametersContext.class
new file mode 100644
index 0000000..21abea2
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_parametersContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_pointer_declaratorContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_pointer_declaratorContext.class
new file mode 100644
index 0000000..6962f35
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_pointer_declaratorContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_pointer_declaratorsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_pointer_declaratorsContext.class
new file mode 100644
index 0000000..dbf6b0e
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_pointer_declaratorsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_pointer_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_pointer_initializerContext.class
new file mode 100644
index 0000000..ededa30
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_pointer_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_size_buffer_declaratorContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_size_buffer_declaratorContext.class
new file mode 100644
index 0000000..6cdc610
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Fixed_size_buffer_declaratorContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Floating_point_typeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Floating_point_typeContext.class
new file mode 100644
index 0000000..abbf790
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Floating_point_typeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ForStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ForStatementContext.class
new file mode 100644
index 0000000..75e76cf
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ForStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$For_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$For_initializerContext.class
new file mode 100644
index 0000000..7e949ef
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$For_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$For_iteratorContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$For_iteratorContext.class
new file mode 100644
index 0000000..e524e9c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$For_iteratorContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ForeschStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ForeschStatementContext.class
new file mode 100644
index 0000000..4d640c0
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ForeschStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Formal_parameter_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Formal_parameter_listContext.class
new file mode 100644
index 0000000..fbb10cf
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Formal_parameter_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$From_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$From_clauseContext.class
new file mode 100644
index 0000000..1b3508e
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$From_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$General_catch_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$General_catch_clauseContext.class
new file mode 100644
index 0000000..d22ad9a
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$General_catch_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Generic_dimension_specifierContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Generic_dimension_specifierContext.class
new file mode 100644
index 0000000..a2504ca
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Generic_dimension_specifierContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Get_accessor_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Get_accessor_declarationContext.class
new file mode 100644
index 0000000..9478e67
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Get_accessor_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Global_attribute_sectionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Global_attribute_sectionContext.class
new file mode 100644
index 0000000..76940fa
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Global_attribute_sectionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Global_attribute_targetContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Global_attribute_targetContext.class
new file mode 100644
index 0000000..70f1026
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Global_attribute_targetContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$GotoStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$GotoStatementContext.class
new file mode 100644
index 0000000..6b97e2e
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$GotoStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$IdentifierContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$IdentifierContext.class
new file mode 100644
index 0000000..1a9815c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$IdentifierContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$IfStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$IfStatementContext.class
new file mode 100644
index 0000000..b151d7f
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$IfStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$If_bodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$If_bodyContext.class
new file mode 100644
index 0000000..dbeea56
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$If_bodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Implicit_anonymous_function_parameter_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Implicit_anonymous_function_parameter_listContext.class
new file mode 100644
index 0000000..22e655f
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Implicit_anonymous_function_parameter_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Inclusive_or_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Inclusive_or_expressionContext.class
new file mode 100644
index 0000000..8eabd45
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Inclusive_or_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Indexer_argumentContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Indexer_argumentContext.class
new file mode 100644
index 0000000..c1acf10
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Indexer_argumentContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Indexer_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Indexer_declarationContext.class
new file mode 100644
index 0000000..58441ef
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Indexer_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Initializer_valueContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Initializer_valueContext.class
new file mode 100644
index 0000000..f59bb0c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Initializer_valueContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Integral_typeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Integral_typeContext.class
new file mode 100644
index 0000000..85b9c0c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Integral_typeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_accessorsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_accessorsContext.class
new file mode 100644
index 0000000..8e71e28
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_accessorsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_baseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_baseContext.class
new file mode 100644
index 0000000..f8eb1f4
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_baseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_bodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_bodyContext.class
new file mode 100644
index 0000000..f562b44
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_bodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_definitionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_definitionContext.class
new file mode 100644
index 0000000..38555cf
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_definitionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_member_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_member_declarationContext.class
new file mode 100644
index 0000000..a2a5d35
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_member_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_type_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_type_listContext.class
new file mode 100644
index 0000000..c0ddff9
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interface_type_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_regular_stringContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_regular_stringContext.class
new file mode 100644
index 0000000..5073f95
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_regular_stringContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_regular_string_partContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_regular_string_partContext.class
new file mode 100644
index 0000000..e65f8cf
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_regular_string_partContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_string_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_string_expressionContext.class
new file mode 100644
index 0000000..8f1cedd
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_string_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_verbatium_stringContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_verbatium_stringContext.class
new file mode 100644
index 0000000..c6ae46c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_verbatium_stringContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_verbatium_string_partContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_verbatium_string_partContext.class
new file mode 100644
index 0000000..da817e0
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Interpolated_verbatium_string_partContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$IsTypeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$IsTypeContext.class
new file mode 100644
index 0000000..88bd120
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$IsTypeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$KeywordContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$KeywordContext.class
new file mode 100644
index 0000000..22d0164
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$KeywordContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$LabeledStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$LabeledStatementContext.class
new file mode 100644
index 0000000..bdd5860
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$LabeledStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Lambda_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Lambda_expressionContext.class
new file mode 100644
index 0000000..537367c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Lambda_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Let_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Let_clauseContext.class
new file mode 100644
index 0000000..29fd8d1
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Let_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$LiteralAccessExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$LiteralAccessExpressionContext.class
new file mode 100644
index 0000000..8d0fbe6
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$LiteralAccessExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$LiteralContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$LiteralContext.class
new file mode 100644
index 0000000..6f55253
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$LiteralContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$LiteralExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$LiteralExpressionContext.class
new file mode 100644
index 0000000..d598bd8
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$LiteralExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Local_constant_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Local_constant_declarationContext.class
new file mode 100644
index 0000000..f9911ac
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Local_constant_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_declarationContext.class
new file mode 100644
index 0000000..5842100
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_declaratorContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_declaratorContext.class
new file mode 100644
index 0000000..f3fed00
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_declaratorContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_initializerContext.class
new file mode 100644
index 0000000..97870ef
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_initializer_unsafeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_initializer_unsafeContext.class
new file mode 100644
index 0000000..090ae11
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Local_variable_initializer_unsafeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$LockStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$LockStatementContext.class
new file mode 100644
index 0000000..8d67976
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$LockStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$MemberAccessExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$MemberAccessExpressionContext.class
new file mode 100644
index 0000000..f5bd45a
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$MemberAccessExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Member_accessContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_accessContext.class
new file mode 100644
index 0000000..8750e8f
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_accessContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Member_declaratorContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_declaratorContext.class
new file mode 100644
index 0000000..259de25
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_declaratorContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Member_declarator_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_declarator_listContext.class
new file mode 100644
index 0000000..38dc284
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_declarator_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Member_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_initializerContext.class
new file mode 100644
index 0000000..0ecd1ae
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Member_initializer_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_initializer_listContext.class
new file mode 100644
index 0000000..5587b0c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_initializer_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Member_nameContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_nameContext.class
new file mode 100644
index 0000000..709c7cd
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Member_nameContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Method_bodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Method_bodyContext.class
new file mode 100644
index 0000000..e1fa304
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Method_bodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Method_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Method_declarationContext.class
new file mode 100644
index 0000000..fc3e3d4
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Method_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Method_invocationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Method_invocationContext.class
new file mode 100644
index 0000000..7ba7a61
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Method_invocationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Method_member_nameContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Method_member_nameContext.class
new file mode 100644
index 0000000..6aa952d
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Method_member_nameContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Multiplicative_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Multiplicative_expressionContext.class
new file mode 100644
index 0000000..7a86134
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Multiplicative_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$NameofExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$NameofExpressionContext.class
new file mode 100644
index 0000000..5f79ce4
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$NameofExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_bodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_bodyContext.class
new file mode 100644
index 0000000..963a9d1
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_bodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_declarationContext.class
new file mode 100644
index 0000000..6226742
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_member_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_member_declarationContext.class
new file mode 100644
index 0000000..47b568c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_member_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_member_declarationsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_member_declarationsContext.class
new file mode 100644
index 0000000..b32004c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_member_declarationsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_or_type_nameContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_or_type_nameContext.class
new file mode 100644
index 0000000..fddcdd3
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Namespace_or_type_nameContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Non_assignment_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Non_assignment_expressionContext.class
new file mode 100644
index 0000000..1a99ced
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Non_assignment_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Null_coalescing_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Null_coalescing_expressionContext.class
new file mode 100644
index 0000000..f62df86
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Null_coalescing_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Numeric_typeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Numeric_typeContext.class
new file mode 100644
index 0000000..6eeb489
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Numeric_typeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ObjectCreationExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ObjectCreationExpressionContext.class
new file mode 100644
index 0000000..bc2195f
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ObjectCreationExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Object_creation_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Object_creation_expressionContext.class
new file mode 100644
index 0000000..19e9ef0
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Object_creation_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Object_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Object_initializerContext.class
new file mode 100644
index 0000000..c1b214c
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Object_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Object_or_collection_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Object_or_collection_initializerContext.class
new file mode 100644
index 0000000..18e01eb
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Object_or_collection_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Operator_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Operator_declarationContext.class
new file mode 100644
index 0000000..8140bb7
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Operator_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Orderby_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Orderby_clauseContext.class
new file mode 100644
index 0000000..a9e6809
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Orderby_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$OrderingContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$OrderingContext.class
new file mode 100644
index 0000000..767cfc3
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$OrderingContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Overloadable_operatorContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Overloadable_operatorContext.class
new file mode 100644
index 0000000..63e80b5
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Overloadable_operatorContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Parameter_arrayContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Parameter_arrayContext.class
new file mode 100644
index 0000000..229c4fa
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Parameter_arrayContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Parameter_modifierContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Parameter_modifierContext.class
new file mode 100644
index 0000000..af9c2c4
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Parameter_modifierContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ParenthesisExpressionsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ParenthesisExpressionsContext.class
new file mode 100644
index 0000000..b333086
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ParenthesisExpressionsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Pointer_typeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Pointer_typeContext.class
new file mode 100644
index 0000000..e0e2071
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Pointer_typeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Predefined_typeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Predefined_typeContext.class
new file mode 100644
index 0000000..8a79b58
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Predefined_typeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Primary_constraintContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Primary_constraintContext.class
new file mode 100644
index 0000000..ed47e63
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Primary_constraintContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Primary_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Primary_expressionContext.class
new file mode 100644
index 0000000..412ba22
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Primary_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Primary_expression_startContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Primary_expression_startContext.class
new file mode 100644
index 0000000..ead9b2a
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Primary_expression_startContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Property_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Property_declarationContext.class
new file mode 100644
index 0000000..0bf503d
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Property_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Qualified_alias_memberContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Qualified_alias_memberContext.class
new file mode 100644
index 0000000..86c2c8a
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Qualified_alias_memberContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Qualified_identifierContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Qualified_identifierContext.class
new file mode 100644
index 0000000..acdf1cd
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Qualified_identifierContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Query_bodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Query_bodyContext.class
new file mode 100644
index 0000000..0e2a5ab
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Query_bodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Query_body_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Query_body_clauseContext.class
new file mode 100644
index 0000000..fb30e86
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Query_body_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Query_continuationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Query_continuationContext.class
new file mode 100644
index 0000000..920592b
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Query_continuationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Query_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Query_expressionContext.class
new file mode 100644
index 0000000..4653abd
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Query_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Rank_specifierContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Rank_specifierContext.class
new file mode 100644
index 0000000..45c6473
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Rank_specifierContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Relational_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Relational_expressionContext.class
new file mode 100644
index 0000000..a97bfba
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Relational_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Remove_accessor_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Remove_accessor_declarationContext.class
new file mode 100644
index 0000000..451abaa
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Remove_accessor_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Resource_acquisitionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Resource_acquisitionContext.class
new file mode 100644
index 0000000..f5beabc
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Resource_acquisitionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ReturnStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ReturnStatementContext.class
new file mode 100644
index 0000000..8e1e227
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ReturnStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Return_typeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Return_typeContext.class
new file mode 100644
index 0000000..5e3da30
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Return_typeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Right_arrowContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Right_arrowContext.class
new file mode 100644
index 0000000..066fc01
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Right_arrowContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Right_shiftContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Right_shiftContext.class
new file mode 100644
index 0000000..5189438
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Right_shiftContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Right_shift_assignmentContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Right_shift_assignmentContext.class
new file mode 100644
index 0000000..ee56749
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Right_shift_assignmentContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Secondary_constraintsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Secondary_constraintsContext.class
new file mode 100644
index 0000000..1c491f5
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Secondary_constraintsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Select_or_group_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Select_or_group_clauseContext.class
new file mode 100644
index 0000000..41db195
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Select_or_group_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Set_accessor_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Set_accessor_declarationContext.class
new file mode 100644
index 0000000..156fc32
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Set_accessor_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Shift_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Shift_expressionContext.class
new file mode 100644
index 0000000..b73d486
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Shift_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$SimpleNameExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$SimpleNameExpressionContext.class
new file mode 100644
index 0000000..dab98fa
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$SimpleNameExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Simple_embedded_statementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Simple_embedded_statementContext.class
new file mode 100644
index 0000000..7ef6b4d
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Simple_embedded_statementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Simple_typeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Simple_typeContext.class
new file mode 100644
index 0000000..70c6e0b
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Simple_typeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$SizeofExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$SizeofExpressionContext.class
new file mode 100644
index 0000000..25167c8
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$SizeofExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Specific_catch_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Specific_catch_clauseContext.class
new file mode 100644
index 0000000..73da0f3
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Specific_catch_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$StatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$StatementContext.class
new file mode 100644
index 0000000..f1724c9
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$StatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Statement_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Statement_listContext.class
new file mode 100644
index 0000000..49b6ec1
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Statement_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$String_literalContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$String_literalContext.class
new file mode 100644
index 0000000..30848e4
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$String_literalContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_bodyContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_bodyContext.class
new file mode 100644
index 0000000..8efded5
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_bodyContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_definitionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_definitionContext.class
new file mode 100644
index 0000000..2436dd2
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_definitionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_interfacesContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_interfacesContext.class
new file mode 100644
index 0000000..4bf5a00
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_interfacesContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_member_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_member_declarationContext.class
new file mode 100644
index 0000000..e28bf59
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Struct_member_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$SwitchStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$SwitchStatementContext.class
new file mode 100644
index 0000000..c694d70
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$SwitchStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Switch_labelContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Switch_labelContext.class
new file mode 100644
index 0000000..894d45f
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Switch_labelContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Switch_sectionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Switch_sectionContext.class
new file mode 100644
index 0000000..8a96a28
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Switch_sectionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ThisReferenceExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ThisReferenceExpressionContext.class
new file mode 100644
index 0000000..0244915
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ThisReferenceExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$ThrowStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$ThrowStatementContext.class
new file mode 100644
index 0000000..d9ce04b
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$ThrowStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$TryStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$TryStatementContext.class
new file mode 100644
index 0000000..003f89b
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$TryStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$TypeContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$TypeContext.class
new file mode 100644
index 0000000..0c37746
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$TypeContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Type_argument_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_argument_listContext.class
new file mode 100644
index 0000000..7d7c862
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_argument_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Type_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_declarationContext.class
new file mode 100644
index 0000000..227396d
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameterContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameterContext.class
new file mode 100644
index 0000000..9cb7a31
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameterContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_constraintsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_constraintsContext.class
new file mode 100644
index 0000000..80a591b
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_constraintsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_constraints_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_constraints_clauseContext.class
new file mode 100644
index 0000000..306e388
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_constraints_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_constraints_clausesContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_constraints_clausesContext.class
new file mode 100644
index 0000000..2402200
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_constraints_clausesContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_listContext.class
new file mode 100644
index 0000000..60fb830
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Type_parameter_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Typed_member_declarationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Typed_member_declarationContext.class
new file mode 100644
index 0000000..e3e6b45
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Typed_member_declarationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$TypeofExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$TypeofExpressionContext.class
new file mode 100644
index 0000000..91a8fba
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$TypeofExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Unary_expressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Unary_expressionContext.class
new file mode 100644
index 0000000..854a8d3
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Unary_expressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Unbound_type_nameContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Unbound_type_nameContext.class
new file mode 100644
index 0000000..fbb042b
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Unbound_type_nameContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$UncheckedExpressionContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$UncheckedExpressionContext.class
new file mode 100644
index 0000000..77f1901
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$UncheckedExpressionContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$UncheckedStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$UncheckedStatementContext.class
new file mode 100644
index 0000000..4adbaef
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$UncheckedStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$UnsafeStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$UnsafeStatementContext.class
new file mode 100644
index 0000000..03b5ef9
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$UnsafeStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$UsingAliasDirectiveContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$UsingAliasDirectiveContext.class
new file mode 100644
index 0000000..4f2bffb
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$UsingAliasDirectiveContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$UsingNamespaceDirectiveContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$UsingNamespaceDirectiveContext.class
new file mode 100644
index 0000000..8fa2507
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$UsingNamespaceDirectiveContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$UsingStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$UsingStatementContext.class
new file mode 100644
index 0000000..8ea8c2f
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$UsingStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$UsingStaticDirectiveContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$UsingStaticDirectiveContext.class
new file mode 100644
index 0000000..a099b9b
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$UsingStaticDirectiveContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Using_directiveContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Using_directiveContext.class
new file mode 100644
index 0000000..0366864
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Using_directiveContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Using_directivesContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Using_directivesContext.class
new file mode 100644
index 0000000..5a6063d
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Using_directivesContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Variable_declaratorContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Variable_declaratorContext.class
new file mode 100644
index 0000000..3524929
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Variable_declaratorContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Variable_declaratorsContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Variable_declaratorsContext.class
new file mode 100644
index 0000000..3885639
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Variable_declaratorsContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Variable_initializerContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Variable_initializerContext.class
new file mode 100644
index 0000000..36c3213
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Variable_initializerContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Variance_annotationContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Variance_annotationContext.class
new file mode 100644
index 0000000..3c7c1ab
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Variance_annotationContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Variant_type_parameterContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Variant_type_parameterContext.class
new file mode 100644
index 0000000..e147a3e
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Variant_type_parameterContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Variant_type_parameter_listContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Variant_type_parameter_listContext.class
new file mode 100644
index 0000000..302e256
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Variant_type_parameter_listContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$Where_clauseContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$Where_clauseContext.class
new file mode 100644
index 0000000..f636b9d
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$Where_clauseContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$WhileStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$WhileStatementContext.class
new file mode 100644
index 0000000..a6a32b4
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$WhileStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser$YieldStatementContext.class b/bin/com/carvalab/archtool/parsers/CSharpParser$YieldStatementContext.class
new file mode 100644
index 0000000..d1725c3
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser$YieldStatementContext.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser.class b/bin/com/carvalab/archtool/parsers/CSharpParser.class
new file mode 100644
index 0000000..a015e8a
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParser.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParser.tokens b/bin/com/carvalab/archtool/parsers/CSharpParser.tokens
new file mode 100644
index 0000000..f2bac1a
--- /dev/null
+++ b/bin/com/carvalab/archtool/parsers/CSharpParser.tokens
@@ -0,0 +1,351 @@
+BYTE_ORDER_MARK=1
+SINGLE_LINE_DOC_COMMENT=2
+DELIMITED_DOC_COMMENT=3
+SINGLE_LINE_COMMENT=4
+DELIMITED_COMMENT=5
+WHITESPACES=6
+SHARP=7
+ABSTRACT=8
+ADD=9
+ALIAS=10
+ARGLIST=11
+AS=12
+ASCENDING=13
+ASYNC=14
+AWAIT=15
+BASE=16
+BOOL=17
+BREAK=18
+BY=19
+BYTE=20
+CASE=21
+CATCH=22
+CHAR=23
+CHECKED=24
+CLASS=25
+CONST=26
+CONTINUE=27
+DECIMAL=28
+DEFAULT=29
+DELEGATE=30
+DESCENDING=31
+DO=32
+DOUBLE=33
+DYNAMIC=34
+ELSE=35
+ENUM=36
+EQUALS=37
+EVENT=38
+EXPLICIT=39
+EXTERN=40
+FALSE=41
+FINALLY=42
+FIXED=43
+FLOAT=44
+FOR=45
+FOREACH=46
+FROM=47
+GET=48
+GOTO=49
+GROUP=50
+IF=51
+IMPLICIT=52
+IN=53
+INT=54
+INTERFACE=55
+INTERNAL=56
+INTO=57
+IS=58
+JOIN=59
+LET=60
+LOCK=61
+LONG=62
+NAMEOF=63
+NAMESPACE=64
+NEW=65
+NULL=66
+OBJECT=67
+ON=68
+OPERATOR=69
+ORDERBY=70
+OUT=71
+OVERRIDE=72
+PARAMS=73
+PARTIAL=74
+PRIVATE=75
+PROTECTED=76
+PUBLIC=77
+READONLY=78
+REF=79
+REMOVE=80
+RETURN=81
+SBYTE=82
+SEALED=83
+SELECT=84
+SET=85
+SHORT=86
+SIZEOF=87
+STACKALLOC=88
+STATIC=89
+STRING=90
+STRUCT=91
+SWITCH=92
+THIS=93
+THROW=94
+TRUE=95
+TRY=96
+TYPEOF=97
+UINT=98
+ULONG=99
+UNCHECKED=100
+UNSAFE=101
+USHORT=102
+USING=103
+VIRTUAL=104
+VOID=105
+VOLATILE=106
+WHEN=107
+WHERE=108
+WHILE=109
+YIELD=110
+IDENTIFIER=111
+LITERAL_ACCESS=112
+INTEGER_LITERAL=113
+HEX_INTEGER_LITERAL=114
+REAL_LITERAL=115
+CHARACTER_LITERAL=116
+REGULAR_STRING=117
+VERBATIUM_STRING=118
+INTERPOLATED_REGULAR_STRING_START=119
+INTERPOLATED_VERBATIUM_STRING_START=120
+OPEN_BRACE=121
+CLOSE_BRACE=122
+OPEN_BRACKET=123
+CLOSE_BRACKET=124
+OPEN_PARENS=125
+CLOSE_PARENS=126
+DOT=127
+COMMA=128
+COLON=129
+SEMICOLON=130
+PLUS=131
+MINUS=132
+STAR=133
+DIV=134
+PERCENT=135
+AMP=136
+BITWISE_OR=137
+CARET=138
+BANG=139
+TILDE=140
+ASSIGNMENT=141
+LT=142
+GT=143
+INTERR=144
+DOUBLE_COLON=145
+OP_COALESCING=146
+OP_INC=147
+OP_DEC=148
+OP_AND=149
+OP_OR=150
+OP_PTR=151
+OP_EQ=152
+OP_NE=153
+OP_LE=154
+OP_GE=155
+OP_ADD_ASSIGNMENT=156
+OP_SUB_ASSIGNMENT=157
+OP_MULT_ASSIGNMENT=158
+OP_DIV_ASSIGNMENT=159
+OP_MOD_ASSIGNMENT=160
+OP_AND_ASSIGNMENT=161
+OP_OR_ASSIGNMENT=162
+OP_XOR_ASSIGNMENT=163
+OP_LEFT_SHIFT=164
+OP_LEFT_SHIFT_ASSIGNMENT=165
+DOUBLE_CURLY_INSIDE=166
+OPEN_BRACE_INSIDE=167
+REGULAR_CHAR_INSIDE=168
+VERBATIUM_DOUBLE_QUOTE_INSIDE=169
+DOUBLE_QUOTE_INSIDE=170
+REGULAR_STRING_INSIDE=171
+VERBATIUM_INSIDE_STRING=172
+CLOSE_BRACE_INSIDE=173
+FORMAT_STRING=174
+HIDDEN_WHITESPACES=175
+DIGITS=176
+DEFINE=177
+UNDEF=178
+ELIF=179
+ENDIF=180
+LINE=181
+ERROR=182
+WARNING=183
+REGION=184
+ENDREGION=185
+PRAGMA=186
+HIDDEN_HIDDEN=187
+CONDITIONAL_SYMBOL=188
+HIDDEN_NEW_LINE=189
+TEXT=190
+DOUBLE_CURLY_CLOSE_INSIDE=191
+'\u00EF\u00BB\u00BF'=1
+'#'=7
+'abstract'=8
+'add'=9
+'alias'=10
+'__arglist'=11
+'as'=12
+'ascending'=13
+'async'=14
+'await'=15
+'base'=16
+'bool'=17
+'break'=18
+'by'=19
+'byte'=20
+'case'=21
+'catch'=22
+'char'=23
+'checked'=24
+'class'=25
+'const'=26
+'continue'=27
+'decimal'=28
+'default'=29
+'delegate'=30
+'descending'=31
+'do'=32
+'double'=33
+'dynamic'=34
+'else'=35
+'enum'=36
+'equals'=37
+'event'=38
+'explicit'=39
+'extern'=40
+'false'=41
+'finally'=42
+'fixed'=43
+'float'=44
+'for'=45
+'foreach'=46
+'from'=47
+'get'=48
+'goto'=49
+'group'=50
+'if'=51
+'implicit'=52
+'in'=53
+'int'=54
+'interface'=55
+'internal'=56
+'into'=57
+'is'=58
+'join'=59
+'let'=60
+'lock'=61
+'long'=62
+'nameof'=63
+'namespace'=64
+'new'=65
+'null'=66
+'object'=67
+'on'=68
+'operator'=69
+'orderby'=70
+'out'=71
+'override'=72
+'params'=73
+'partial'=74
+'private'=75
+'protected'=76
+'public'=77
+'readonly'=78
+'ref'=79
+'remove'=80
+'return'=81
+'sbyte'=82
+'sealed'=83
+'select'=84
+'set'=85
+'short'=86
+'sizeof'=87
+'stackalloc'=88
+'static'=89
+'string'=90
+'struct'=91
+'switch'=92
+'this'=93
+'throw'=94
+'true'=95
+'try'=96
+'typeof'=97
+'uint'=98
+'ulong'=99
+'unchecked'=100
+'unsafe'=101
+'ushort'=102
+'using'=103
+'virtual'=104
+'void'=105
+'volatile'=106
+'when'=107
+'where'=108
+'while'=109
+'yield'=110
+'$"'=119
+'$@"'=120
+'['=123
+']'=124
+'('=125
+')'=126
+'.'=127
+','=128
+':'=129
+';'=130
+'+'=131
+'-'=132
+'*'=133
+'/'=134
+'%'=135
+'&'=136
+'|'=137
+'^'=138
+'!'=139
+'~'=140
+'='=141
+'<'=142
+'>'=143
+'?'=144
+'::'=145
+'??'=146
+'++'=147
+'--'=148
+'&&'=149
+'||'=150
+'->'=151
+'=='=152
+'!='=153
+'<='=154
+'>='=155
+'+='=156
+'-='=157
+'*='=158
+'/='=159
+'%='=160
+'&='=161
+'|='=162
+'^='=163
+'<<'=164
+'<<='=165
+'{{'=166
+'""'=169
+'"'=170
+'}}'=191
+'define'=177
+'undef'=178
+'elif'=179
+'endif'=180
+'line'=181
+'hidden'=187
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParserBaseListener.class b/bin/com/carvalab/archtool/parsers/CSharpParserBaseListener.class
new file mode 100644
index 0000000..5609bfb
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParserBaseListener.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParserBaseVisitor.class b/bin/com/carvalab/archtool/parsers/CSharpParserBaseVisitor.class
new file mode 100644
index 0000000..765eeae
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParserBaseVisitor.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParserListener.class b/bin/com/carvalab/archtool/parsers/CSharpParserListener.class
new file mode 100644
index 0000000..15dc2c9
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParserListener.class differ
diff --git a/bin/com/carvalab/archtool/parsers/CSharpParserVisitor.class b/bin/com/carvalab/archtool/parsers/CSharpParserVisitor.class
new file mode 100644
index 0000000..21f83da
Binary files /dev/null and b/bin/com/carvalab/archtool/parsers/CSharpParserVisitor.class differ
diff --git a/bin/com/carvalab/archtool/util/FormatFilterFileVisitor.class b/bin/com/carvalab/archtool/util/FormatFilterFileVisitor.class
new file mode 100644
index 0000000..62ea69c
Binary files /dev/null and b/bin/com/carvalab/archtool/util/FormatFilterFileVisitor.class differ
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..7815e71
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,18 @@
+apply plugin: "java"
+
+repositories{
+ flatDir { dirs "lib" }
+ mavenCentral()
+ jcenter()
+}
+
+dependencies{
+}
+
+sourceSets{
+ main {
+ java {
+ srcDir "src"
+ }
+ }
+}
diff --git a/grammars/CSharpLexer.g4 b/grammars/CSharpLexer.g4
new file mode 100644
index 0000000..d84f8bf
--- /dev/null
+++ b/grammars/CSharpLexer.g4
@@ -0,0 +1,1060 @@
+// Eclipse Public License - v 1.0, http://www.eclipse.org/legal/epl-v10.html
+// Copyright (c) 2013, Christian Wulf (chwchw@gmx.de)
+// Copyright (c) 2016, Ivan Kochurkin (kvanttt@gmail.com), Positive Technologies.
+
+lexer grammar CSharpLexer;
+
+@lexer::header { package com.carvalab.archtool.parsers; }
+
+//channels { HIDDEN, HIDDEN }
+
+/*@lexer::members
+{
+ public static final int HIDDEN = 1;
+ public static final int HIDDEN = 2;
+}*/
+
+BYTE_ORDER_MARK: '\u00EF\u00BB\u00BF';
+
+SINGLE_LINE_DOC_COMMENT: '///' InputCharacter* -> channel(HIDDEN);
+DELIMITED_DOC_COMMENT: '/**' .*? '*/' -> channel(HIDDEN);
+SINGLE_LINE_COMMENT: '//' InputCharacter* -> channel(HIDDEN);
+DELIMITED_COMMENT: '/*' .*? '*/' -> channel(HIDDEN);
+
+WHITESPACES: (Whitespace | NewLine)+ -> channel(HIDDEN);
+SHARP: '#' -> mode(HIDDEN_MODE);
+
+ABSTRACT: 'abstract';
+ADD: 'add';
+ALIAS: 'alias';
+ARGLIST: '__arglist';
+AS: 'as';
+ASCENDING: 'ascending';
+ASYNC: 'async';
+AWAIT: 'await';
+BASE: 'base';
+BOOL: 'bool';
+BREAK: 'break';
+BY: 'by';
+BYTE: 'byte';
+CASE: 'case';
+CATCH: 'catch';
+CHAR: 'char';
+CHECKED: 'checked';
+CLASS: 'class';
+CONST: 'const';
+CONTINUE: 'continue';
+DECIMAL: 'decimal';
+DEFAULT: 'default';
+DELEGATE: 'delegate';
+DESCENDING: 'descending';
+DO: 'do';
+DOUBLE: 'double';
+DYNAMIC: 'dynamic';
+ELSE: 'else';
+ENUM: 'enum';
+EQUALS: 'equals';
+EVENT: 'event';
+EXPLICIT: 'explicit';
+EXTERN: 'extern';
+FALSE: 'false';
+FINALLY: 'finally';
+FIXED: 'fixed';
+FLOAT: 'float';
+FOR: 'for';
+FOREACH: 'foreach';
+FROM: 'from';
+GET: 'get';
+GOTO: 'goto';
+GROUP: 'group';
+IF: 'if';
+IMPLICIT: 'implicit';
+IN: 'in';
+INT: 'int';
+INTERFACE: 'interface';
+INTERNAL: 'internal';
+INTO: 'into';
+IS: 'is';
+JOIN: 'join';
+LET: 'let';
+LOCK: 'lock';
+LONG: 'long';
+NAMEOF: 'nameof';
+NAMESPACE: 'namespace';
+NEW: 'new';
+NULL: 'null';
+OBJECT: 'object';
+ON: 'on';
+OPERATOR: 'operator';
+ORDERBY: 'orderby';
+OUT: 'out';
+OVERRIDE: 'override';
+PARAMS: 'params';
+PARTIAL: 'partial';
+PRIVATE: 'private';
+PROTECTED: 'protected';
+PUBLIC: 'public';
+READONLY: 'readonly';
+REF: 'ref';
+REMOVE: 'remove';
+RETURN: 'return';
+SBYTE: 'sbyte';
+SEALED: 'sealed';
+SELECT: 'select';
+SET: 'set';
+SHORT: 'short';
+SIZEOF: 'sizeof';
+STACKALLOC: 'stackalloc';
+STATIC: 'static';
+STRING: 'string';
+STRUCT: 'struct';
+SWITCH: 'switch';
+THIS: 'this';
+THROW: 'throw';
+TRUE: 'true';
+TRY: 'try';
+TYPEOF: 'typeof';
+UINT: 'uint';
+ULONG: 'ulong';
+UNCHECKED: 'unchecked';
+UNSAFE: 'unsafe';
+USHORT: 'ushort';
+USING: 'using';
+VIRTUAL: 'virtual';
+VOID: 'void';
+VOLATILE: 'volatile';
+WHEN: 'when';
+WHERE: 'where';
+WHILE: 'while';
+YIELD: 'yield';
+
+//B.1.6 Identifiers
+// must be defined after all keywords so the first branch (Available_identifier) does not match keywords
+// https://msdn.microsoft.com/en-us/library/aa664670(v=vs.71).aspx
+IDENTIFIER: '@'? IdentifierOrKeyword;
+
+//B.1.8 Literals
+// 0.Equals() would be parsed as an invalid real (1. branch) causing a lexer error
+LITERAL_ACCESS: [0-9]+ IntegerTypeSuffix? '.' '@'? IdentifierOrKeyword;
+INTEGER_LITERAL: [0-9]+ IntegerTypeSuffix?;
+HEX_INTEGER_LITERAL: '0' [xX] HexDigit+ IntegerTypeSuffix?;
+REAL_LITERAL: [0-9]* '.' [0-9]+ ExponentPart? [FfDdMm]? | [0-9]+ ([FfDdMm] | ExponentPart [FfDdMm]?);
+
+CHARACTER_LITERAL: '\'' (~['\\\r\n\u0085\u2028\u2029] | CommonCharacter) '\'';
+REGULAR_STRING: '"' (~["\\\r\n\u0085\u2028\u2029] | CommonCharacter)* '"';
+VERBATIUM_STRING: '@"' (~'"' | '""')* '"';
+INTERPOLATED_REGULAR_STRING_START: '$"'
+ ;
+INTERPOLATED_VERBATIUM_STRING_START: '$@"'
+ ;
+
+//B.1.9 Operators And Punctuators
+OPEN_BRACE: '{';
+CLOSE_BRACE: '}';
+OPEN_BRACKET: '[';
+CLOSE_BRACKET: ']';
+OPEN_PARENS: '(';
+CLOSE_PARENS: ')';
+DOT: '.';
+COMMA: ',';
+COLON: ':';
+SEMICOLON: ';';
+PLUS: '+';
+MINUS: '-';
+STAR: '*';
+DIV: '/';
+PERCENT: '%';
+AMP: '&';
+BITWISE_OR: '|';
+CARET: '^';
+BANG: '!';
+TILDE: '~';
+ASSIGNMENT: '=';
+LT: '<';
+GT: '>';
+INTERR: '?';
+DOUBLE_COLON: '::';
+OP_COALESCING: '??';
+OP_INC: '++';
+OP_DEC: '--';
+OP_AND: '&&';
+OP_OR: '||';
+OP_PTR: '->';
+OP_EQ: '==';
+OP_NE: '!=';
+OP_LE: '<=';
+OP_GE: '>=';
+OP_ADD_ASSIGNMENT: '+=';
+OP_SUB_ASSIGNMENT: '-=';
+OP_MULT_ASSIGNMENT: '*=';
+OP_DIV_ASSIGNMENT: '/=';
+OP_MOD_ASSIGNMENT: '%=';
+OP_AND_ASSIGNMENT: '&=';
+OP_OR_ASSIGNMENT: '|=';
+OP_XOR_ASSIGNMENT: '^=';
+OP_LEFT_SHIFT: '<<';
+OP_LEFT_SHIFT_ASSIGNMENT: '<<=';
+
+// https://msdn.microsoft.com/en-us/library/dn961160.aspx
+mode INTERPOLATION_STRING;
+
+DOUBLE_CURLY_INSIDE: '{{';
+OPEN_BRACE_INSIDE: '{' ;
+REGULAR_CHAR_INSIDE: SimpleEscapeSequence;
+VERBATIUM_DOUBLE_QUOTE_INSIDE: '""';
+DOUBLE_QUOTE_INSIDE: '"' ;
+REGULAR_STRING_INSIDE: ~('{' | '\\' | '"')+;
+VERBATIUM_INSIDE_STRING: ~('{' | '"')+;
+
+mode INTERPOLATION_FORMAT;
+
+DOUBLE_CURLY_CLOSE_INSIDE: '}}' -> type(FORMAT_STRING);
+CLOSE_BRACE_INSIDE: '}';
+FORMAT_STRING: ~'}'+;
+
+mode HIDDEN_MODE;
+
+HIDDEN_WHITESPACES: Whitespace+ -> channel(HIDDEN);
+DIGITS: [0-9]+ -> channel(HIDDEN);
+HIDDEN_TRUE: 'true' -> channel(HIDDEN), type(TRUE);
+HIDDEN_FALSE: 'false' -> channel(HIDDEN), type(FALSE);
+DEFINE: 'define' -> channel(HIDDEN);
+UNDEF: 'undef' -> channel(HIDDEN);
+HIDDEN_IF: 'if' -> channel(HIDDEN), type(IF);
+ELIF: 'elif' -> channel(HIDDEN);
+HIDDEN_ELSE: 'else' -> channel(HIDDEN), type(ELSE);
+ENDIF: 'endif' -> channel(HIDDEN);
+LINE: 'line' -> channel(HIDDEN);
+ERROR: 'error' Whitespace+ -> channel(HIDDEN), mode(HIDDEN_TEXT);
+WARNING: 'warning' Whitespace+ -> channel(HIDDEN), mode(HIDDEN_TEXT);
+REGION: 'region' Whitespace* -> channel(HIDDEN), mode(HIDDEN_TEXT);
+ENDREGION: 'endregion' Whitespace* -> channel(HIDDEN), mode(HIDDEN_TEXT);
+PRAGMA: 'pragma' Whitespace+ -> channel(HIDDEN), mode(HIDDEN_TEXT);
+HIDDEN_DEFAULT: 'default' -> channel(HIDDEN), type(DEFAULT);
+HIDDEN_HIDDEN: 'hidden' -> channel(HIDDEN);
+HIDDEN_OPEN_PARENS: '(' -> channel(HIDDEN), type(OPEN_PARENS);
+HIDDEN_CLOSE_PARENS: ')' -> channel(HIDDEN), type(CLOSE_PARENS);
+HIDDEN_BANG: '!' -> channel(HIDDEN), type(BANG);
+HIDDEN_OP_EQ: '==' -> channel(HIDDEN), type(OP_EQ);
+HIDDEN_OP_NE: '!=' -> channel(HIDDEN), type(OP_NE);
+HIDDEN_OP_AND: '&&' -> channel(HIDDEN), type(OP_AND);
+HIDDEN_OP_OR: '||' -> channel(HIDDEN), type(OP_OR);
+HIDDEN_STRING: '"' ~('"' | [\r\n\u0085\u2028\u2029])* '"' -> channel(HIDDEN), type(STRING);
+CONDITIONAL_SYMBOL: IdentifierOrKeyword -> channel(HIDDEN);
+HIDDEN_SINGLE_LINE_COMMENT: '//' ~[\r\n\u0085\u2028\u2029]* -> channel(HIDDEN), type(SINGLE_LINE_COMMENT);
+HIDDEN_NEW_LINE: NewLine -> channel(HIDDEN), mode(DEFAULT_MODE);
+
+mode HIDDEN_TEXT;
+
+TEXT: ~[\r\n\u0085\u2028\u2029]+ -> channel(HIDDEN);
+TEXT_NEW_LINE: NewLine -> channel(HIDDEN), type(HIDDEN_NEW_LINE), mode(DEFAULT_MODE);
+
+// Fragments
+
+fragment InputCharacter: ~[\r\n\u0085\u2028\u2029];
+
+fragment NewLineCharacter
+ : '\u000D' //''
+ | '\u000A' //''
+ | '\u0085' //''
+ | '\u2028' //''
+ | '\u2029' //''
+ ;
+
+fragment IntegerTypeSuffix: [lL]? [uU] | [uU]? [lL];
+fragment ExponentPart: [eE] ('+' | '-')? [0-9]+;
+
+fragment CommonCharacter
+ : SimpleEscapeSequence
+ | HexEscapeSequence
+ | UnicodeEscapeSequence
+ ;
+
+fragment SimpleEscapeSequence
+ : '\\\''
+ | '\\"'
+ | '\\\\'
+ | '\\0'
+ | '\\a'
+ | '\\b'
+ | '\\f'
+ | '\\n'
+ | '\\r'
+ | '\\t'
+ | '\\v'
+ ;
+
+fragment HexEscapeSequence
+ : '\\x' HexDigit
+ | '\\x' HexDigit HexDigit
+ | '\\x' HexDigit HexDigit HexDigit
+ | '\\x' HexDigit HexDigit HexDigit HexDigit
+ ;
+
+fragment NewLine
+ : '\r\n' | '\r' | '\n'
+ | '\u0085' // '
+ | '\u2028' //''
+ | '\u2029' //''
+ ;
+
+fragment Whitespace
+ : UnicodeClassZS //''
+ | '\u0009' //''
+ | '\u000B' //''
+ | '\u000C' //'