<?xml version="1.0"?>
<!-- syntaxdefinition for C/C++ 2001 by Andrea Paatz and Mike Krueger -->

<SyntaxDefinition name = "c1-lang" extensions = ".c;.h;.cc;.C;.cpp;.hpp">
	
	<Properties>
		<Property name="LineComment" value="//"/>
	</Properties>
	
	<Digits name = "Digits" bold = "false" italic = "false" color = "DarkBlue"/>
	
	<RuleSets>
		<RuleSet ignorecase = "false">
			<Delimiters>~!%^*()-+=|\/{}[]:;"'&lt;&gt; , .?</Delimiters>
		
			
			<Span name = "LineComment" bold = "false" italic = "false" color = "Green" stopateol = "true">
				<Begin>//</Begin>
			</Span>
			
			<Span name = "BlockComment" bold = "false" italic = "false" color = "Green" stopateol = "false">
				<Begin>/*</Begin>
				<End>*/</End>
			</Span>
			
			<Span name = "String" bold = "false" italic = "false" color = "Red" stopateol = "true" escapecharacter="\">
				<Begin>"</Begin>
				<End>"</End>
			</Span>
			
			<Span name = "Char" bold = "false" italic = "false" color = "Magenta" stopateol = "true" escapecharacter="\">
				<Begin>&apos;</Begin>
				<End>&apos;</End>
			</Span>
			
			<MarkPrevious bold = "false" 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 = "*" />
				<Key word = "&lt;" />
				<Key word = "&gt;" />
				<Key word = "^" />
				<Key word = "=" />
				<Key word = "~" />
				<Key word = "!" />
				<Key word = "|" />
				<Key word = "&amp;" />
			</KeyWords>
			
			<KeyWords name = "MacroWords" bold="false" italic="false" color="Blue">
				<Key word = "#define" />
				<Key word = "#if" />
				<Key word = "#else" />
				<Key word = "#ifdef" />
				<Key word = "#ifndef" />
				<Key word = "#elif" />
				<Key word = "#endif" />				
				<Key word = "#include" />
				<Key word = "define" />
				<Key word = "ifdef" />
				<Key word = "ifndef" />
				<Key word = "elif" />
				<Key word = "endif" />				
				<Key word = "include" />
				<Key word = "asm" />
				<Key word = "#asm" />	
				<Key word = "endasm" />
				<Key word = "#endasm" />					
			</KeyWords>
			
			
			<KeyWords name = "AccessModifiers" bold="false" italic="false" color="Blue">		
				<Key word = "const" />
				<Key word = "volatile" />				
				<Key word = "static" />
			</KeyWords>
			
			<KeyWords name = "Types" bold="false" italic="false" color="Blue">
				<Key word = "bool" />
				<Key word = "char" />
				<Key word = "unsigned" />
				<Key word = "union" />
				<Key word = "virtual" />
				<Key word = "double" />
				<Key word = "float" />
				<Key word = "short" />
				<Key word = "signed" />
				<Key word = "void" />
				<Key word = "class" />
				
				<Key word = "enum" />
				<Key word = "struct" />	
				<Key word = "bit" />
			</KeyWords>
			
			<KeyWords name = "Literals" bold="false" italic="false" color="Blue">
				<Key word = "false" />
				<Key word = "true" />
			</KeyWords>
			
			<KeyWords name = "IterationStatements" bold="false" italic="false" color="Blue">
				<Key word = "do" />
				<Key word = "for" />
				<Key word = "while" />
			</KeyWords>
			
			<KeyWords name = "JumpStatements" bold="false" italic="false" color="Blue">
				<Key word = "break" />
				<Key word = "continue" />
				<Key word = "goto" />
				<Key word = "return" />
			</KeyWords>
			
			<KeyWords name = "ExceptionHandlingStatements" bold="false" italic="false" color="Blue">
				<Key word = "catch" />
				<Key word = "throw" />
				<Key word = "try" />
			</KeyWords>
			
			<KeyWords name = "SelectionStatements" bold="false" italic="false" color="Blue">
				<Key word = "case" />
				<Key word = "else" />
				<Key word = "if" />
				<Key word = "switch" />
				<Key word = "default" />
			</KeyWords>
			
			<KeyWords name = "KEYWORD1" bold="false" italic="false" color="Blue">
				<Key word = "asm" />
				<Key word = "auto" />
				<Key word = "compl" />
				<Key word = "mutable" />
				<Key word = "const_cast" />
				<Key word = "delete" />
				<Key word = "dynamic_cast" />
				<Key word = "explicit" />
				<Key word = "export" />
				<Key word = "extern" />
				<Key word = "inline" />
				<Key word = "int" />
				<Key word = "long" />
				<Key word = "operator" />
				<Key word = "register" />
				<Key word = "reinterpret_cast" />
				<Key word = "sizeof" />
				<Key word = "static_cast" />
				<Key word = "template" />
				<Key word = "typedef" />
				<Key word = "typeid" />
				<Key word = "typename" />								
			</KeyWords>
		</RuleSet>
	</RuleSets>
</SyntaxDefinition>

