'use strict';(function(c){"object"==typeof exports&&"object"==typeof module?c(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],c):c(CodeMirror)})(function(c){c.defineMode("gas",function(c,k){function n(b){f="@";l.syntax="builtin";a.r0="variable";a.r1="variable";a.r2="variable";a.r3="variable";a.r4="variable";a.r5="variable";a.r6="variable";a.r7="variable";a.r8="variable";a.r9="variable";a.r10="variable";a.r11="variable";a.r12="variable";a.sp="variable-2";
a.lr="variable-2";a.pc="variable-2";a.r13=a.sp;a.r14=a.lr;a.r15=a.pc;g.push(function(a,b){if("#"===a)return b.eatWhile(/\w/),"number"})}function m(a,e){for(var b=!1,d;null!=(d=a.next());){if("/"===d&&b){e.tokenize=null;break}b="*"===d}return"comment"}var g=[],f="",l={".abort":"builtin",".align":"builtin",".altmacro":"builtin",".ascii":"builtin",".asciz":"builtin",".balign":"builtin",".balignw":"builtin",".balignl":"builtin",".bundle_align_mode":"builtin",".bundle_lock":"builtin",".bundle_unlock":"builtin",
".byte":"builtin",".cfi_startproc":"builtin",".comm":"builtin",".data":"builtin",".def":"builtin",".desc":"builtin",".dim":"builtin",".double":"builtin",".eject":"builtin",".else":"builtin",".elseif":"builtin",".end":"builtin",".endef":"builtin",".endfunc":"builtin",".endif":"builtin",".equ":"builtin",".equiv":"builtin",".eqv":"builtin",".err":"builtin",".error":"builtin",".exitm":"builtin",".extern":"builtin",".fail":"builtin",".file":"builtin",".fill":"builtin",".float":"builtin",".func":"builtin",
".global":"builtin",".gnu_attribute":"builtin",".hidden":"builtin",".hword":"builtin",".ident":"builtin",".if":"builtin",".incbin":"builtin",".include":"builtin",".int":"builtin",".internal":"builtin",".irp":"builtin",".irpc":"builtin",".lcomm":"builtin",".lflags":"builtin",".line":"builtin",".linkonce":"builtin",".list":"builtin",".ln":"builtin",".loc":"builtin",".loc_mark_labels":"builtin",".local":"builtin",".long":"builtin",".macro":"builtin",".mri":"builtin",".noaltmacro":"builtin",".nolist":"builtin",
".octa":"builtin",".offset":"builtin",".org":"builtin",".p2align":"builtin",".popsection":"builtin",".previous":"builtin",".print":"builtin",".protected":"builtin",".psize":"builtin",".purgem":"builtin",".pushsection":"builtin",".quad":"builtin",".reloc":"builtin",".rept":"builtin",".sbttl":"builtin",".scl":"builtin",".section":"builtin",".set":"builtin",".short":"builtin",".single":"builtin",".size":"builtin",".skip":"builtin",".sleb128":"builtin",".space":"builtin",".stab":"builtin",".string":"builtin",
".struct":"builtin",".subsection":"builtin",".symver":"builtin",".tag":"builtin",".text":"builtin",".title":"builtin",".type":"builtin",".uleb128":"builtin",".val":"builtin",".version":"builtin",".vtable_entry":"builtin",".vtable_inherit":"builtin",".warning":"builtin",".weak":"builtin",".weakref":"builtin",".word":"builtin"},a={};c=(k.architecture||"x86").toLowerCase();"x86"===c?(f="#",a.ax="variable",a.eax="variable-2",a.rax="variable-3",a.bx="variable",a.ebx="variable-2",a.rbx="variable-3",a.cx=
"variable",a.ecx="variable-2",a.rcx="variable-3",a.dx="variable",a.edx="variable-2",a.rdx="variable-3",a.si="variable",a.esi="variable-2",a.rsi="variable-3",a.di="variable",a.edi="variable-2",a.rdi="variable-3",a.sp="variable",a.esp="variable-2",a.rsp="variable-3",a.bp="variable",a.ebp="variable-2",a.rbp="variable-3",a.ip="variable",a.eip="variable-2",a.rip="variable-3",a.cs="keyword",a.ds="keyword",a.ss="keyword",a.es="keyword",a.fs="keyword",a.gs="keyword"):"arm"!==c&&"armv6"!==c||n(k);return{startState:function(){return{tokenize:null}},
token:function(b,e){if(e.tokenize)return e.tokenize(b,e);if(b.eatSpace())return null;var c,d=b.next();if("/"===d&&b.eat("*"))return e.tokenize=m,m(b,e);if(d===f)return b.skipToEnd(),"comment";if('"'===d){a:for(e=!1;null!=(c=b.next());){if('"'===c&&!e)break a;e=!e&&"\\"===c}return"string"}if("."===d)return b.eatWhile(/\w/),b=b.current().toLowerCase(),(c=l[b])||null;if("="===d)return b.eatWhile(/\w/),"tag";if("{"===d||"}"===d)return"braket";if(/\d/.test(d)){if("0"===d&&b.eat("x"))return b.eatWhile(/[0-9a-fA-F]/),
"number";b.eatWhile(/\d/);return"number"}if(/\w/.test(d)){b.eatWhile(/\w/);if(b.eat(":"))return"tag";b=b.current().toLowerCase();return(c=a[b])||null}for(var h=0;h<g.length;h++)if(c=g[h](d,b,e))return c},lineComment:f,blockCommentStart:"/*",blockCommentEnd:"*/"}})});
