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 hidden or 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> |
Author
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.