Started work on MACRO-10 parsing
This commit is contained in:
parent
17cd35ad96
commit
d4411dfea1
1 changed files with 5 additions and 3 deletions
|
|
@ -161,8 +161,10 @@ l.ja=function(a,b,c){var d=this;switch(b){case Ce:return this.J[b]=c,c.onkeydown
|
|||
a.preventDefault&&a.preventDefault();(a=a.clipboardData||window.clipboardData)&&d.Ua(a.getData("Text"))},c.removeAttribute("readonly"),!0}return!1};l.Ca=function(a,b,c,d){this.G=a;this.H=b;this.v=c;this.D=d;Jb(this)};
|
||||
l.wb=function(a){if(!this.b){var b=Xc(this.G,"connection");if(b){var c=b.split("->");if(2==c.length){var d=Ca(c[0]);if(d!=this.Pa)return;c=Ca(c[1]);if(this.b=pb(c)){var e=this.b.exports;if(e){var f=e.connect;f&&f.call(this.b,this.u);if(this.B=e.receiveData){this.u=a;this.status("Connected "+this.Qa+"."+d+" to "+c);return}}}}this.status("Unable to establish connection: "+b)}}};l.ua=function(a,b){if(!b)if(this.wb(this.u),!a)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||
l.ia=function(a){return a?this.save():!0};l.reset=function(){};l.save=function(){var a=new G(this);a.set(0,[]);return a.data()};l.restore=function(){return!0};l.Ua=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0,c,d=0;d<a.length;d++){c=b;b=a.charCodeAt(d);if(10==b){if(13==c)continue;b=13}this.i.push(b)}else this.i=this.i.concat(a);return!0};l.Ub=function(){};l.Xb=function(a,b){return this.b?!1:(this.b=a,this.B=b,!0)};var Ce="buffer";
|
||||
Xa(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Be(d);rb(d,c)}});function De(a,b){this.done=b;var c=this;Fa(a,null,!0,function(a,b,f){if(!f){var d,e=b;if(wa(a,".html"))for(e="",d=/<pre>([\s\S]*?)<\/pre>/gi;f=d.exec(b);)e+=f[1];f=e.split(/\r?\n/);for(b=0;b<f.length;b++);f=0}c.done(c,a,f)})}function Ee(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.w=-1;this.u=[];this.T={}}m(Ee,u);Ee.prototype.gb=function(){return-1};
|
||||
Ee.prototype.hb=function(){};function Fe(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.P?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ca(b.substring(c,f))),c=f+1}}return a}
|
||||
Xa(function(){for(var a=x(document,w,"serial"),b=0;b<a.length;b++){var c=a[b],d=v(c),d=new Be(d);rb(d,c)}});
|
||||
function De(a,b,c){this.done=c;this.j=b&&b.j||console.log;var d=this;Fa(a,null,!0,function(a,b,c){if(!c){c=b;if(wa(a,".html")){c="";for(var e,f=/<pre>([\s\S]*?)<\/pre>/gi;e=f.exec(b);)e=e[1],0<=e.indexOf("&")&&(e=e.replace(/</gi,"<").replace(/>/gi,">").replace(/&/gi,"&")),c+=e;(e=c.match(/&[a-z]+;/i))&&d.j("warning: unrecognized HTML entity: "+e[0])}c=c.split(/\r?\n/);for(b=0;b<c.length;b++){f=d;e=b+1;var g=c[b],p=g.match(/([A-Z$%.][0-9A-Z$%.]*[:=]|)\s*([^\s;]+|)\s*([^;]+|)\s*(;?.*)/i);
|
||||
!p||p[4]&&";"!=p[4].slice(0,1)?(f.j("warning: "+("failed to parse line "+e+": "+g)),f=!1):f=!0;if(!f)break}c=0}d.done(d,a,c)})}function Ee(a){u.call(this,"Debugger",a);this.ca=+a.base||16;this.la=!1;this.B=0;this.P=!1;this.w=-1;this.u=[];this.T={}}m(Ee,u);Ee.prototype.gb=function(){return-1};Ee.prototype.hb=function(){};
|
||||
function Fe(a,b,c,d){if(c)if(b){0>a.w&&a.u.length&&(a.w=0);if(0>a.w||b!=a.u[a.w])a.u.splice(0,0,b),a.w=0;a.w--}else a.P?b="end":b=a.u[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(Ca(b.substring(c,f))),c=f+1}}return a}
|
||||
function Ge(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
||||
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
|
||||
function He(a,b,c){var d;if(b){b=Ie(a,b);for(var e=0,f=!1,g=b,h=[],k=[],n=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<n.length;){var p=n[e++],t=p.length,p=Ca(p);if(!p){f=!0;break}p=Je(a,p,null,!1===c);if(void 0===p){f=!0;c=!1;break}h.push(p);if(e==n.length)break;var p=n[e++],C=p.length;k.length&&Ke[p]<Ke[k[k.length-1]]&&Ge(h,k,1);k.push(p);b=b.substr(t+C)}Ge(h,k)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Le(a,null,
|
||||
|
|
@ -198,7 +200,7 @@ function Uc(a,b,c,d,e){var f=!1;if(!a.oa++)for(var g=1;!f&&g<d.length;g++){var h
|
|||
function hg(a,b){b=void 0===b?!0:b;for(var c="",d=0;16>d;d++){!d||d&3||(c+="\n");var e=a,f=ta(d,2);Se(e.xa,d);f+="="+J(e,e.Da(e.xa),36)+" ";c+=f}if(b){b="";for(d=0;d<$e.length;d++)(e=$e[d]||"")&&(e+="="+J(a,a.hb(d),d>=df?1:d==bf?23:18)+" "),b+=e;c+="\n"+b}return c}l.tb=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||
function xe(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var k=h.o,n=h.a;if(void 0!==k){var p=f,k=[k>>>0,g],t=Da(p,k,a.tb);0>t&&p.splice(-(t+1),0,k)}n&&(h.a=n.replace(/''/g,'"'))}a.F.push({hd:b,C:c,Hb:d,U:e,pb:f})}function ig(a,b,c){var d=[],e=Re(b)>>>0;for(b=0;b<a.F.length;b++){var f=a.F[b],g=f.C>>>0,h=f.Hb;if(e>=g&&e<g+h){e=Da(f.pb,[e-g],a.tb);0<=e?jg(a,b,e,d):c&&(e=~e,jg(a,b,e-1,d),jg(a,b,e,d));break}}return d}
|
||||
function jg(a,b,c,d){var e={},f=a.F[b].pb,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.F[b].U[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}
|
||||
function kg(a,b){var c=We(a,b[1],a.ba);if(c){var d=b[2];void 0==d?(a.j("begin assemble at "+Z(a,c)),a.P=!0,I(a.G)):0<=d.indexOf(":")?a.na?a.j("assembly already in progress"):a.na=new De(d,function(b,c,d){d?a.j("error assembling "+c+": ("+d+")"):a.j("loadAssembly()");a.na=null}):(b.shift(),b.shift(),b.shift(),b=cg(a,d,b.join(""),c),0<=b&&(a.mb(c,b),a.j(qf(a,c))))}}
|
||||
function kg(a,b){var c=We(a,b[1],a.ba);if(c){var d=b[2];void 0==d?(a.j("begin assemble at "+Z(a,c)),a.P=!0,I(a.G)):0<=d.indexOf(":")?a.na?a.j("assembly already in progress"):a.na=new De(d,a,function(b,c,d){d?a.j("error assembling "+c+": ("+d+")"):a.j("loadAssembly()");a.na=null}):(b.shift(),b.shift(),b.shift(),b=cg(a,d,b.join(""),c),0<=b&&(a.mb(c,b),a.j(qf(a,c))))}}
|
||||
function lg(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Me(a)||a.j("no variables"),!0;if(!c[2])return Me(a,c[1]);if(!c[3])return delete a.T[c[1]],!0;b=He(a,c[3]);return void 0!==b?(a.T[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
||||
function mg(a,b,c){var d=null;if(b=We(a,b)){var e=ig(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.C-e[1])&&(g=" + "+q(f,4,!0)),f=e[0]+" ("+J(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.C)&&(g=" - "+q(f,4,!0)),f=e[4]+" ("+J(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
||||
function nf(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trm\tdump misc registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.v,e=void 0;null==c&&(c=!0);if(b&&1<b.length){var f=b[1];if("m"==f)e=!0;else{var g=f.indexOf("=");if(0<g)b=f.substr(g+1),f=f.substr(0,g);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}g=He(a,b);if(void 0===g)return;b=a.gb(f);if(0>b){a.j("unknown register: "+f);return}var f=0,h=a.v;switch(b){case af:H(h,
|
||||
|
|
|
|||
Loading…
Reference in a new issue