<SyntaxLanguage Key="VB.NET" LanguageDefinitionVersion="2.0" Secure="True" xmlns="http://ActiproSoftware/SyntaxEditor/2.0/LanguageDefinition">

	<!-- String Properties -->
	<Properties>
		<Property Key="Creator" Value="Actipro Software LLC" />
		<Property Key="Copyright" Value="Copyright (c) 2001-2004 Actipro Software LLC.  All rights reserved." />
	</Properties>

	<!-- Triggers -->
	<Triggers>
		<KeyPressTrigger Key="MemberListTrigger" Character=".">
			<KeyPressTriggerValidStates>
				<KeyPressTriggerValidState State="DefaultState" />
			</KeyPressTriggerValidStates>
		</KeyPressTrigger>
	</Triggers>

	<!-- Highlighting Styles -->	
	<Styles>
		<Style Key="ReservedWordStyle" ForeColor="Blue" BackColor="Default" Bold="False" Italic="False" Underline="False" />
		<Style Key="NativeTypeStyle" ForeColor="Blue" BackColor="Default" Bold="False" Italic="False" Underline="False" />
		<Style Key="OperatorStyle" ForeColor="Black" BackColor="Default" Bold="False" Italic="False" Underline="False" />
		<Style Key="ReservedWordOperatorStyle" ForeColor="Blue" BackColor="Default" Bold="False" Italic="False" Underline="False" />
		<Style Key="NumberStyle" ForeColor="Black" BackColor="Default" Bold="False" Italic="False" Underline="False" />
		<Style Key="StringDelimiterStyle" ForeColor="Black" BackColor="Default" Bold="False" Italic="False" Underline="False" />
		<Style Key="StringDefaultStyle" ForeColor="Black" BackColor="Default" Bold="False" Italic="False" Underline="False" />
		<Style Key="CommentDelimiterStyle" ForeColor="Green" BackColor="Default" Bold="False" Italic="False" Underline="False" />
		<Style Key="CommentDefaultStyle" ForeColor="Green" BackColor="Default" Bold="False" Italic="False" Underline="False" />
	</Styles>
	
	<!-- States -->
	<States>
		<!-- Code -->
		<State Key="DefaultState">
			<!-- Patterns Groups -->
			<PatternGroups>
				<!-- Whitespace -->
				<RegexPatternGroup Token="WhitespaceToken" PatternValue="{WhitespaceMacro}+" IsWhitespace="True" />
				<!-- Line Terminators -->
				<RegexPatternGroup Token="LineTerminatorToken" PatternValue="{LineTerminatorMacro}" IsWhitespace="True" />
				<!-- Brackets -->
				<ExplicitPatternGroup Key="OpenParenthesisPatternGroup" Token="OpenParenthesisToken" PatternValue="(" EndBracket="CloseParenthesisPatternGroup" />
				<ExplicitPatternGroup Key="CloseParenthesisPatternGroup" Token="CloseParenthesisToken" PatternValue=")" StartBracket="OpenParenthesisPatternGroup" />
				<!-- Exit Reserved Words -->
				<ExplicitPatternGroup Token="ExitReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" StartsWith="[Ee]" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="Exit Sub" />
					<ExplicitPattern Value="Exit Function" />
					<ExplicitPattern Value="Exit Property" />
					<ExplicitPattern Value="Exit" />
				</ExplicitPatternGroup>
				<!-- Foldable Start Reserved Words -->
				<ExplicitPatternGroup Token="SubReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="Sub" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="FunctionReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="Function" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="PropertyReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="Property" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="ClassReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="Class" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="InterfaceReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="Interface" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="EnumReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="Enum" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="StructureReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="Structure" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="ModuleReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="Module" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="NamespaceReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="Namespace" />
				</ExplicitPatternGroup>
				<!-- Foldable End Reserved Words -->
				<ExplicitPatternGroup Token="EndSubReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="End Sub" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="EndFunctionReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="End Function" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="EndPropertyReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="End Property" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="EndClassReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="End Class" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="EndInterfaceReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="End Interface" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="EndEnumReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="End Enum" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="EndStructureReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="End Structure" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="EndModuleReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="End Module" />
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="EndNamespaceReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPattern Value="End Namespace" />
				</ExplicitPatternGroup>
				<!-- Punctuation -->
				<ExplicitPatternGroup Token="PunctuationToken">
					<ExplicitPatterns>
						. ,
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<!-- Native Types -->
				<ExplicitPatternGroup Token="NativeTypeToken" Style="NativeTypeStyle" LookAhead="{NonWordMacro}" StartsWith="[A-Za-z]" CaseSensitivity="AutoCorrect">
					<ExplicitPatterns>
						Boolean Byte Char Date Decimal Double Integer Long Object Short Single String
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<!-- Booleans -->
				<ExplicitPatternGroup Token="BooleanToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect">
					<ExplicitPatterns>
						False True
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<!-- Me -->
				<ExplicitPatternGroup Token="MeToken" PatternValue="Me" LookAhead="{NonWordMacro}" CaseSensitivity="AutoCorrect"/>
				<!-- Reserved Word Operators -->
				<ExplicitPatternGroup Token="ReservedWordOperatorToken" Style="ReservedWordOperatorStyle" LookAhead="{NonWordMacro}" StartsWith="[A-Za-z]" CaseSensitivity="AutoCorrect">
					<ExplicitPatterns>
						AddressOf And AndAlso GetType Is Mod Not Or OrElse Xor
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<!-- Reserved Words -->
				<ExplicitPatternGroup Token="ReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" StartsWith="[A-Ca-c]" CaseSensitivity="AutoCorrect">
					<ExplicitPatterns>
						Alias Ansi As Assembly Auto ByRef ByVal 
						AddHandler Call Case Catch Compare Const 
						Abs AppActivate Asc Atn Beep CallByName CBool CByte CChar CDate CDbl CDec ChDir ChDrive Choose Chr ChrW 
						CInt CLng CObj Command Conversions Cos CreateObject CShort CSng CStr CType CurDir 
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="ReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" StartsWith="[D-Ed-e]" CaseSensitivity="AutoCorrect">
					<ExplicitPatterns>
						Default DirectCast 
						Declare Delegate Dim Do Each Else ElseIf End Erase Error 
						Event Explicit 
						DateAdd DateDiff DatePart 
						DateSerial DateValue Day DDB DeleteSetting Dir Environ EOF ErrorToString Exp 
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="ReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" StartsWith="[F-Mf-m]" CaseSensitivity="AutoCorrect">
					<ExplicitPatterns>
						Friend Handles 
						Finally For Get Goto 
						FileAttr FileClose FileCopy 
						FileDateTime FileGet FileGetObject FileLen FileOpen FilePut FilePutObject FileWidth Filter Fix Format 
						FormatCurrency FormatDateTime FormatNumber FormatPercent FreeFile FV GetAllSettings GetAttr GetChar 
						GetException GetObject GetSetting Hex Hour 
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="ReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" StartsWith="[I-Mi-m]" CaseSensitivity="AutoCorrect">
					<ExplicitPatterns>
						In Lib MustInherit MustOverride MyBase MyClass 
						If Implements Imports Inherits Loop 
						IIf Input InputBox InputString InStr InStrRev Int IPmt 
						IRR IsArray IsDate IsDBNull IsError IsNothing IsNumeric IsReference Join Kill LBound LCase Left Len 
						LineInput Loc Lock LOF Log LSet LTrim Mid Minute MIRR MkDir Month MonthName MsgBox 
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="ReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" StartsWith="[N-Rn-r]" CaseSensitivity="AutoCorrect">
					<ExplicitPatterns>
						New Nothing NotInheritable NotOverridable Off On Optional Overloads Overridable Overrides 
						ParamArray Preserve Private Protected Public ReadOnly Resume 
						Next On Option RaiseEvent Randomize ReDim RemoveHandler Resume Return 
						NPer NPV Oct Partition 
						Pmt PPmt Print PrintLine PV QBColor Rate Rename Replace Reset RGB Right RmDir Rnd Round RSet RTrim 
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="ReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" StartsWith="[Ss]" CaseSensitivity="AutoCorrect">
					<ExplicitPatterns>
						Shadows Shared Static Step 
						Select Set Stop Strict SyncLock 
						SaveSetting Second Seek SetAttr Sgn Shell Sin SLN Space SPC Split Sqr Str StrComp StrConv StrDup 
						StrReverse SYD SystemTypeName 
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<ExplicitPatternGroup Token="ReservedWordToken" Style="ReservedWordStyle" LookAhead="{NonWordMacro}" StartsWith="[T-Zt-z]" CaseSensitivity="AutoCorrect">
					<ExplicitPatterns>
						TypeOf Unicode WithEvents WriteOnly 
						Then Throw To Try Until While With 
						TAB Tan TimeSerial TimeValue Trim TypeName UBound UCase Unlock Val VarType 
						VbTypeName WeekDay WeekDayName Write WriteLine Year 
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<!-- Identifier -->
				<RegexPatternGroup Token="IdentifierToken" PatternValue="(_ | {AlphaMacro})({WordMacro})*" />
				<!-- Operators -->
				<ExplicitPatternGroup Token="OperatorToken" Style="OperatorStyle">
					<ExplicitPatterns>
						= &lt;&gt; 
						+= -= *= /= \= ^= &amp;=
						+ - * / \ ^ &amp; 
						&lt;= &lt; &gt;= &gt; 
					</ExplicitPatterns>
				</ExplicitPatternGroup>
				<!-- Numbers -->
				<RegexPatternGroup Token="RealNumberToken" Style="NumberStyle" LookAhead="{NonWordMacro}">
					<RegexPattern Value="{DigitMacro}* \. {DigitMacro}+ ([Ee] [\+\-]? {DigitMacro}+)?" />
					<RegexPattern Value="{DigitMacro}+ [Ee] [\+\-]? {DigitMacro}+" />
				</RegexPatternGroup>
				<RegexPatternGroup Token="IntegerNumberToken" Style="NumberStyle" PatternValue="{DigitMacro}+" LookAhead="{NonWordMacro}" />
				<RegexPatternGroup Token="HexIntegerNumberToken" Style="NumberStyle" PatternValue="&amp; [hH] {HexDigitMacro}+" LookAhead="{NonWordMacro}" />
			</PatternGroups>
			<!-- Child States -->
			<ChildStates>
				<ChildState Key="DefaultState" />
				<ChildState Key="StringState" />
				<ChildState Key="CommentState" />
			</ChildStates>
		</State>
		
		<!-- Strings -->
		<State Key="StringState" Token="StringDefaultToken" Style="StringDefaultStyle">
			<!-- Scopes -->
			<Scopes>
				<Scope>
					<ExplicitPatternGroup Type="StartScope" Token="StringStartToken" Style="StringDelimiterStyle" PatternValue="&quot;" />
					<RegexPatternGroup Type="EndScope" Token="StringEndToken" Style="StringDelimiterStyle" PatternValue="[\&quot;\n]" LookAhead="[^\&quot;\n]" />	
				</Scope>
			</Scopes>
			<!-- Patterns Groups -->
			<PatternGroups>
				<ExplicitPatternGroup Token="StringEscapedCharacterToken" PatternValue="&quot;&quot;" />
				<RegexPatternGroup Token="StringDefaultToken2" PatternValue="[^\&quot;\n]+" />
			</PatternGroups>
		</State>
		
		<!-- Comments -->
		<State Key="CommentState" Token="CommentDefaultToken" Style="CommentDefaultStyle">
			<!-- Scopes -->
			<Scopes>
				<Scope>
					<ExplicitPatternGroup Type="StartScope" Token="CommentStartToken" Style="CommentDelimiterStyle" PatternValue="'" />
					<RegexPatternGroup Type="EndScope" Token="CommentEndToken" Style="CommentDelimiterStyle" PatternValue="{LineTerminatorMacro}" />	
				</Scope>
				<Scope>
					<ExplicitPatternGroup Type="StartScope" Token="CommentStartToken" Style="CommentDelimiterStyle" PatternValue="REM" LookAhead="{NonWordMacro}" />
					<RegexPatternGroup Type="EndScope" Token="CommentEndToken" Style="CommentDelimiterStyle" PatternValue="{LineTerminatorMacro}" />	
				</Scope>
			</Scopes>
			<!-- Patterns Groups -->
			<PatternGroups>
				<RegexPatternGroup Token="CommentDefaultToken" PatternValue="{NonLineTerminatorMacro}+" />
			</PatternGroups>
		</State>
	</States>

	<!-- Example Text -->
	<ExampleText>
		<![CDATA[
Public Function GetRandom(lowerBound As Integer, upperBound As Integer) 
	'Create a random number within the range
	Randomize
	GetRandom = CInt((upperBound - lowerBound) * Rnd + 1) 
End Function 
 
Public Function RangedRandomArray(arraySize As Integer) 
	Dim tempArray() As Integer  'storage for a working array 
    Dim index As Integer
	 
    ReDim tempArray(arraySize) ' resize the tempArray to arraySize 
    
	For index = 1 To arraySize
		tempArray(index) = GetRandom(0, 100)
	Next index
    
    'Return the array, populated with random integers to the caller of the function  
    RangedRandomArray = tempArray 
End Function 
		]]>
	</ExampleText>
	
</SyntaxLanguage>
