Warning, /frameworks/syntax-highlighting/data/syntax/grammar.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language>
0003 <!--
0004   Syntax definition for kdev-pg/kdev-pg-qt grammars.
0005 -->
0006 <language name="KDev-PG[-Qt] Grammar" version="4" kateversion="5.79" section="Sources" extensions="*.g" casesensitive="1" author="Milian Wolff (mail@milianw.de), Jonathan Schmidt-Dominé (devel@the-user.org)" license="">
0007   <highlighting>
0008     <list name="macros">
0009       <item>ast_extra_members</item>
0010       <item>export_macro</item>
0011       <item>export_macro_header</item>
0012       <item>namespace</item>
0013       <item>parserclass</item>
0014       <item>token</item>
0015       <item>token_stream</item>
0016       <item>parser_declaration_header</item>
0017       <item>parser_bits_header</item>
0018       <item>ast_header</item>
0019       <item>ast_base</item>
0020       <item>parser_base</item>
0021       <item>bin</item>
0022       <item>pre</item>
0023       <item>post</item>
0024       <item>tern</item>
0025       <item>paren</item>
0026       <item>left</item>
0027       <item>right</item>
0028       <item>&lt;</item>
0029       <item>&gt;</item>
0030     </list>
0031     <list name="keywords">
0032       <item>try/rollback</item>
0033       <item>try/recover</item>
0034       <item>catch</item>
0035     </list>
0036     <list name="access">
0037       <item>public</item>
0038       <item>protected</item>
0039       <item>private</item>
0040     </list>
0041     <list name="locations">
0042       <item>declaration</item>
0043       <item>destructor</item>
0044       <item>constructor</item>
0045     </list>
0046     
0047     <contexts>
0048       <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
0049         <!-- keywords -->
0050         <DetectChar attribute="Keyword" context="Macros" char="%" firstNonSpace="true" />
0051         <keyword attribute="Keyword" context="#stay" String="keywords" />
0052         <keyword attribute="Access" context="#stay" String="access" />
0053         <keyword attribute="Location" context="#stay" String="locations" />
0054         <!-- numbers -->
0055         <Float attribute="Float" context="#stay" />
0056         <Int attribute="Decimal" context="#stay" />
0057         <!-- strings -->
0058         <DetectChar attribute="String" context="String" char="&quot;" />
0059         <!-- comments -->
0060         <Detect2Chars attribute="Comment" context="SingleLineComment" char="-" char1="-" />
0061         <!-- code segments -->
0062         <Detect2Chars attribute="Code Segment" context="CodeSegment" char="[" char1=":" beginRegion="code" />
0063         <!-- tokens are all-uppercase -->
0064         <RegExpr attribute="Token" insensitive="false" context="#stay" String="\b[A-Z_]+\b" />
0065         <!-- simple use of an ASTNode without assigning it -->
0066         <RegExpr attribute="AstNode" insensitive="true" context="#stay" String="\b[a-z]+\b(?!=)" />
0067         <!-- member=ASTNode -->
0068         <DetectChar attribute="Symbol" context="MemberAst" char="=" />
0069         <!-- -> ASTNode -->
0070         <Detect2Chars attribute="Symbol" context="AstDecl" char="-" char1=">" />
0071         <!-- symbols -->
0072         <AnyChar attribute="Symbol" context="#stay" String=";[()]->|=*#@:?" />
0073       </context>
0074       <!-- keywords -->
0075       <context name="Macros" attribute="Keyword" lineEndContext="#stay" fallthroughContext="#pop">
0076         <keyword attribute="Keyword" context="#stay" String="macros" />
0077         <Detect2Chars lookAhead="true" context="#pop" attribute="Normal Text" char="[" char1=":" />
0078         <Detect2Chars context="#pop" attribute="Keyword" char=";" char1=";" />
0079       </context>
0080       <!-- "string" -->
0081       <context name="String" attribute="String" lineEndContext="#stay">
0082         <HlCStringChar attribute="String Char" context="#stay" />
0083         <DetectChar attribute="String" context="#pop" char="&quot;" />
0084       </context>
0085       <!-- comments -->
0086       <context name="SingleLineComment" attribute="Comment" lineEndContext="#pop">
0087         <DetectSpaces />
0088         <IncludeRules context="##Comments" />
0089       </context>
0090       <!-- code segments -->
0091       <context name="CodeSegment" attribute="Code Segment" lineEndContext="#stay">
0092         <Detect2Chars attribute="Code Segment" context="#pop" char=":" char1="]" endRegion="code" />
0093         <IncludeRules context="##C++" />
0094       </context>
0095       <!-- memberVar=AstNode -->
0096       <context name="MemberAst" attribute="AstNode" lineEndContext="#pop">
0097         <DetectSpaces />
0098         <!-- tokens are all-uppercase -->
0099         <RegExpr attribute="Token" insensitive="false" context="#pop" String="\b[A-Z_]+\b" />
0100         <DetectIdentifier attribute="AstNode" context="#pop" />
0101       </context>
0102       <!-- -> AstNode -->
0103       <context name="AstDecl" attribute="Error" lineEndContext="#stay">
0104         <DetectSpaces attribute="Normal Text" />
0105         <DetectIdentifier attribute="AstNode" />
0106         <DetectChar char="[" attribute="Symbol" context="AstMemberDecl" />
0107         <Detect2Chars char=";" char1=";" attribute="Symbol" context="#pop" />
0108       </context>
0109       <!-- member or temporary variables -->
0110       <context name="AstMemberDecl" attribute="Normal Text" lineEndContext="#stay">
0111         <DetectSpaces />
0112         <RegExpr attribute="Keyword" String="\b(member|temporary)\s+variable\b" />
0113         <DetectIdentifier attribute="AstMember" />
0114         <DetectChar attribute="Symbol" char=":" context="AstMemberType" />
0115         <DetectChar attribute="Symbol" char="]" context="#pop" />
0116       </context>
0117       <context name="AstMemberType" attribute="Normal Text" lineEndContext="#stay">
0118         <DetectIdentifier attribute="AstMemberType" />
0119         <DetectChar attribute="Symbol" char=";" context="#pop" />
0120       </context>
0121     </contexts>
0122     <itemDatas>
0123       <itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
0124       <itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
0125       <itemData name="Access" defStyleNum="dsDataType" spellChecking="false" />
0126       <itemData name="Location" defStyleNum="dsOthers" spellChecking="false" />
0127       <itemData name="Decimal"  defStyleNum="dsDecVal" spellChecking="false" />
0128       <itemData name="Float"  defStyleNum="dsFloat" spellChecking="false" />
0129       <itemData name="String" defStyleNum="dsString" />
0130       <itemData name="String Char" defStyleNum="dsChar" spellChecking="false" />
0131       <itemData name="Comment" defStyleNum="dsComment" />
0132       <itemData name="Symbol" defStyleNum="dsOthers" />
0133       <itemData name="Code Segment" defStyleNum="dsFunction" />
0134       <itemData name="Token" defStyleNum="dsKeyword" spellChecking="false" />
0135       <itemData name="AstNode" defStyleNum="dsFunction" spellChecking="false" />
0136       <itemData name="Error" defStyleNum="dsError" spellChecking="false" />
0137       <itemData name="AstMember" defStyleNum="dsNormal" spellChecking="false" />
0138       <itemData name="AstMemberType" defStyleNum="dsDataType" spellChecking="false" />
0139     </itemDatas>
0140   </highlighting>
0141   <general>
0142     <comments>
0143       <comment name="singleLine" start="--" />
0144     </comments>
0145     <keywords casesensitive="true" weakDeliminator="/" />
0146   </general>
0147 </language>
0148 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->