Last active
May 13, 2018 16:00
-
-
Save wallneradam/94f912a016975df9a978b94a4b4d6079 to your computer and use it in GitHub Desktop.
Broadcom QPU assembler language specification file for GtkSourceView (gedit)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<language id="qasm" _name="Assembler (Broadcom QPU)" version="2.0" _section="Sources"> | |
<metadata> | |
<property name="mimetypes">text/x-qasm;application/x-qinc</property> | |
<property name="globs">*.qasm;*.qinc</property> | |
<property name="line-comment-start">#</property> | |
</metadata> | |
<styles> | |
<style id="comment" _name="Comment" map-to="def:comment" /> | |
<style id="keyword" _name="Keyword" map-to="def:keyword" /> | |
<style id="operator" _name="Operator" map-to="def:operator" /> | |
<style id="register" _name="Register" map-to="def:type" /> | |
<style id="directive" _name="Directive" map-to="def:identifier" /> | |
<style id="macro" _name="Macro" map-to="def:preprocessor" /> | |
<style id="string" _name="String" map-to="def:string"/> | |
<style id="label" _name="Label" map-to="def:identifier" /> | |
<style id="float" _name="Floating Point" map-to="def:floating-point" /> | |
<style id="decimal" _name="Decimal" map-to="def:decimal" /> | |
<style id="number" _name="Number" map-to="def:number" /> | |
<style id="alu-separator" _name="ALU Separator" map-to="def:special-char" /> | |
<style id="modifier" _name="Modifier" map-to="def:keyword" /> | |
<style id="pack-unpack" _name="Pack-Unpack" map-to="def:type" /> | |
</styles> | |
<definitions> | |
<context id="line-comment" style-ref="comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check"> | |
<start>#</start> | |
</context> | |
<context id="instructions" style-ref="keyword"> | |
<keyword>add</keyword> | |
<keyword>sub</keyword> | |
<keyword>min</keyword> | |
<keyword>max</keyword> | |
<keyword>and</keyword> | |
<keyword>or</keyword> | |
<keyword>xor</keyword> | |
<keyword>shl</keyword> | |
<keyword>shr</keyword> | |
<keyword>asr</keyword> | |
<keyword>ror</keyword> | |
<keyword>not</keyword> | |
<keyword>clz</keyword> | |
<keyword>mul24</keyword> | |
<keyword>fadd</keyword> | |
<keyword>fsub</keyword> | |
<keyword>fmin</keyword> | |
<keyword>fmax</keyword> | |
<keyword>fminabs</keyword> | |
<keyword>fmaxabs</keyword> | |
<keyword>fmul</keyword> | |
<keyword>itof</keyword> | |
<keyword>ftoi</keyword> | |
<keyword>v8adds</keyword> | |
<keyword>v8subs</keyword> | |
<keyword>v8min</keyword> | |
<keyword>v8max</keyword> | |
<keyword>v8muld</keyword> | |
<keyword>mov</keyword> | |
<keyword>ldi</keyword> | |
<keyword>nop</keyword> | |
<keyword>anop</keyword> | |
<keyword>mnop</keyword> | |
<keyword>read</keyword> | |
<keyword>sacq</keyword> | |
<keyword>srel</keyword> | |
<keyword>bra</keyword> | |
<keyword>brr</keyword> | |
<keyword>bra</keyword> | |
<keyword>bkpt</keyword> | |
<keyword>thrsw</keyword> | |
<keyword>thrend</keyword> | |
<keyword>sbwait</keyword> | |
<keyword>sbdone</keyword> | |
<keyword>lthrsw</keyword> | |
<keyword>loadcv</keyword> | |
<keyword>loadc</keyword> | |
<keyword>ldcend</keyword> | |
<keyword>ldtmu0</keyword> | |
<keyword>ldtmu1</keyword> | |
<keyword>loadam</keyword> | |
</context> | |
<context id="instruction-modifiers" style-ref="modifier"> | |
<prefix>[.]</prefix> | |
<keyword>setf</keyword> | |
<keyword>sf</keyword> | |
<keyword>ifnz</keyword> | |
<keyword>nz</keyword> | |
<keyword>ifzc</keyword> | |
<keyword>zc</keyword> | |
<keyword>ifz</keyword> | |
<keyword>z</keyword> | |
<keyword>ifzs</keyword> | |
<keyword>zs</keyword> | |
<keyword>ifnn</keyword> | |
<keyword>nn</keyword> | |
<keyword>ifnc</keyword> | |
<keyword>nc</keyword> | |
<keyword>ifn</keyword> | |
<keyword>n</keyword> | |
<keyword>ifns</keyword> | |
<keyword>ns</keyword> | |
<keyword>ifcc</keyword> | |
<keyword>cc</keyword> | |
<keyword>ifc</keyword> | |
<keyword>c</keyword> | |
<keyword>ifcs</keyword> | |
<keyword>cs</keyword> | |
<keyword>allz</keyword> | |
<keyword>alln</keyword> | |
<keyword>allc</keyword> | |
<keyword>allnz</keyword> | |
<keyword>allnn</keyword> | |
<keyword>allnc</keyword> | |
<keyword>anyz</keyword> | |
<keyword>anyn</keyword> | |
<keyword>anyc</keyword> | |
<keyword>anynz</keyword> | |
<keyword>anynn</keyword> | |
<keyword>anync</keyword> | |
</context> | |
<context id="instruction-pack" style-ref="pack-unpack"> | |
<prefix>[.]pack</prefix> | |
<keyword>32</keyword> | |
<keyword>32s</keyword> | |
<keyword>32si</keyword> | |
<keyword>16a</keyword> | |
<keyword>16ai</keyword> | |
<keyword>16af</keyword> | |
<keyword>16as</keyword> | |
<keyword>16asi</keyword> | |
<keyword>16b</keyword> | |
<keyword>16bi</keyword> | |
<keyword>16bf</keyword> | |
<keyword>16bs</keyword> | |
<keyword>16bsi</keyword> | |
<keyword>8888</keyword> | |
<keyword>8abcd</keyword> | |
<keyword>8888i</keyword> | |
<keyword>8abcdi</keyword> | |
<keyword>8888s</keyword> | |
<keyword>8abcds</keyword> | |
<keyword>8888si</keyword> | |
<keyword>8abcdsi</keyword> | |
<keyword>8888sf</keyword> | |
<keyword>8abcdsf</keyword> | |
<keyword>8a</keyword> | |
<keyword>8ai</keyword> | |
<keyword>8af</keyword> | |
<keyword>8as</keyword> | |
<keyword>8asi</keyword> | |
<keyword>8asf</keyword> | |
<keyword>8b</keyword> | |
<keyword>8bi</keyword> | |
<keyword>8bf</keyword> | |
<keyword>8bs</keyword> | |
<keyword>8bsi</keyword> | |
<keyword>8bsf</keyword> | |
<keyword>8c</keyword> | |
<keyword>8ci</keyword> | |
<keyword>8cf</keyword> | |
<keyword>8cs</keyword> | |
<keyword>8csi</keyword> | |
<keyword>8csf</keyword> | |
<keyword>8d</keyword> | |
<keyword>8di</keyword> | |
<keyword>8df</keyword> | |
<keyword>8ds</keyword> | |
<keyword>8dsi</keyword> | |
<keyword>8dsf</keyword> | |
<keyword>8dr</keyword> | |
</context> | |
<context id="instruction-unpack" style-ref="pack-unpack"> | |
<prefix>[.]unpack</prefix> | |
<keyword>32</keyword> | |
<keyword>32s</keyword> | |
<keyword>32si</keyword> | |
<keyword>16a</keyword> | |
<keyword>16ai</keyword> | |
<keyword>16af</keyword> | |
<keyword>16as</keyword> | |
<keyword>16asi</keyword> | |
<keyword>16b</keyword> | |
<keyword>16bi</keyword> | |
<keyword>16bf</keyword> | |
<keyword>16bs</keyword> | |
<keyword>16bsi</keyword> | |
<keyword>8888</keyword> | |
<keyword>8abcd</keyword> | |
<keyword>8888i</keyword> | |
<keyword>8abcdi</keyword> | |
<keyword>8888s</keyword> | |
<keyword>8abcds</keyword> | |
<keyword>8888si</keyword> | |
<keyword>8abcdsi</keyword> | |
<keyword>8888sf</keyword> | |
<keyword>8abcdsf</keyword> | |
<keyword>8a</keyword> | |
<keyword>8ai</keyword> | |
<keyword>8af</keyword> | |
<keyword>8as</keyword> | |
<keyword>8asi</keyword> | |
<keyword>8asf</keyword> | |
<keyword>8b</keyword> | |
<keyword>8bi</keyword> | |
<keyword>8bf</keyword> | |
<keyword>8bs</keyword> | |
<keyword>8bsi</keyword> | |
<keyword>8bsf</keyword> | |
<keyword>8c</keyword> | |
<keyword>8ci</keyword> | |
<keyword>8cf</keyword> | |
<keyword>8cs</keyword> | |
<keyword>8csi</keyword> | |
<keyword>8csf</keyword> | |
<keyword>8d</keyword> | |
<keyword>8di</keyword> | |
<keyword>8df</keyword> | |
<keyword>8ds</keyword> | |
<keyword>8dsi</keyword> | |
<keyword>8dsf</keyword> | |
<keyword>8dr</keyword> | |
</context> | |
<context id="instruction-pack-dst-unpack-src" style-ref="pack-unpack"> | |
<prefix>[.]</prefix> | |
<keyword>32</keyword> | |
<keyword>32s</keyword> | |
<keyword>32si</keyword> | |
<keyword>16a</keyword> | |
<keyword>16ai</keyword> | |
<keyword>16af</keyword> | |
<keyword>16as</keyword> | |
<keyword>16asi</keyword> | |
<keyword>16b</keyword> | |
<keyword>16bi</keyword> | |
<keyword>16bf</keyword> | |
<keyword>16bs</keyword> | |
<keyword>16bsi</keyword> | |
<keyword>8888</keyword> | |
<keyword>8abcd</keyword> | |
<keyword>8888i</keyword> | |
<keyword>8abcdi</keyword> | |
<keyword>8888s</keyword> | |
<keyword>8abcds</keyword> | |
<keyword>8888si</keyword> | |
<keyword>8abcdsi</keyword> | |
<keyword>8888sf</keyword> | |
<keyword>8abcdsf</keyword> | |
<keyword>8a</keyword> | |
<keyword>8ai</keyword> | |
<keyword>8af</keyword> | |
<keyword>8as</keyword> | |
<keyword>8asi</keyword> | |
<keyword>8asf</keyword> | |
<keyword>8b</keyword> | |
<keyword>8bi</keyword> | |
<keyword>8bf</keyword> | |
<keyword>8bs</keyword> | |
<keyword>8bsi</keyword> | |
<keyword>8bsf</keyword> | |
<keyword>8c</keyword> | |
<keyword>8ci</keyword> | |
<keyword>8cf</keyword> | |
<keyword>8cs</keyword> | |
<keyword>8csi</keyword> | |
<keyword>8csf</keyword> | |
<keyword>8d</keyword> | |
<keyword>8di</keyword> | |
<keyword>8df</keyword> | |
<keyword>8ds</keyword> | |
<keyword>8dsi</keyword> | |
<keyword>8dsf</keyword> | |
<keyword>8dr</keyword> | |
</context> | |
<context id="single-operators" style-ref="operator" extend-parent="false"> | |
<match>(?:\b|\s|\(|\)|,)(?:[\(\)+\-~!*/%><&\^|]|<<|>>|<<|>>|<<<|>>>|><<|>><|><<<|>>><|>=|<=|<=>|\*\*|!\^|&&|\^\^|!\^\^|\|\|){1}(?:\b|\s|\(|\))</match> | |
</context> | |
<context id="keyword-operators" style-ref="operator"> | |
<keyword>abs</keyword> | |
<keyword>ceil</keyword> | |
<keyword>floor</keyword> | |
<keyword>exp2</keyword> | |
<keyword>exp10</keyword> | |
<keyword>exp</keyword> | |
<keyword>log2</keyword> | |
<keyword>log10</keyword> | |
<keyword>log</keyword> | |
<keyword>cos</keyword> | |
<keyword>sin</keyword> | |
<keyword>tan</keyword> | |
<keyword>acos</keyword> | |
<keyword>asin</keyword> | |
<keyword>atan</keyword> | |
<keyword>cosh</keyword> | |
<keyword>sinh</keyword> | |
<keyword>tanh</keyword> | |
<keyword>acosh</keyword> | |
<keyword>asinh</keyword> | |
<keyword>atanh</keyword> | |
<keyword>erfc</keyword> | |
<keyword>erf</keyword> | |
</context> | |
<context id="registers" style-ref="register"> | |
<keyword>unif</keyword> | |
<keyword>vary</keyword> | |
<keyword>r0</keyword> | |
<keyword>r1</keyword> | |
<keyword>r2</keyword> | |
<keyword>r3</keyword> | |
<keyword>r4</keyword> | |
<keyword>r5</keyword> | |
<keyword>tmurs</keyword> | |
<keyword>r5quad</keyword> | |
<keyword>r5rep</keyword> | |
<keyword>elem_num</keyword> | |
<keyword>qpu_num</keyword> | |
<keyword>irq</keyword> | |
<keyword>interrupt</keyword> | |
<keyword>unif_addr</keyword> | |
<keyword>unif_addr_rel</keyword> | |
<keyword>x_coord</keyword> | |
<keyword>y_coord</keyword> | |
<keyword>ms_mask</keyword> | |
<keyword>rev_flag</keyword> | |
<keyword>stencil</keyword> | |
<keyword>tlbz</keyword> | |
<keyword>tlbm</keyword> | |
<keyword>tlbc</keyword> | |
<keyword>tlbam</keyword> | |
<keyword>vpm</keyword> | |
<keyword>vr_busy</keyword> | |
<keyword>vw_busy</keyword> | |
<keyword>vr_setup</keyword> | |
<keyword>vw_setup</keyword> | |
<keyword>vr_wait</keyword> | |
<keyword>vw_wait</keyword> | |
<keyword>vr_addr</keyword> | |
<keyword>vw_addr</keyword> | |
<keyword>mutex</keyword> | |
<keyword>mutex_acq</keyword> | |
<keyword>mutex_rel</keyword> | |
<keyword>recip</keyword> | |
<keyword>recipqstr</keyword> | |
<keyword>exp</keyword> | |
<keyword>t0s</keyword> | |
<keyword>t0t</keyword> | |
<keyword>t0r</keyword> | |
<keyword>t0b</keyword> | |
<keyword>t1s</keyword> | |
<keyword>t1t</keyword> | |
<keyword>t1r</keyword> | |
<keyword>t1b</keyword> | |
<keyword>ra1</keyword> | |
<keyword>ra2</keyword> | |
<keyword>ra3</keyword> | |
<keyword>ra4</keyword> | |
<keyword>ra5</keyword> | |
<keyword>ra6</keyword> | |
<keyword>ra7</keyword> | |
<keyword>ra8</keyword> | |
<keyword>ra9</keyword> | |
<keyword>ra10</keyword> | |
<keyword>ra11</keyword> | |
<keyword>ra12</keyword> | |
<keyword>ra13</keyword> | |
<keyword>ra14</keyword> | |
<keyword>ra15</keyword> | |
<keyword>ra16</keyword> | |
<keyword>ra17</keyword> | |
<keyword>ra18</keyword> | |
<keyword>ra19</keyword> | |
<keyword>ra20</keyword> | |
<keyword>ra21</keyword> | |
<keyword>ra22</keyword> | |
<keyword>ra23</keyword> | |
<keyword>ra24</keyword> | |
<keyword>ra25</keyword> | |
<keyword>ra26</keyword> | |
<keyword>ra27</keyword> | |
<keyword>ra28</keyword> | |
<keyword>ra29</keyword> | |
<keyword>ra30</keyword> | |
<keyword>ra31</keyword> | |
<keyword>ra32</keyword> | |
<keyword>ra33</keyword> | |
<keyword>ra34</keyword> | |
<keyword>ra25</keyword> | |
<keyword>ra36</keyword> | |
<keyword>ra37</keyword> | |
<keyword>ra38</keyword> | |
<keyword>ra39</keyword> | |
<keyword>ra40</keyword> | |
<keyword>ra41</keyword> | |
<keyword>ra42</keyword> | |
<keyword>ra43</keyword> | |
<keyword>ra44</keyword> | |
<keyword>ra45</keyword> | |
<keyword>ra46</keyword> | |
<keyword>ra47</keyword> | |
<keyword>ra48</keyword> | |
<keyword>ra49</keyword> | |
<keyword>ra50</keyword> | |
<keyword>ra51</keyword> | |
<keyword>ra52</keyword> | |
<keyword>ra53</keyword> | |
<keyword>ra54</keyword> | |
<keyword>ra55</keyword> | |
<keyword>ra56</keyword> | |
<keyword>ra57</keyword> | |
<keyword>ra58</keyword> | |
<keyword>ra59</keyword> | |
<keyword>ra60</keyword> | |
<keyword>ra61</keyword> | |
<keyword>ra62</keyword> | |
<keyword>ra63</keyword> | |
<keyword>rb1</keyword> | |
<keyword>rb2</keyword> | |
<keyword>rb3</keyword> | |
<keyword>rb4</keyword> | |
<keyword>rb5</keyword> | |
<keyword>rb6</keyword> | |
<keyword>rb7</keyword> | |
<keyword>rb8</keyword> | |
<keyword>rb9</keyword> | |
<keyword>rb10</keyword> | |
<keyword>rb11</keyword> | |
<keyword>rb12</keyword> | |
<keyword>rb13</keyword> | |
<keyword>rb14</keyword> | |
<keyword>rb15</keyword> | |
<keyword>rb16</keyword> | |
<keyword>rb17</keyword> | |
<keyword>rb18</keyword> | |
<keyword>rb19</keyword> | |
<keyword>rb20</keyword> | |
<keyword>rb21</keyword> | |
<keyword>rb22</keyword> | |
<keyword>rb23</keyword> | |
<keyword>rb24</keyword> | |
<keyword>rb25</keyword> | |
<keyword>rb26</keyword> | |
<keyword>rb27</keyword> | |
<keyword>rb28</keyword> | |
<keyword>rb29</keyword> | |
<keyword>rb30</keyword> | |
<keyword>rb31</keyword> | |
<keyword>rb32</keyword> | |
<keyword>rb33</keyword> | |
<keyword>rb34</keyword> | |
<keyword>rb25</keyword> | |
<keyword>rb36</keyword> | |
<keyword>rb37</keyword> | |
<keyword>rb38</keyword> | |
<keyword>rb39</keyword> | |
<keyword>rb40</keyword> | |
<keyword>rb41</keyword> | |
<keyword>rb42</keyword> | |
<keyword>rb43</keyword> | |
<keyword>rb44</keyword> | |
<keyword>rb45</keyword> | |
<keyword>rb46</keyword> | |
<keyword>rb47</keyword> | |
<keyword>rb48</keyword> | |
<keyword>rb49</keyword> | |
<keyword>rb50</keyword> | |
<keyword>rb51</keyword> | |
<keyword>rb52</keyword> | |
<keyword>rb53</keyword> | |
<keyword>rb54</keyword> | |
<keyword>rb55</keyword> | |
<keyword>rb56</keyword> | |
<keyword>rb57</keyword> | |
<keyword>rb58</keyword> | |
<keyword>rb59</keyword> | |
<keyword>rb60</keyword> | |
<keyword>rb61</keyword> | |
<keyword>rb62</keyword> | |
<keyword>rb63</keyword> | |
</context> | |
<context id="directives" style-ref="directive"> | |
<prefix>[.]</prefix> | |
<keyword>const</keyword> | |
<keyword>set</keyword> | |
<keyword>lconst</keyword> | |
<keyword>lset</keyword> | |
<keyword>unset</keyword> | |
<keyword>lunset</keyword> | |
<keyword>local</keyword> | |
<keyword>endloc</keyword> | |
<keyword>func</keyword> | |
<keyword>endf</keyword> | |
<keyword>macro</keyword> | |
<keyword>endm</keyword> | |
<keyword>rep</keyword> | |
<keyword>endr</keyword> | |
<keyword>foreach</keyword> | |
<keyword>endfor</keyword> | |
<keyword>back</keyword> | |
<keyword>endb</keyword> | |
<keyword>clone</keyword> | |
<keyword>if</keyword> | |
<keyword>elseif</keyword> | |
<keyword>else</keyword> | |
<keyword>endif</keyword> | |
<keyword>ifset</keyword> | |
<keyword>assert</keyword> | |
<keyword>byte</keyword> | |
<keyword>short</keyword> | |
<keyword>int</keyword> | |
<keyword>long</keyword> | |
<keyword>bit</keyword> | |
<keyword>float</keyword> | |
<keyword>half</keyword> | |
<keyword>double</keyword> | |
<keyword>align</keyword> | |
<keyword>global</keyword> | |
<keyword>code</keyword> | |
<keyword>rodata</keyword> | |
<keyword>text</keyword> | |
</context> | |
<context id="macros" style-ref="macro"> | |
<keyword>vdr_setup_0</keyword> | |
<keyword>vdr_setup_1</keyword> | |
<keyword>vdr_h32</keyword> | |
<keyword>vdr_v32</keyword> | |
<keyword>vdw_setup_0</keyword> | |
<keyword>vdw_setup_1</keyword> | |
<keyword>dma_h32</keyword> | |
<keyword>dma_h16p</keyword> | |
<keyword>dma_h8p</keyword> | |
<keyword>dma_v32</keyword> | |
<keyword>dma_v16p</keyword> | |
<keyword>dma_v8p</keyword> | |
<keyword>vpm_setup</keyword> | |
<keyword>h32</keyword> | |
<keyword>h16p</keyword> | |
<keyword>h16l</keyword> | |
<keyword>h8p</keyword> | |
<keyword>h8l</keyword> | |
<keyword>v32</keyword> | |
<keyword>v16p</keyword> | |
<keyword>v16l</keyword> | |
<keyword>v8p</keyword> | |
<keyword>v8l</keyword> | |
<keyword>min</keyword> | |
<keyword>max</keyword> | |
<keyword>ilog2</keyword> | |
<keyword>countBits</keyword> | |
<keyword>reverseBits4</keyword> | |
<keyword>reverseBits8</keyword> | |
<keyword>reverseBits16</keyword> | |
<keyword>reverseBits32</keyword> | |
<keyword>reverseBits64</keyword> | |
<keyword>reverseBits</keyword> | |
<keyword>sacq</keyword> | |
<keyword>srel</keyword> | |
<keyword>isConstant</keyword> | |
<keyword>isLdPE</keyword> | |
<keyword>isLdPES</keyword> | |
<keyword>isLdPEU</keyword> | |
<keyword>isRegister</keyword> | |
<keyword>isRegfileA</keyword> | |
<keyword>isRegfileB</keyword> | |
<keyword>isAccu</keyword> | |
<keyword>isReadable</keyword> | |
<keyword>isWritable</keyword> | |
<keyword>isRotate</keyword> | |
<keyword>isSemaphore</keyword> | |
<keyword>isLabel</keyword> | |
<keyword>isSmallImmd</keyword> | |
<keyword>M_E</keyword> | |
<keyword>M_LOG2E</keyword> | |
<keyword>M_LOG10E</keyword> | |
<keyword>M_LN2</keyword> | |
<keyword>M_LN10</keyword> | |
<keyword>M_PI</keyword> | |
<keyword>M_2PI</keyword> | |
<keyword>M_PI_2</keyword> | |
<keyword>M_PI_4</keyword> | |
<keyword>M_1_PI</keyword> | |
<keyword>M_2_PI</keyword> | |
<keyword>M_2_SQRTPI</keyword> | |
<keyword>M_SQRT2</keyword> | |
<keyword>M_SQRT1_2</keyword> | |
<keyword>M_NAN</keyword> | |
<keyword>M_INF</keyword> | |
</context> | |
<context id="label" style-ref="label"> | |
<match>^\s*\:(?:[A-Za-z_][A-Za-z_0-9]*|\d+)\b</match> | |
</context> | |
<context id="relative-address" style-ref="label"> | |
<start>r(?=\:)</start> | |
<end>(?=\s|$)</end> | |
<include> | |
<context sub-pattern="0" style-ref="modifier" where="start" /> | |
</include> | |
</context> | |
<context id="decimal" style-ref="decimal"> | |
<match>\b-?(?:[1-9][0-9]*|0)\b</match> | |
</context> | |
<context id="hexadecimal" style-ref="number"> | |
<match>\b-?0x[0-9a-fA-F]+\b</match> | |
</context> | |
<context id="octal" style-ref="number"> | |
<match>\b-?0[0-7]+\b</match> | |
</context> | |
<context id="binary" style-ref="number"> | |
<match>\b-?0b[01]+\b</match> | |
</context> | |
<context id="float" style-ref="float"> | |
<match>\b-?(?:[1-9][0-9]*|0)(?:\.[0-9]+)?(?:[eE][+\-]?[0-9]+)?\b</match> | |
</context> | |
<context id="alu-separator" style-ref="alu-separator"> | |
<match>;</match> | |
</context> | |
<context id="include" extend-parent="true" end-at-line-end="true" > | |
<start>[.]include</start> | |
<end>["<][^>"]+[">]</end> | |
<include> | |
<context sub-pattern="0" style-ref="directive" where="start" /> | |
<context sub-pattern="0" style-ref="string" where="end" /> | |
</include> | |
</context> | |
<context id="qasm" class="no-spell-check"> | |
<include> | |
<context ref="line-comment" /> | |
<context ref="include" /> | |
<context ref="instructions" /> | |
<context ref="instruction-modifiers" /> | |
<context ref="instruction-pack" /> | |
<context ref="instruction-unpack" /> | |
<context ref="instruction-pack-dst-unpack-src" /> | |
<context ref="single-operators" /> | |
<context ref="keyword-operators" /> | |
<context ref="registers" /> | |
<context ref="directives" /> | |
<context ref="macros" /> | |
<context ref="label" /> | |
<context ref="relative-address" /> | |
<context ref="decimal" /> | |
<context ref="hexadecimal" /> | |
<context ref="octal" /> | |
<context ref="binary" /> | |
<context ref="float" /> | |
<context ref="alu-separator" /> | |
</include> | |
</context> | |
</definitions> | |
</language> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Install
Put qasm.lang file into /usr/local/share/gtksourceview-3.0/language-specs (or 2.0, it should work with that as well) for everyone,
or ~/.local/share/gtksourceview-3.0/language-specs for only your user, and all applications using GtkSourceView (e.g. gedit)
will have syntax highlight for *.qasm and *.qinc files.