Warning, /frameworks/syntax-highlighting/autotests/reference/highlight.do.ref is written in an unsupported language. File is not indexed.
0001 <Comment>/* Test file for kate's stata syntax highlighting</Comment><br/> 0002 <Comment>*/</Comment><br/> 0003 <Normal Text>*! </Normal Text><Mata>version</Mata><Normal Text> 1.2.0 2mar2003 E. Leuven</Normal Text><br/> 0004 <Keyword>program</Keyword><Normal Text> </Normal Text><Keyword>define</Keyword><Normal Text> spellsplit</Normal Text><br/> 0005 <Normal Text> </Normal Text><Mata>version</Mata><Normal Text> 7</Normal Text><br/> 0006 <Normal Text> </Normal Text><Keyword>syntax</Keyword><Normal Text> [anything], spell(</Normal Text><Keyword>varlist</Keyword><Normal Text> </Normal Text><Functions>min</Functions><Normal Text>=2 </Normal Text><Functions>max</Functions><Normal Text>=2) [ </Normal Text><Keyword>by</Keyword><Normal Text>(</Normal Text><Keyword>varlist</Keyword><Normal Text>)]</Normal Text><br/> 0007 <Normal Text> </Normal Text><Keyword>tokenize</Keyword><Normal Text> </Normal Text><Macro>`spell'</Macro><br/> 0008 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> date0 </Normal Text><Macro>`1'</Macro><br/> 0009 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> date1 </Normal Text><Macro>`2'</Macro><br/> 0010 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> f0 : </Normal Text><Keyword>format</Keyword><Normal Text> </Normal Text><Macro>`date0'</Macro><br/> 0011 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> f1 : </Normal Text><Keyword>format</Keyword><Normal Text> </Normal Text><Macro>`date1'</Macro><br/> 0012 <Normal Text></Normal Text><br/> 0013 <Normal Text> </Normal Text><Comment>/* set default statistic */</Comment><br/> 0014 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> current </Normal Text><String>"mean"</String><br/> 0015 <Normal Text></Normal Text><br/> 0016 <Normal Text> gettoken left anything : anything, </Normal Text><Functions>match</Functions><Normal Text>(prns)</Normal Text><br/> 0017 <Normal Text> </Normal Text><Keyword>while</Keyword><Normal Text> </Normal Text><String>"`left'"</String><Normal Text>!=</Normal Text><String>""</String><Normal Text> {</Normal Text><br/> 0018 <Normal Text> </Normal Text><Keyword>if</Keyword><Normal Text> </Normal Text><String>"`prns'"</String><Normal Text>!=</Normal Text><String>""</String><Normal Text> {</Normal Text><br/> 0019 <Normal Text> </Normal Text><Keyword>if</Keyword><Normal Text> !</Normal Text><Functions>inlist</Functions><Normal Text>(</Normal Text><String>"`left'"</String><Normal Text>,</Normal Text><String>"mean"</String><Normal Text>,</Normal Text><String>"sum"</String><Normal Text>) {</Normal Text><br/> 0020 <Normal Text> </Normal Text><Keyword>di</Keyword><Normal Text> </Normal Text><Keyword>as</Keyword><Normal Text> </Normal Text><Keyword>error</Keyword><Normal Text> </Normal Text><String>"Statistic `left' not supported"</String><br/> 0021 <Normal Text> </Normal Text><Keyword>exit</Keyword><Normal Text> 198</Normal Text><br/> 0022 <Normal Text> }</Normal Text><br/> 0023 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> current </Normal Text><String>"`left'"</String><br/> 0024 <Normal Text> }</Normal Text><br/> 0025 <Normal Text> </Normal Text><Keyword>else</Keyword><Normal Text> {</Normal Text><br/> 0026 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> </Normal Text><Macro>`current'</Macro><Normal Text>vars </Normal Text><Macro>``current'</Macro><Normal Text>vars' </Normal Text><Macro>`left'</Macro><br/> 0027 <Normal Text> }</Normal Text><br/> 0028 <Normal Text> gettoken left anything : anything, </Normal Text><Functions>match</Functions><Normal Text>(prns)</Normal Text><br/> 0029 <Normal Text> }</Normal Text><br/> 0030 <Normal Text> </Normal Text><Keyword>if</Keyword><Normal Text> (</Normal Text><String>"`meanvars'"</String><Normal Text>!=</Normal Text><String>""</String><Normal Text>) {</Normal Text><br/> 0031 <Normal Text> </Normal Text><Keyword>confirm</Keyword><Normal Text> </Normal Text><Keyword>var</Keyword><Normal Text> </Normal Text><Macro>`meanvars'</Macro><br/> 0032 <Normal Text> </Normal Text><Keyword>unab</Keyword><Normal Text> meanvars : </Normal Text><Macro>`meanvars'</Macro><br/> 0033 <Normal Text> }</Normal Text><br/> 0034 <Normal Text> </Normal Text><Keyword>if</Keyword><Normal Text> (</Normal Text><String>"`sumvars'"</String><Normal Text>!=</Normal Text><String>""</String><Normal Text>) {</Normal Text><br/> 0035 <Normal Text> </Normal Text><Keyword>confirm</Keyword><Normal Text> </Normal Text><Keyword>var</Keyword><Normal Text> </Normal Text><Macro>`sumvars'</Macro><br/> 0036 <Normal Text> </Normal Text><Keyword>unab</Keyword><Normal Text> sumvars : </Normal Text><Macro>`sumvars'</Macro><br/> 0037 <Normal Text> }</Normal Text><br/> 0038 <Normal Text></Normal Text><br/> 0039 <Normal Text> </Normal Text><Keyword>quietly</Keyword><Normal Text> {</Normal Text><br/> 0040 <Normal Text> g _count = 1</Normal Text><br/> 0041 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> xvars </Normal Text><Macro>`meanvars'</Macro><Normal Text> </Normal Text><Macro>`sumvars'</Macro><Normal Text> _count</Normal Text><br/> 0042 <Normal Text></Normal Text><br/> 0043 <Normal Text> </Normal Text><Comment>/* create dummy by-var if no by option is specified */</Comment><br/> 0044 <Normal Text> </Normal Text><Keyword>if</Keyword><Normal Text> </Normal Text><String>"`by'"</String><Normal Text>==</Normal Text><String>""</String><Normal Text> {</Normal Text><br/> 0045 <Normal Text> </Normal Text><Keyword>tempvar</Keyword><Normal Text> </Normal Text><Keyword>by</Keyword><br/> 0046 <Normal Text> g </Normal Text><Keyword>byte</Keyword><Normal Text> </Normal Text><Macro>`by'</Macro><Normal Text> = 1</Normal Text><br/> 0047 <Normal Text> }</Normal Text><br/> 0048 <Normal Text> </Normal Text><Keyword>tempvar</Keyword><Normal Text> </Normal Text><Macro>`xvars'</Macro><Normal Text> </Normal Text><Macro>`by'</Macro><br/> 0049 <Normal Text></Normal Text><br/> 0050 <Normal Text> </Normal Text><Comment>/* create negative for subtraction when spell ends */</Comment><br/> 0051 <Normal Text> cap </Normal Text><Keyword>foreach</Keyword><Normal Text> v </Normal Text><Keyword>of</Keyword><Normal Text> </Normal Text><Keyword>varlist</Keyword><Normal Text> </Normal Text><Macro>`xvars'</Macro><Normal Text> {</Normal Text><br/> 0052 <Normal Text> g </Normal Text><Keyword>double</Keyword><Normal Text> </Normal Text><Macro>``v'</Macro><Normal Text>' = -</Normal Text><Macro>`v'</Macro><br/> 0053 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> txvars </Normal Text><Macro>`txvars'</Macro><Normal Text> </Normal Text><Macro>``v'</Macro><Normal Text>'</Normal Text><br/> 0054 <Normal Text> }</Normal Text><br/> 0055 <Normal Text> cap </Normal Text><Keyword>foreach</Keyword><Normal Text> v </Normal Text><Keyword>of</Keyword><Normal Text> </Normal Text><Keyword>varlist</Keyword><Normal Text> </Normal Text><Macro>`by'</Macro><Normal Text> {</Normal Text><br/> 0056 <Normal Text> g </Normal Text><Keyword>double</Keyword><Normal Text> </Normal Text><Macro>``v'</Macro><Normal Text>' = </Normal Text><Macro>`v'</Macro><br/> 0057 <Normal Text> </Normal Text><Keyword>local</Keyword><Normal Text> txvars </Normal Text><Macro>`txvars'</Macro><Normal Text> </Normal Text><Macro>``v'</Macro><Normal Text>'</Normal Text><br/> 0058 <Normal Text> }</Normal Text><br/> 0059 <Normal Text></Normal Text><br/> 0060 <Normal Text> </Normal Text><Keyword>stack</Keyword><Normal Text> </Normal Text><Macro>`date0'</Macro><Normal Text> </Normal Text><Macro>`xvars'</Macro><Normal Text> </Normal Text><Macro>`by'</Macro><Normal Text> </Normal Text><Macro>`date1'</Macro><Normal Text> </Normal Text><Macro>`txvars'</Macro><Normal Text>, into(</Normal Text><Macro>`date0'</Macro><Normal Text> </Normal Text><Macro>`xvars'</Macro><Normal Text> </Normal Text><Macro>`by'</Macro><Normal Text>) </Normal Text><Keyword>clear</Keyword><br/> 0061 <Normal Text></Normal Text><br/> 0062 <Normal Text> </Normal Text><Comment>/* calculate totals per date */</Comment><br/> 0063 <Normal Text> cap </Normal Text><Keyword>foreach</Keyword><Normal Text> v </Normal Text><Keyword>of</Keyword><Normal Text> </Normal Text><Keyword>varlist</Keyword><Normal Text> </Normal Text><Macro>`xvars'</Macro><Normal Text> {</Normal Text><br/> 0064 <Normal Text> </Normal Text><Keyword>egen</Keyword><Normal Text> </Normal Text><Keyword>double</Keyword><Normal Text> </Normal Text><Macro>``v'</Macro><Normal Text>' = </Normal Text><Keyword>sum</Keyword><Normal Text>(</Normal Text><Macro>`v'</Macro><Normal Text>), </Normal Text><Keyword>by</Keyword><Normal Text>(</Normal Text><Macro>`by'</Macro><Normal Text> </Normal Text><Macro>`date0'</Macro><Normal Text>)</Normal Text><br/> 0065 <Normal Text> }</Normal Text><br/> 0066 <Normal Text></Normal Text><br/> 0067 <Normal Text> </Normal Text><Comment>/* unique dates only */</Comment><br/> 0068 <Normal Text> </Normal Text><Keyword>by</Keyword><Normal Text> </Normal Text><Macro>`by'</Macro><Normal Text> </Normal Text><Macro>`date0'</Macro><Normal Text>, </Normal Text><Keyword>sort</Keyword><Normal Text>: </Normal Text><Keyword>keep</Keyword><Normal Text> </Normal Text><Keyword>if</Keyword><Normal Text> </Normal Text><Constants>_n</Constants><Normal Text>==1</Normal Text><br/> 0069 <Normal Text></Normal Text><br/> 0070 <Normal Text> </Normal Text><Comment>/* calculate totals (+ when spell starts - when ends) */</Comment><br/> 0071 <Normal Text> </Normal Text><Keyword>sort</Keyword><Normal Text> </Normal Text><Macro>`by'</Macro><br/> 0072 <Normal Text> cap </Normal Text><Keyword>foreach</Keyword><Normal Text> v </Normal Text><Keyword>of</Keyword><Normal Text> </Normal Text><Keyword>varlist</Keyword><Normal Text> </Normal Text><Macro>`xvars'</Macro><Normal Text> {</Normal Text><br/> 0073 <Normal Text> </Normal Text><Keyword>by</Keyword><Normal Text> </Normal Text><Macro>`by'</Macro><Normal Text>: </Normal Text><Keyword>replace</Keyword><Normal Text> </Normal Text><Macro>`v'</Macro><Normal Text> = </Normal Text><Keyword>sum</Keyword><Normal Text>(</Normal Text><Macro>``v'</Macro><Normal Text>')</Normal Text><br/> 0074 <Normal Text> }</Normal Text><br/> 0075 <Normal Text> </Normal Text><Keyword>by</Keyword><Normal Text> </Normal Text><Macro>`by'</Macro><Normal Text>: g </Normal Text><Macro>`date1'</Macro><Normal Text> = </Normal Text><Macro>`date0'</Macro><Normal Text>[</Normal Text><Constants>_n</Constants><Normal Text> + 1]</Normal Text><br/> 0076 <Normal Text></Normal Text><br/> 0077 <Normal Text> </Normal Text><Keyword>drop</Keyword><Normal Text> </Normal Text><Keyword>if</Keyword><Normal Text> </Normal Text><Macro>`date0'</Macro><Normal Text>></Normal Text><Macro>`date1'</Macro><br/> 0078 <Normal Text> </Normal Text><Keyword>drop</Keyword><Normal Text> _stack</Normal Text><br/> 0079 <Normal Text> </Normal Text><Keyword>drop</Keyword><Normal Text> </Normal Text><Keyword>if</Keyword><Normal Text> _count==0</Normal Text><br/> 0080 <Normal Text> </Normal Text><Keyword>order</Keyword><Normal Text> </Normal Text><Macro>`by'</Macro><Normal Text> </Normal Text><Macro>`date0'</Macro><Normal Text> </Normal Text><Macro>`date1'</Macro><Normal Text> </Normal Text><Macro>`xvars'</Macro><br/> 0081 <Normal Text> </Normal Text><Keyword>format</Keyword><Normal Text> </Normal Text><Macro>`date0'</Macro><Normal Text> </Normal Text><Macro>`f0'</Macro><br/> 0082 <Normal Text> </Normal Text><Keyword>format</Keyword><Normal Text> </Normal Text><Macro>`date1'</Macro><Normal Text> </Normal Text><Macro>`f1'</Macro><br/> 0083 <Normal Text></Normal Text><br/> 0084 <Normal Text> cap </Normal Text><Keyword>for</Keyword><Normal Text> </Normal Text><Keyword>var</Keyword><Normal Text> </Normal Text><Macro>`meanvars'</Macro><Normal Text>: </Normal Text><Keyword>replace</Keyword><Normal Text> X = X/_count</Normal Text><br/> 0085 <Normal Text></Normal Text><br/> 0086 <Normal Text> </Normal Text><Keyword>compress</Keyword><br/> 0087 <Normal Text> }</Normal Text><br/> 0088 <Normal Text></Normal Text><br/> 0089 <Keyword>end</Keyword><br/>