<?xml version="1.0"?>

<!-- syntaxdefinition for Pascal 2003 by sysu@CCF -->

<SyntaxDefinition name = "Delphi/Kylix" extensions = ".pas">

	<Environment>
		<Default      color = "SystemColors.WindowText"    bgcolor = "SystemColors.Window"/>
		<Selection    color = "SystemColors.HighlightText" bgcolor = "SystemColors.Highlight"/>
		<VRuler       color = "SystemColors.ControlLight"/>
		<InvalidLines color = "Red"/>
		<CaretMarker  color = "Yellow"/>

		<LineNumbers  color = "SystemColors.ControlDark" bgcolor = "SystemColors.Window"/>

		<FoldLine     color = "#808080" bgcolor="Black"/>
		<FoldMarker   color = "#808080" bgcolor="White"/>

		<EOLMarkers   color = "#E0E0E5"/>
		<SpaceMarkers color = "#E0E0E5"/>
		<TabMarkers   color = "#E0E0E5"/>
	</Environment>

	<Properties>
		<Property name="LineComment" value="//"/>
	</Properties>

	<Digits name = "Digits" bold = "false" italic = "false" color = "Red"/>

	<RuleSets>
		<RuleSet ignorecase = "true">

			<Delimiters>+-*/=&lt;&gt;[].,():^@{}$%#;</Delimiters>

			<Span name = "LINECOMMENT" bold = "false" italic = "true" color = "Green" stopateol = "true">
				<Begin>//</Begin>
			</Span>

			<Span name = "BLOCKCOMMENT" bold = "false" italic = "true" color = "Green" stopateol = "false">
				<Begin>{</Begin>
				<End>}</End>
			</Span>

			<Span name = "BLOCKCOMMENT" bold = "false" italic = "true" color = "Green" stopateol = "false">
				<Begin>(*</Begin>
				<End>*)</End>
			</Span>

			<Span name = "STRING" bold = "false" italic = "false" color = "Magenta" stopateol = "true">
				<Begin>'</Begin>
				<End>'</End>
			</Span>

			<KeyWords name = "Punctuation" bold = "false" italic = "false" color = "DarkBlue">
				<Key word = "+" />
				<Key word = "-" />
				<Key word = "*" />
				<Key word = "/" />
				<Key word = "=" />
				<Key word = "&lt;" />
				<Key word = "&gt;" />
				<Key word = "[" />
				<Key word = "]" />
				<Key word = "." />
				<Key word = "," />
				<Key word = "(" />
				<Key word = ")" />
				<Key word = ":" />
				<Key word = "^" />
				<Key word = "@" />
				<Key word = "{" />
				<Key word = "}" />
				<Key word = "$" />
				<Key word = "%" />
				<Key word = ";" />
			</KeyWords>

			<KeyWords name = "Punctuation" bold = "false" italic = "false" color = "Magenta">
				<Key word = "#" />
			</KeyWords>

			<KeyWords name = "Punctuation" bold = "false" italic = "false" color = "Red">
				<Key word = "$" />
			</KeyWords>

			<KeyWords name = "ReservedKeywords" bold="true" italic="false" color="Blue">
				<Key word = "absolute" />
				<Key word = "abstract" />
				<Key word = "and" />
				<Key word = "array" />
				<Key word = "as" />
				<Key word = "asm" />
				<Key word = "at" />
				<Key word = "automated" />
				<Key word = "begin" />
				<Key word = "case" />
				<Key word = "cdecl" />
				<Key word = "class" />
				<Key word = "const" />
				<Key word = "constructor" />
				<Key word = "default" />
				<Key word = "deprecated" />
				<Key word = "destructor" />
				<Key word = "dispinterface" />
				<Key word = "div" />
				<Key word = "do" />
				<Key word = "downto" />
				<Key word = "dynamic" />
				<Key word = "else" />
				<Key word = "end" />
				<Key word = "except" />
				<Key word = "export" />
				<Key word = "exports" />
				<Key word = "far" />
				<Key word = "finalization" />
				<Key word = "finally" />
				<Key word = "for" />
				<Key word = "function" />
				<Key word = "goto" />
				<Key word = "if" />
				<Key word = "implementation" />
				<Key word = "in" />
				<Key word = "inherited" />
				<Key word = "initialization" />
				<Key word = "inline" />
				<Key word = "interface" />
				<Key word = "is" />
				<Key word = "label" />
				<Key word = "library" />
				<Key word = "message" />
				<Key word = "mod" />
				<Key word = "near" />
				<Key word = "nil" />
				<Key word = "nodefault" />
				<Key word = "not" />
				<Key word = "object" />
				<Key word = "of" />
				<Key word = "on" />
				<Key word = "or" />
				<Key word = "out" />
				<Key word = "overload" />
				<Key word = "packed" />
				<Key word = "pascal" />
				<Key word = "platform" />
				<Key word = "private" />
				<Key word = "procedure" />
				<Key word = "program" />
				<Key word = "property" />
				<Key word = "protected" />
				<Key word = "public" />
				<Key word = "published" />
				<Key word = "raise" />
				<Key word = "read" />
				<Key word = "record" />
				<Key word = "register" />
				<Key word = "repeat" />
				<Key word = "resourcestring" />
				<Key word = "safecall" />
				<Key word = "set" />
				<Key word = "shl" />
				<Key word = "shr" />
				<Key word = "stdcall" />
				<Key word = "stored" />
				<Key word = "string" />
				<Key word = "then" />
				<Key word = "threadvar" />
				<Key word = "to" />
				<Key word = "try" />
				<Key word = "type" />
				<Key word = "unit" />
				<Key word = "until" />
				<Key word = "uses" />
				<Key word = "var" />
				<Key word = "while" />
				<Key word = "virtual" />
				<Key word = "with" />
				<Key word = "write" />
				<Key word = "xor" />
			</KeyWords>

			<KeyWords name = "FreePascalReservedKeywords" bold="true" italic="false" color="DarkBlue">
				<Key word = "dispose" />
				<Key word = "exit" />
				<Key word = "false" />
				<Key word = "new" />
				<Key word = "true" />
			</KeyWords>

			<KeyWords name = "FuncProcKeywords" bold="false" italic="false" color="Brown">
				<Key word = "Append" />
				<Key word = "Assign" />
				<Key word = "Blockread" />
				<Key word = "Blockwrite" />
				<Key word = "Close" />
				<Key word = "Eof" />
				<Key word = "Eoln" />
				<Key word = "Erase" />
				<Key word = "Filepos" />
				<Key word = "Filesize" />
				<Key word = "Flush" />
				<Key word = "IOresult" />
				<Key word = "Read" />
				<Key word = "Readln" />
				<Key word = "Rename" />
				<Key word = "Reset" />
				<Key word = "Rewrite" />
				<Key word = "Seek" />
				<Key word = "SeekEof" />
				<Key word = "SeekEoln" />
				<Key word = "SetTextBuf" />
				<Key word = "Truncate" />
				<Key word = "Write" />
				<Key word = "WriteLn" />
				<Key word = "Addr" />
				<Key word = "Assigned" />
				<Key word = "CompareByte" />
				<Key word = "CompareChar" />
				<Key word = "CompareDWord" />
				<Key word = "CompareWord" />
				<Key word = "CSeg" />
				<Key word = "DSeg" />
				<Key word = "FillByte" />
				<Key word = "Fillchar" />
				<Key word = "FillDWord" />
				<Key word = "Fillword" />
				<Key word = "Freemem" />
				<Key word = "Getmem" />
				<Key word = "GetMemoryManager" />
				<Key word = "High" />
				<Key word = "IsMemoryManagerSet" />
				<Key word = "Low" />
				<Key word = "Mark" />
				<Key word = "Maxavail" />
				<Key word = "Memavail" />
				<Key word = "Move" />
				<Key word = "MoveCharNull" />
				<Key word = "Ofs" />
				<Key word = "Ptr" />
				<Key word = "Release" />
				<Key word = "Seg" />
				<Key word = "SetMemoryManager" />
				<Key word = "Sptr" />
				<Key word = "SSeg" />
				<Key word = "Abs" />
				<Key word = "Arctan" />
				<Key word = "Cos" />
				<Key word = "Dec" />
				<Key word = "Exp" />
				<Key word = "Frac" />
				<Key word = "Hi" />
				<Key word = "Inc" />
				<Key word = "Int" />
				<Key word = "Ln" />
				<Key word = "Lo" />
				<Key word = "Odd" />
				<Key word = "Pi" />
				<Key word = "Power" />
				<Key word = "Random" />
				<Key word = "Randomize" />
				<Key word = "Round" />
				<Key word = "Sin" />
				<Key word = "Sqr" />
				<Key word = "Sqrt" />
				<Key word = "Swap" />
				<Key word = "Trunc" />
				<Key word = "BinStr" />
				<Key word = "Chr" />
				<Key word = "Concat" />
				<Key word = "Copy" />
				<Key word = "Delete" />
				<Key word = "HexStr" />
				<Key word = "Insert" />
				<Key word = "Length" />
				<Key word = "Lowercase" />
				<Key word = "Pos" />
				<Key word = "SetLength" />
				<Key word = "Str" />
				<Key word = "StringOfChar" />
				<Key word = "Upcase" />
				<Key word = "Val" />
				<Key word = "Chdir" />
				<Key word = "Getdir" />
				<Key word = "Halt" />
				<Key word = "Paramcount" />
				<Key word = "Paramstr" />
				<Key word = "Mkdir" />
				<Key word = "Rmdir" />
				<Key word = "Runerror" />
				<Key word = "Break" />
				<Key word = "Continue" />
				<Key word = "LongJmp" />
				<Key word = "Ord" />
				<Key word = "Pred" />
				<Key word = "SetJmp" />
				<Key word = "SizeOf" />
				<Key word = "Succ" />
			</KeyWords>

			<KeyWords name = "ValueTypes" bold="true" italic="false" color="Black">
				<Key word = "bool" />
				<Key word = "boolean" />
				<Key word = "byte" />
				<Key word = "cardinal" />
				<Key word = "char" />
				<Key word = "comp" />
				<Key word = "double" />
				<Key word = "extended" />
				<Key word = "file" />
				<Key word = "int64" />
				<Key word = "integer" />
				<Key word = "longbool" />
				<Key word = "longint" />
				<Key word = "longword" />
				<Key word = "pchar" />
				<Key word = "pointer" />
				<Key word = "real" />
				<Key word = "shortbool" />
				<Key word = "shortint" />
				<Key word = "single" />
				<Key word = "smallint" />
				<Key word = "word" />
				<Key word = "wordbool" />
			</KeyWords>
		</RuleSet>
	</RuleSets>

</SyntaxDefinition>
