<?xml version="1.0"?>
<!-- syntaxdefinition for PHP 2001 by Chad Smith & Mike Krueger -->

<SyntaxDefinition name ="PHP" extensions = ".php">
	
	<Digits name ="Digits" bold ="false" italic ="false" color ="DarkBlue"/>
	
	<RuleSets>
		<RuleSet ignorecase = "false">
			<Delimiters>~!%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
			
			<Span name ="PreprocessorDirectives" bold="false" italic = "false" color = "Green" stopateol ="true">
				<Begin>#</Begin>
			</Span>
			
			<Span name ="LINECOMMENT" rule = "DocumentSet" bold ="false" italic ="true" color ="SlateGray" stopateol ="true">
				<Begin>///</Begin>
			</Span>
			
			<Span name ="LINECOMMENT" rule = "TestSet" bold ="false" italic ="true" color ="SlateGray" stopateol ="true">
				<Begin>//@!/@</Begin>
			</Span>
			
			<Span name ="BLOCKCOMMENT" rule = "TestSet" bold ="false" italic ="true" color ="SlateGray" stopateol ="false">
				<Begin>/*</Begin>
				<End>*/</End>
			</Span>
			
			<Span name ="STRING" bold ="false" italic ="false" color ="Magenta" stopateol ="true" escapecharacter="\">
				<Begin>"</Begin>
				<End>"</End>
			</Span>
			
			<Span name ="MORELINEDSTRING" bold ="false" italic ="false" color ="Magenta" stopateol ="false" escapecharacter="\">
				<Begin>@@"</Begin>
				<End>"</End>
			</Span>
			
			<Span name ="CHAR" bold ="false" italic ="false" color ="Magenta" stopateol ="true" escapecharacter="\">
				<Begin>'</Begin>
				<End>'</End>
			</Span>
			
			<MarkPrevious bold ="true" italic ="false" color ="MidnightBlue">(</MarkPrevious>
			
			<KeyWords name ="Punctuation" bold ="false" italic ="false" color ="DarkGreen">
				<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 =  "*" />
				<Key word =  "&lt;" />
				<Key word =  "&gt;" />
				<Key word =  "^" />
				<Key word =  "!" />
				<Key word =  "|" />
			</KeyWords>
			
			<KeyWords name ="AccessKeywords" bold="true" italic = "false" color = "Black">
				<Key word =  "global" />
				<Key word =  "my" />
			</KeyWords>
			
			<KeyWords name ="OperatorKeywords" bold="true" italic = "false" color = "DarkCyan">
				<Key word =  "and" />
				<Key word =  "or" />
				<Key word =  "new" />
				<Key word =  "xor" />
				<Key word =  "true" />
				<Key word =  "false" />
			</KeyWords>
			
			
			<KeyWords name ="SelectionStatements" bold="true" italic = "false" color = "Blue">
				<Key word =  "else" />
				<Key word =  "if" />
				<Key word =  "switch" />
				<Key word =  "case" />
				<Key word =  "endif" />
				<Key word =  "elseif" />
			</KeyWords>
			
			<KeyWords name ="IterationStatements" bold="true" italic = "false" color = "Blue">
				<Key word =  "do" />
				<Key word =  "for" />
				<Key word =  "foreach" />
				<Key word =  "while" />
				<Key word =  "endwhile" />
				<Key word =  "exit" />
			</KeyWords>
			
			<KeyWords name ="JumpStatements" bold="false" italic = "false" color = "Navy">
				<Key word =  "break" />
				<Key word =  "continue" />
				<Key word =  "default" />
				<Key word =  "goto" />
				<Key word =  "return" />
			</KeyWords>
			
			<KeyWords name ="ExceptionHandlingStatements" bold="true" italic = "false" color = "Teal">
			<Key word =  "require" />
				<Key word =  "include" />
				<Key word =  "function" />
				<Key word =  "return" />
				<Key word =  "old_function" />
			</KeyWords>
			
			<KeyWords name ="ValueTypes" bold="true" italic = "false" color = "Red">
				<Key word =  "int" />
				<Key word =  "integer" />
				<Key word =  "real" />
				<Key word =  "double" />
				<Key word =  "float" />
				<Key word =  "string" />
				<Key word =  "array" />
				<Key word =  "object" />
			</KeyWords>
			
			<KeyWords name ="ReferenceTypes" bold="false" italic = "false" color = "Red">
				<Key word =  "class" />
				<Key word =  "new" />
			</KeyWords>
			
			<KeyWords name ="Void" bold="false" italic = "false" color = "Red">
				<Key word =  "void" />
			</KeyWords>
			
			<KeyWords name ="AccessModifiers" bold="true" italic = "false" color = "Blue">
				<Key word =  "public" />
				<Key word =  "private" />
			</KeyWords>
			
			<KeyWords name ="GetSet" bold="false" italic = "false" color = "SaddleBrown">
				<Key word =  "get" />
				<Key word =  "set" />
			</KeyWords>
			
			<KeyWords name ="Literals" bold="true" italic = "false" color = "Black">
				<Key word =  "null" />
				<Key word =  "value" />
			</KeyWords>
			
			<KeyWords name ="Statements" bold="true" italic = "false" color = "DarkBlue">
				<Key word =  "var" />
				<Key word =  "extends" />
				<Key word =  "list" />
				<Key word =  "each" />
				<Key word =  "PHP_SELF" />
			</KeyWords>
		</RuleSet>
			
		<RuleSet name ="TestSet" ignorecase = "true">
			<Delimiters>~!@%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
			<KeyWords name ="Testword" bold="true" italic = "true" color = "Red">
				<Key word =  "TODO" />
			</KeyWords>
		</RuleSet>
		
		<RuleSet name ="DocumentSet" ignorecase = "false">
			<Delimiters>~!@%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
			
			<Span name ="XMLTAG" rule = "XMLDocuSet" bold ="false" italic ="true" color ="Gray" stopateol ="true">
				<Begin>&lt;</Begin>
				<End>&gt;</End>
			</Span>
			
			<KeyWords name ="Testword" bold="true" italic = "true" color = "Red">
				<Key word =  "TODO" />
			</KeyWords>
		</RuleSet>
		
		<RuleSet name ="XMLDocuSet" ignorecase = "false">
			<Delimiters>~!@%^*()-+=|\#/{}[]:;"'&lt;&gt; , .?</Delimiters>
		
			<Span name ="STRING" bold ="true" italic ="true" color ="Silver" stopateol ="true">
				<Begin>"</Begin>
				<End>"</End>
			</Span>
		
		
			<KeyWords name ="Punctuation" bold ="true" italic ="true" color ="Gray">
				<Key word =  "/" />
				<Key word =  "|" />
				<Key word =  "=" />
			</KeyWords>
		</RuleSet>
	</RuleSets>
</SyntaxDefinition>

