<?xml version="1.0" encoding="utf-8"?>
<!--

Actipro Syntax Language Definition (.langdef)
  For use with Actipro SyntaxEditor and related products.
  http://www.actiprosoftware.com

'FoxPro' language created by Dominik Föhl.
  Software-Schmiede Vogler & Hauke 2014

-->
<LanguageDefinition LanguageKey="FoxPro" LanguageDescription="FoxPro" Creator="Dominik Föhl" Copyright="Software-Schmiede Vogler &amp; Hauke 2014" xmlns="http://schemas.actiprosoftware.com/langdef/1.0">
	<!-- Classification types -->
	<LanguageDefinition.ClassificationTypes>
		<ClassificationType Key="Comment" DefaultStyle="#FF008000" />
		<ClassificationType Key="Delimiter" />
		<ClassificationType Key="Identifier" />
		<ClassificationType Key="JumpIn" DefaultStyle="#FFE4AC24,True" />
		<ClassificationType Key="Keyword" DefaultStyle="#FF0000FF" />
		<ClassificationType Key="Number" />
		<ClassificationType Key="Operator" />
		<ClassificationType Key="PreProcessor" DefaultStyle="#FF646464" />
		<ClassificationType Key="String" DefaultStyle="#FF800000" />
	</LanguageDefinition.ClassificationTypes>
	<!-- Lexer -->
	<LanguageDefinition.Lexer>
		<DynamicLexer>
			<!-- Default state -->
			<State Id="1" Key="Default">
				<State.ChildStates>
					<StateRef Key="PrimaryString" />
					<StateRef Key="PreProcessorNonDefault" />
					<StateRef Key="PreProcessor" />
					<StateRef Key="JumpIn" />
					<StateRef Key="AlternateString" />
					<StateRef Key="SingleLineComment" />
				</State.ChildStates>
				<RegexPatternGroup TokenId="1" TokenKey="Whitespace" Pattern="{Whitespace}+" />
				<RegexPatternGroup TokenId="2" TokenKey="LineTerminator" Pattern="{LineTerminator}" />
				<ExplicitPatternGroup TokenId="3" TokenKey="OpenParenthesis" ClassificationTypeKey="Delimiter" Pattern="(" />
				<ExplicitPatternGroup TokenId="4" TokenKey="CloseParenthesis" ClassificationTypeKey="Delimiter" Pattern=")" />
				<ExplicitPatternGroup TokenId="5" TokenKey="Keyword" ClassificationTypeKey="Keyword" LookAheadPattern="{NonWord}|\z">
					<ExplicitPattern Value="Activate" />
					<ExplicitPattern Value="Activate Menu" />
					<ExplicitPattern Value="Activate Popup" />
					<ExplicitPattern Value="Activate Window" />
					<ExplicitPattern Value="Add" />
					<ExplicitPattern Value="Add Class" />
					<ExplicitPattern Value="Add Object" />
					<ExplicitPattern Value="Add Table" />
					<ExplicitPattern Value="Alter Table" />
					<ExplicitPattern Value="Append" />
					<ExplicitPattern Value="Append Blank" />
					<ExplicitPattern Value="Append From" />
					<ExplicitPattern Value="Append From Array" />
					<ExplicitPattern Value="Append General" />
					<ExplicitPattern Value="Append Memo" />
					<ExplicitPattern Value="Append Procedures" />
					<ExplicitPattern Value="Assert" />
					<ExplicitPattern Value="Average" />
					<ExplicitPattern Value="Begin Transaction" />
					<ExplicitPattern Value="Blank" />
					<ExplicitPattern Value="Browse" />
					<ExplicitPattern Value="Build" />
					<ExplicitPattern Value="Build App" />
					<ExplicitPattern Value="Build Dll" />
					<ExplicitPattern Value="Build Exe" />
					<ExplicitPattern Value="Build Mtdll" />
					<ExplicitPattern Value="Build Project" />
					<ExplicitPattern Value="Calculate" />
					<ExplicitPattern Value="Cancel" />
					<ExplicitPattern Value="Case" />
					<ExplicitPattern Value="Catch" />
					<ExplicitPattern Value="Cd" />
					<ExplicitPattern Value="ChDir" />
					<ExplicitPattern Value="Change" />
					<ExplicitPattern Value="Clear" />
					<ExplicitPattern Value="Clear Class" />
					<ExplicitPattern Value="Clear Classlib" />
					<ExplicitPattern Value="Clear Dlls" />
					<ExplicitPattern Value="Clear Resources" />
					<ExplicitPattern Value="Close" />
					<ExplicitPattern Value="Close Databases" />
					<ExplicitPattern Value="Close Tables" />
					<ExplicitPattern Value="Compile" />
					<ExplicitPattern Value="Continue" />
					<ExplicitPattern Value="Copy" />
					<ExplicitPattern Value="Copy File" />
					<ExplicitPattern Value="Copy Indexes" />
					<ExplicitPattern Value="Copy Memo" />
					<ExplicitPattern Value="Copy Procedures" />
					<ExplicitPattern Value="Copy Structure" />
					<ExplicitPattern Value="Copy Structure Extended" />
					<ExplicitPattern Value="Copy Tag" />
					<ExplicitPattern Value="Copy To" />
					<ExplicitPattern Value="Copy To Array" />
					<ExplicitPattern Value="Count" />
					<ExplicitPattern Value="Create" />
					<ExplicitPattern Value="Create Class" />
					<ExplicitPattern Value="Create Classlib" />
					<ExplicitPattern Value="Create Color Set" />
					<ExplicitPattern Value="Create Connection" />
					<ExplicitPattern Value="Create Cursor" />
					<ExplicitPattern Value="Create Database" />
					<ExplicitPattern Value="Create Form" />
					<ExplicitPattern Value="Create Label" />
					<ExplicitPattern Value="Create Menu" />
					<ExplicitPattern Value="Create Project" />
					<ExplicitPattern Value="Create Query" />
					<ExplicitPattern Value="Create Report" />
					<ExplicitPattern Value="Create Sql View" />
					<ExplicitPattern Value="Create Table" />
					<ExplicitPattern Value="Create Trigger On" />
					<ExplicitPattern Value="Create View" />
					<ExplicitPattern Value="Deactivate" />
					<ExplicitPattern Value="Deactivate Menu" />
					<ExplicitPattern Value="Deactivate Popup" />
					<ExplicitPattern Value="Deactivate Window" />
					<ExplicitPattern Value="Debug" />
					<ExplicitPattern Value="Debugout" />
					<ExplicitPattern Value="Declare" />
					<ExplicitPattern Value="Define" />
					<ExplicitPattern Value="Define Bar" />
					<ExplicitPattern Value="Define Class" />
					<ExplicitPattern Value="Define Menu" />
					<ExplicitPattern Value="Define Pad" />
					<ExplicitPattern Value="Define Popup" />
					<ExplicitPattern Value="Define Window" />
					<ExplicitPattern Value="Delete" />
					<ExplicitPattern Value="Delete All" />
					<ExplicitPattern Value="Delete Connection" />
					<ExplicitPattern Value="Delete Database" />
					<ExplicitPattern Value="Delete File" />
					<ExplicitPattern Value="Delete For" />
					<ExplicitPattern Value="Delete From" />
					<ExplicitPattern Value="Delete Next" />
					<ExplicitPattern Value="Delete Rest" />
					<ExplicitPattern Value="Delete Tag" />
					<ExplicitPattern Value="Delete Trigger On" />
					<ExplicitPattern Value="Delete View" />
					<ExplicitPattern Value="Dimension" />
					<ExplicitPattern Value="Dir" />
					<ExplicitPattern Value="Display" />
					<ExplicitPattern Value="Display Connections" />
					<ExplicitPattern Value="Display Database" />
					<ExplicitPattern Value="Display Dlls" />
					<ExplicitPattern Value="Display Fields" />
					<ExplicitPattern Value="Display Files" />
					<ExplicitPattern Value="Display Memory" />
					<ExplicitPattern Value="Display Objects" />
					<ExplicitPattern Value="Display Procedures" />
					<ExplicitPattern Value="Display Status" />
					<ExplicitPattern Value="Display Structure" />
					<ExplicitPattern Value="Display Tables" />
					<ExplicitPattern Value="Display Views" />
					<ExplicitPattern Value="Do" />
					<ExplicitPattern Value="Do Case" />
					<ExplicitPattern Value="Do Form" />
					<ExplicitPattern Value="Do While" />
					<ExplicitPattern Value="Dock" />
					<ExplicitPattern Value="Doevents" />
					<ExplicitPattern Value="Dotip" />
					<ExplicitPattern Value="Drop" />
					<ExplicitPattern Value="Drop Table" />
					<ExplicitPattern Value="Drop View" />
					<ExplicitPattern Value="Edit" />
					<ExplicitPattern Value="Eject" />
					<ExplicitPattern Value="Else" />
					<ExplicitPattern Value="End Transaction" />
					<ExplicitPattern Value="EndCase" />
					<ExplicitPattern Value="EndDefine" />
					<ExplicitPattern Value="EndDo" />
					<ExplicitPattern Value="EndFor" />
					<ExplicitPattern Value="EndFunc" />
					<ExplicitPattern Value="EndIf" />
					<ExplicitPattern Value="EndPrintJob" />
					<ExplicitPattern Value="EndProc" />
					<ExplicitPattern Value="EndScan" />
					<ExplicitPattern Value="EndText" />
					<ExplicitPattern Value="EndTry" />
					<ExplicitPattern Value="EndWith" />
					<ExplicitPattern Value="Erase" />
					<ExplicitPattern Value="Error" />
					<ExplicitPattern Value="Exit" />
					<ExplicitPattern Value="Export" />
					<ExplicitPattern Value="External" />
					<ExplicitPattern Value="Finally" />
					<ExplicitPattern Value="Flush" />
					<ExplicitPattern Value="For" />
					<ExplicitPattern Value="Free Table" />
					<ExplicitPattern Value="Function" />
					<ExplicitPattern Value="Gather" />
					<ExplicitPattern Value="Getexpr" />
					<ExplicitPattern Value="Go" />
					<ExplicitPattern Value="Goto" />
					<ExplicitPattern Value="Help" />
					<ExplicitPattern Value="Hidden" />
					<ExplicitPattern Value="Hide" />
					<ExplicitPattern Value="Hide Menu" />
					<ExplicitPattern Value="Hide Popup" />
					<ExplicitPattern Value="Hide Window" />
					<ExplicitPattern Value="If" />
					<ExplicitPattern Value="Implements" />
					<ExplicitPattern Value="Import From" />
					<ExplicitPattern Value="Index On" />
					<ExplicitPattern Value="Insert" />
					<ExplicitPattern Value="Keyboard" />
					<ExplicitPattern Value="Label Form" />
					<ExplicitPattern Value="List" />
					<ExplicitPattern Value="List Connections" />
					<ExplicitPattern Value="List Database" />
					<ExplicitPattern Value="List Dlls" />
					<ExplicitPattern Value="List Fields" />
					<ExplicitPattern Value="List Files" />
					<ExplicitPattern Value="List Memory" />
					<ExplicitPattern Value="List Objects" />
					<ExplicitPattern Value="List Procedures" />
					<ExplicitPattern Value="List Status" />
					<ExplicitPattern Value="List Structure" />
					<ExplicitPattern Value="List Tables" />
					<ExplicitPattern Value="List Views" />
					<ExplicitPattern Value="Local" />
					<ExplicitPattern Value="Locate" />
					<ExplicitPattern Value="Loop" />
					<ExplicitPattern Value="Lparameters" />
					<ExplicitPattern Value="Md" />
					<ExplicitPattern Value="MkDir" />
					<ExplicitPattern Value="Modify" />
					<ExplicitPattern Value="Modify Class" />
					<ExplicitPattern Value="Modify Command" />
					<ExplicitPattern Value="Modify Connection" />
					<ExplicitPattern Value="Modify Database" />
					<ExplicitPattern Value="Modify File" />
					<ExplicitPattern Value="Modify Form" />
					<ExplicitPattern Value="Modify Label" />
					<ExplicitPattern Value="Modify Memo" />
					<ExplicitPattern Value="Modify Menu" />
					<ExplicitPattern Value="Modify Project" />
					<ExplicitPattern Value="Modify Query" />
					<ExplicitPattern Value="Modify Report" />
					<ExplicitPattern Value="Modify View" />
					<ExplicitPattern Value="Modify Window" />
					<ExplicitPattern Value="Mouse" />
					<ExplicitPattern Value="Move" />
					<ExplicitPattern Value="Move Popup" />
					<ExplicitPattern Value="Move Window" />
					<ExplicitPattern Value="Next" />
					<ExplicitPattern Value="NoDefault" />
					<ExplicitPattern Value="Note" />
					<ExplicitPattern Value="On" />
					<ExplicitPattern Value="On Bar" />
					<ExplicitPattern Value="On Error" />
					<ExplicitPattern Value="On Escape" />
					<ExplicitPattern Value="On Key" />
					<ExplicitPattern Value="On Key Label" />
					<ExplicitPattern Value="On Pad" />
					<ExplicitPattern Value="On Page" />
					<ExplicitPattern Value="On Selection Bar" />
					<ExplicitPattern Value="On Selection Menu" />
					<ExplicitPattern Value="On Selection Pad" />
					<ExplicitPattern Value="On Selection Popup" />
					<ExplicitPattern Value="On Shutdown" />
					<ExplicitPattern Value="Open Database" />
					<ExplicitPattern Value="Opendatatip" />
					<ExplicitPattern Value="Otherwise" />
					<ExplicitPattern Value="Pack" />
					<ExplicitPattern Value="Parameters" />
					<ExplicitPattern Value="Play Macro" />
					<ExplicitPattern Value="Pop" />
					<ExplicitPattern Value="Pop Key" />
					<ExplicitPattern Value="Pop Menu" />
					<ExplicitPattern Value="Pop Popup" />
					<ExplicitPattern Value="Printjob" />
					<ExplicitPattern Value="Private" />
					<ExplicitPattern Value="Procedure" />
					<ExplicitPattern Value="Protected" />
					<ExplicitPattern Value="Public" />
					<ExplicitPattern Value="Push" />
					<ExplicitPattern Value="Push Key" />
					<ExplicitPattern Value="Push Menu" />
					<ExplicitPattern Value="Push Popup" />
					<ExplicitPattern Value="Quit" />
					<ExplicitPattern Value="Rd" />
					<ExplicitPattern Value="Read" />
					<ExplicitPattern Value="Recall" />
					<ExplicitPattern Value="Reindex" />
					<ExplicitPattern Value="Release" />
					<ExplicitPattern Value="Release All" />
					<ExplicitPattern Value="Release Bar" />
					<ExplicitPattern Value="Release Classlib" />
					<ExplicitPattern Value="Release Library" />
					<ExplicitPattern Value="Release Menus" />
					<ExplicitPattern Value="Release Pad" />
					<ExplicitPattern Value="Release Popups" />
					<ExplicitPattern Value="Release Procedure" />
					<ExplicitPattern Value="Release Windows" />
					<ExplicitPattern Value="Remove" />
					<ExplicitPattern Value="Remove Class" />
					<ExplicitPattern Value="Remove Table" />
					<ExplicitPattern Value="Rename" />
					<ExplicitPattern Value="Rename Class" />
					<ExplicitPattern Value="Rename Connection" />
					<ExplicitPattern Value="Rename Table" />
					<ExplicitPattern Value="Rename View" />
					<ExplicitPattern Value="Replace" />
					<ExplicitPattern Value="Repltip" />
					<ExplicitPattern Value="Report Form" />
					<ExplicitPattern Value="Restore" />
					<ExplicitPattern Value="Restore From" />
					<ExplicitPattern Value="Restore Macros" />
					<ExplicitPattern Value="Restore Screen" />
					<ExplicitPattern Value="Restore Window" />
					<ExplicitPattern Value="Resume" />
					<ExplicitPattern Value="Retry" />
					<ExplicitPattern Value="Return" />
					<ExplicitPattern Value="RmDir" />
					<ExplicitPattern Value="RollBack" />
					<ExplicitPattern Value="Run" />
					<ExplicitPattern Value="Save" />
					<ExplicitPattern Value="Save Macros" />
					<ExplicitPattern Value="Save Screen" />
					<ExplicitPattern Value="Save To" />
					<ExplicitPattern Value="Save Windows" />
					<ExplicitPattern Value="Scan" />
					<ExplicitPattern Value="Scatter" />
					<ExplicitPattern Value="Seek" />
					<ExplicitPattern Value="Select" />
					<ExplicitPattern Value="Set" />
					<ExplicitPattern Value="Set Alternate" />
					<ExplicitPattern Value="Set Ansi" />
					<ExplicitPattern Value="Set Asserts" />
					<ExplicitPattern Value="Set AutoIncError" />
					<ExplicitPattern Value="Set Autosave" />
					<ExplicitPattern Value="Set Bell" />
					<ExplicitPattern Value="Set Blocksize" />
					<ExplicitPattern Value="Set Browseime" />
					<ExplicitPattern Value="Set Carry" />
					<ExplicitPattern Value="Set Century" />
					<ExplicitPattern Value="Set Classlib" />
					<ExplicitPattern Value="Set Clock" />
					<ExplicitPattern Value="Set Collate To" />
					<ExplicitPattern Value="Set Color" />
					<ExplicitPattern Value="Set Compatible" />
					<ExplicitPattern Value="Set Confirm" />
					<ExplicitPattern Value="Set Console" />
					<ExplicitPattern Value="Set Coverage" />
					<ExplicitPattern Value="Set Cpcompile" />
					<ExplicitPattern Value="Set Cpdialog" />
					<ExplicitPattern Value="Set Currency" />
					<ExplicitPattern Value="Set Cursor" />
					<ExplicitPattern Value="Set Database To" />
					<ExplicitPattern Value="Set Datasession" />
					<ExplicitPattern Value="Set Date" />
					<ExplicitPattern Value="Set Debug" />
					<ExplicitPattern Value="Set Debugout" />
					<ExplicitPattern Value="Set Decimals" />
					<ExplicitPattern Value="Set Default" />
					<ExplicitPattern Value="Set Deleted" />
					<ExplicitPattern Value="Set Development" />
					<ExplicitPattern Value="Set Device" />
					<ExplicitPattern Value="Set Display" />
					<ExplicitPattern Value="Set DoHistory" />
					<ExplicitPattern Value="Set Echo" />
					<ExplicitPattern Value="Set EngineBehavior" />
					<ExplicitPattern Value="Set Escape" />
					<ExplicitPattern Value="Set Eventlist" />
					<ExplicitPattern Value="Set Eventtracking" />
					<ExplicitPattern Value="Set Exact" />
					<ExplicitPattern Value="Set Exclusive" />
					<ExplicitPattern Value="Set Fdow" />
					<ExplicitPattern Value="Set Fields" />
					<ExplicitPattern Value="Set Filter" />
					<ExplicitPattern Value="Set Fixed" />
					<ExplicitPattern Value="Set Fullpath" />
					<ExplicitPattern Value="Set Function" />
					<ExplicitPattern Value="Set Fweek" />
					<ExplicitPattern Value="Set Headings" />
					<ExplicitPattern Value="Set Help" />
					<ExplicitPattern Value="Set Helpfilter" />
					<ExplicitPattern Value="Set Hours" />
					<ExplicitPattern Value="Set Index" />
					<ExplicitPattern Value="Set Key" />
					<ExplicitPattern Value="Set Keycomp" />
					<ExplicitPattern Value="Set Library" />
					<ExplicitPattern Value="Set Lock" />
					<ExplicitPattern Value="Set Logerrors" />
					<ExplicitPattern Value="Set Mackey" />
					<ExplicitPattern Value="Set Margin" />
					<ExplicitPattern Value="Set Mark" />
					<ExplicitPattern Value="Set Memowidth" />
					<ExplicitPattern Value="Set Message" />
					<ExplicitPattern Value="Set Multilocks" />
					<ExplicitPattern Value="Set Near" />
					<ExplicitPattern Value="Set Nocptrans" />
					<ExplicitPattern Value="Set Notify" />
					<ExplicitPattern Value="Set Null" />
					<ExplicitPattern Value="Set Nulldisplay" />
					<ExplicitPattern Value="Set Odometer" />
					<ExplicitPattern Value="Set Oleobject" />
					<ExplicitPattern Value="Set Optimize" />
					<ExplicitPattern Value="Set Order To" />
					<ExplicitPattern Value="Set Palette" />
					<ExplicitPattern Value="Set Path To" />
					<ExplicitPattern Value="Set Pdsetup" />
					<ExplicitPattern Value="Set Point" />
					<ExplicitPattern Value="Set Printer" />
					<ExplicitPattern Value="Set Procedure" />
					<ExplicitPattern Value="Set Readborder" />
					<ExplicitPattern Value="Set Refresh" />
					<ExplicitPattern Value="Set Relation" />
					<ExplicitPattern Value="Set ReportBehavior" />
					<ExplicitPattern Value="Set Reprocess" />
					<ExplicitPattern Value="Set Resource" />
					<ExplicitPattern Value="Set SQLBuffering" />
					<ExplicitPattern Value="Set Safety" />
					<ExplicitPattern Value="Set Seconds" />
					<ExplicitPattern Value="Set Separator" />
					<ExplicitPattern Value="Set Skip" />
					<ExplicitPattern Value="Set Space" />
					<ExplicitPattern Value="Set Status" />
					<ExplicitPattern Value="Set Status Bar" />
					<ExplicitPattern Value="Set Step On" />
					<ExplicitPattern Value="Set Strictdate To" />
					<ExplicitPattern Value="Set Sysformats" />
					<ExplicitPattern Value="Set Sysmenu" />
					<ExplicitPattern Value="Set TableValidate" />
					<ExplicitPattern Value="Set Talk" />
					<ExplicitPattern Value="Set Textmerge" />
					<ExplicitPattern Value="Set Topic" />
					<ExplicitPattern Value="Set Trbetween" />
					<ExplicitPattern Value="Set Typeahead" />
					<ExplicitPattern Value="Set Udfparms To" />
					<ExplicitPattern Value="Set Unique" />
					<ExplicitPattern Value="Set VarcharMapping" />
					<ExplicitPattern Value="Set View" />
					<ExplicitPattern Value="Show" />
					<ExplicitPattern Value="Show Menu" />
					<ExplicitPattern Value="Show Popup" />
					<ExplicitPattern Value="Show Window" />
					<ExplicitPattern Value="Size" />
					<ExplicitPattern Value="Size Popup" />
					<ExplicitPattern Value="Size Window" />
					<ExplicitPattern Value="Skip" />
					<ExplicitPattern Value="Sort" />
					<ExplicitPattern Value="Store" />
					<ExplicitPattern Value="Sum" />
					<ExplicitPattern Value="Suspend" />
					<ExplicitPattern Value="Text" />
					<ExplicitPattern Value="Throw" />
					<ExplicitPattern Value="Total" />
					<ExplicitPattern Value="Try" />
					<ExplicitPattern Value="Type" />
					<ExplicitPattern Value="Unlock" />
					<ExplicitPattern Value="Update" />
					<ExplicitPattern Value="Use" />
					<ExplicitPattern Value="Usetip" />
					<ExplicitPattern Value="Validate Database" />
					<ExplicitPattern Value="Wait" />
					<ExplicitPattern Value="With" />
					<ExplicitPattern Value="Zap" />
					<ExplicitPattern Value="Zoom Window" />
				</ExplicitPatternGroup>
				<RegexPatternGroup TokenId="6" TokenKey="Identifier" ClassificationTypeKey="Identifier" Pattern="(_ | {Alpha})({Word})*" />
				<ExplicitPatternGroup TokenId="7" TokenKey="Operator" ClassificationTypeKey="Operator">
					<ExplicitPatterns><![CDATA[
						!= ! # $ % ** * + - / <= <> < == = >= > ? AND NOT OR ^
					]]></ExplicitPatterns>
				</ExplicitPatternGroup>
				<RegexPatternGroup TokenId="8" TokenKey="RealNumber" ClassificationTypeKey="Number" LookAheadPattern="{NonWord}|\z">
					<RegexPattern Value="{Digit}* \. {Digit}+ ([Ee] [\+\-]? {Digit}+)?" />
					<RegexPattern Value="{Digit}+ [Ee] [\+\-]? {Digit}+" />
				</RegexPatternGroup>
				<RegexPatternGroup TokenId="9" TokenKey="IntegerNumber" ClassificationTypeKey="Number" Pattern="{Digit}+" LookAheadPattern="{NonWord}|\z" />
				<RegexPatternGroup TokenId="10" TokenKey="HexNumber" ClassificationTypeKey="Number" Pattern="0x {HexDigit}+" LookAheadPattern="{NonWord}|\z" CaseSensitivity="Insensitive" />
			</State>
			<!-- PreProcessorNonDefault state -->
			<State Id="2" Key="PreProcessorNonDefault">
				<State.Scopes>
					<Scope>
						<Scope.StartPatternGroup>
							<ExplicitPatternGroup TokenId="11" TokenKey="RegionStartDelimiter" ClassificationTypeKey="Comment">
								<ExplicitPatterns><![CDATA[
						#region *#region
					]]></ExplicitPatterns>
							</ExplicitPatternGroup>
						</Scope.StartPatternGroup>
						<Scope.EndPatternGroup>
							<ExplicitPatternGroup TokenId="12" TokenKey="RegionEndDelimiter" ClassificationTypeKey="Comment">
								<ExplicitPatterns><![CDATA[
						#endregion *#endregion
					]]></ExplicitPatterns>
							</ExplicitPatternGroup>
						</Scope.EndPatternGroup>
					</Scope>
				</State.Scopes>
				<State.ChildStates>
					<StateRef Key="PrimaryString" />
					<StateRef Key="PreProcessorNonDefault" />
					<StateRef Key="PreProcessor" />
					<StateRef Key="JumpIn" />
					<StateRef Key="AlternateString" />
					<StateRef Key="SingleLineComment" />
				</State.ChildStates>
			</State>
			<!-- PreProcessor state -->
			<State Id="3" Key="PreProcessor" DefaultClassificationTypeKey="PreProcessor">
				<State.Scopes>
					<Scope>
						<Scope.StartPatternGroup>
							<ExplicitPatternGroup TokenId="13" TokenKey="PreProcessorStartDelimiter">
								<ExplicitPatterns><![CDATA[
						#if #ifdef
					]]></ExplicitPatterns>
							</ExplicitPatternGroup>
						</Scope.StartPatternGroup>
						<Scope.EndPatternGroup>
							<ExplicitPatternGroup TokenId="14" TokenKey="PreProcessorEndDelimiter" Pattern="#endif" />
						</Scope.EndPatternGroup>
					</Scope>
					<Scope>
						<Scope.StartPatternGroup>
							<ExplicitPatternGroup TokenId="15" TokenKey="CsCodeStartDelimiter" ClassificationTypeKey="PreProcessor" Pattern="* CS CODE" />
						</Scope.StartPatternGroup>
						<Scope.EndPatternGroup>
							<RegexPatternGroup TokenId="16" TokenKey="CsCodeEndDelimiter" Pattern="\n" />
						</Scope.EndPatternGroup>
					</Scope>
				</State.Scopes>
			</State>
			<!-- JumpIn state -->
			<State Id="4" Key="JumpIn" DefaultClassificationTypeKey="JumpIn">
				<State.Scopes>
					<Scope>
						<Scope.StartPatternGroup>
							<ExplicitPatternGroup TokenId="17" TokenKey="JumpInStartDelimiter" Pattern="*:" />
						</Scope.StartPatternGroup>
						<Scope.EndPatternGroup>
							<RegexPatternGroup TokenId="18" TokenKey="JumpInEndDelimiter" Pattern="\n" />
						</Scope.EndPatternGroup>
					</Scope>
				</State.Scopes>
				<RegexPatternGroup Pattern="[^\n]+" />
			</State>
			<!-- PrimaryString state -->
			<State Id="5" Key="PrimaryString" DefaultTokenId="19" DefaultTokenKey="PrimaryStringText" DefaultClassificationTypeKey="String">
				<State.Scopes>
					<Scope>
						<Scope.StartPatternGroup>
							<ExplicitPatternGroup TokenId="20" TokenKey="PrimaryStringStartDelimiter" Pattern="&quot;" />
						</Scope.StartPatternGroup>
						<Scope.EndPatternGroup>
							<RegexPatternGroup TokenId="21" TokenKey="PrimaryStringEndDelimiter" Pattern="[\&quot;\n]" />
						</Scope.EndPatternGroup>
					</Scope>
				</State.Scopes>
				<RegexPatternGroup TokenId="19" TokenKey="PrimaryStringText" Pattern="[^\&quot;\n]+" />
			</State>
			<!-- AlternateString state -->
			<State Id="6" Key="AlternateString" DefaultTokenId="22" DefaultTokenKey="AlternateStringText" DefaultClassificationTypeKey="String">
				<State.Scopes>
					<Scope>
						<Scope.StartPatternGroup>
							<ExplicitPatternGroup TokenId="23" TokenKey="AlternateStringStartDelimiter" Pattern="'" />
						</Scope.StartPatternGroup>
						<Scope.EndPatternGroup>
							<RegexPatternGroup TokenId="24" TokenKey="AlternateStringEndDelimiter" Pattern="['\n]" />
						</Scope.EndPatternGroup>
					</Scope>
				</State.Scopes>
				<RegexPatternGroup TokenId="22" TokenKey="AlternateStringText" Pattern="[^'\n]+" />
			</State>
			<!-- SingleLineComment state -->
			<State Id="7" Key="SingleLineComment" DefaultTokenId="25" DefaultTokenKey="SingleLineCommentText" DefaultClassificationTypeKey="Comment">
				<State.Scopes>
					<Scope>
						<Scope.StartPatternGroup>
							<ExplicitPatternGroup TokenId="26" TokenKey="SingleLineCommentStartDelimiter" Pattern="&amp;&amp;" />
						</Scope.StartPatternGroup>
						<Scope.EndPatternGroup>
							<RegexPatternGroup TokenId="27" TokenKey="SingleLineCommentEndDelimiter" Pattern="\n" />
						</Scope.EndPatternGroup>
					</Scope>
					<Scope>
						<Scope.StartPatternGroup>
							<ExplicitPatternGroup TokenId="26" TokenKey="SingleLineCommentStartDelimiter" Pattern="..*" />
						</Scope.StartPatternGroup>
						<Scope.EndPatternGroup>
							<RegexPatternGroup TokenId="27" TokenKey="SingleLineCommentEndDelimiter" Pattern="\n" />
						</Scope.EndPatternGroup>
					</Scope>
					<Scope>
						<Scope.StartPatternGroup>
							<ExplicitPatternGroup TokenId="26" TokenKey="SingleLineCommentStartDelimiter" Pattern="*" />
						</Scope.StartPatternGroup>
						<Scope.EndPatternGroup>
							<RegexPatternGroup TokenId="27" TokenKey="SingleLineCommentEndDelimiter" Pattern="\n" />
						</Scope.EndPatternGroup>
					</Scope>
				</State.Scopes>
				<RegexPatternGroup TokenId="25" TokenKey="SingleLineCommentText" Pattern="[^\n]+" />
			</State>
		</DynamicLexer>
	</LanguageDefinition.Lexer>
	<!-- Example text -->
	<LanguageDefinition.ExampleText><![CDATA[
    *:DoStuff
procedure helloworld
lparameters lcText1, lcText2

?lcText1
?lcText2

endproc
  ]]></LanguageDefinition.ExampleText>
</LanguageDefinition>