UNPKG

earlgrey

Version:

Programming language compiling to JavaScript, featuring macros, dynamic typing annotations and pattern matching.

4 lines (2 loc) 10 kB
'use strict';require('earlgrey-runtime/5');var $targ$1=void 0;var $targ$0=void 0;var $0$0=void 0;var Source$0=void 0;var $1$0=void 0;var accum_flags$0=void 0;$0$0=require("../location");Source$0=getProperty($0$0,"Source","../location");$1$0=require("./helpers");accum_flags$0=getProperty($1$0,"accum_flags","./helpers");if(typeof module==="undefined"){$targ$1=undefined;global["module"]=$targ$1;void 0;}$targ$0=function $targ$0(mac$0){var $targ$10=void 0;var accum$0=void 0;var $targ$11=void 0;var accum$1=void 0;var t0$9=void 0;var t1$9=void 0;var RegexBuilder$0=void 0;var build_regexp$0=void 0;var accum_flagsf$0=void 0;var $targ$2=void 0;var regexp_mac$0=void 0;var exports$0=void 0;exports$0={};RegexBuilder$0=function RegexBuilder(){var __at___$0=void 0;if(!getChecker(RegexBuilder$0)(this)){__at___$0=Object.create(RegexBuilder$0.prototype);}else{__at___$0=this;}return __at___$0;};RegexBuilder$0.prototype["wrap"]=function wrap(x$0){var __at___$1=void 0;var self$0=void 0;__at___$1=this;self$0=this;return"(?:"+x$0+")";};RegexBuilder$0.prototype["quote"]=function quote(x$1){var __at___$2=void 0;var self$1=void 0;__at___$2=this;self$1=this;return x$1.replace(RegExp("([.?*+\\^$\\[\\]\\(\\)\\{\\}|\\\\])","g"),"\\$1");};RegexBuilder$0.prototype["quote_charset"]=function quote_charset(x$2){var __at___$3=void 0;var self$2=void 0;__at___$3=this;self$2=this;return x$2.replace(RegExp("([\\[\\]\\(\\)\\{\\}\\^])","g"),"\\$1");};RegexBuilder$0.prototype["build"]=function build(expr$0){var t0$1=void 0;var t1$1=void 0;var $targ$3=void 0;var t0$2=void 0;var t1$2=void 0;var $targ$4=void 0;var t0$3=void 0;var t1$3=void 0;var $targ$5=void 0;var t0$4=void 0;var t1$4=void 0;var t0$5=void 0;var t1$5=void 0;var x$4=void 0;var $targ$6=void 0;var $targ$7=void 0;var v$0=void 0;var t0$6=void 0;var t1$6=void 0;var t0$7=void 0;var t1$7=void 0;var t2$1=void 0;var t3$1=void 0;var t4$1=void 0;var t5$0=void 0;var t6$0=void 0;var t7$0=void 0;var t8$0=void 0;var t9$0=void 0;var x$5=void 0;var $targ$8=void 0;var $targ$9=void 0;var v$1=void 0;var m$1=void 0;var acc$0=void 0;var temp$0=void 0;var m$2=void 0;var acc$1=void 0;var temp$1=void 0;var other$0=void 0;var args$1=void 0;var args$0=void 0;var ph$1$0=void 0;var a$0=void 0;var b$0=void 0;var s$0=void 0;var x$3=void 0;var ph$0$0=void 0;var $$19912$0=void 0;var $$19913$0=void 0;var $$19914$0=void 0;var $$19915$0=void 0;var $$19916$0=void 0;var $$19917$0=void 0;var $$19918$0=void 0;var $$19919$0=void 0;var $$19920$0=void 0;var t0$0=void 0;var t1$0=void 0;var t2$0=void 0;var t3$0=void 0;var t4$0=void 0;var m$0$0=void 0;var __at___$4=void 0;var self$3=void 0;__at___$4=this;self$3=this;m$0$0=expr$0;if(($$19912$0=Array.isArray(m$0$0))&&(t0$0=m$0$0.length,($$19914$0=t0$0===2)&&m$0$0[0]==="symbol")){ph$0$0=m$0$0[1];if(ph$0$0==="any"){return".";}else{if(ph$0$0==="start"){return"^";}else{if(ph$0$0==="end"){return"$";}else{if(ph$0$0==="alpha"){return"\\a";}else{if(ph$0$0==="digit"){return"\\d";}else{if(ph$0$0==="word"){return"\\w";}else{if(ph$0$0==="space"){return"\\s";}else{if(ph$0$0==="boundary"){return"\\b";}else{if(ph$0$0==="a"){return"\\a";}else{if(ph$0$0==="d"){return"\\d";}else{if(ph$0$0==="w"){return"\\w";}else{if(ph$0$0==="s"){return"\\s";}else{if(ph$0$0==="b"){return"\\b";}else{return ___match_error(ph$0$0,".b");}}}}}}}}}}}}}}else{if($$19914$0&&m$0$0[0]==="value"){x$3=m$0$0[1];return __at___$4.quote(x$3);}else{if($$19912$0&&($$19914$0=t0$0===3)&&($$19915$0=m$0$0[0]==="send")&&(t1$0=m$0$0[1],($$19917$0=Array.isArray(t1$0))&&(t2$0=t1$0.length,($$19919$0=t2$0===2)&&($$19920$0=t1$0[0]==="symbol")&&t1$0[1]==="raw"&&(t3$0=m$0$0[2],Array.isArray(t3$0)&&(t4$0=t3$0.length,t4$0===2&&t3$0[0]==="value"))))){s$0=t3$0[1];return s$0;}else{if($$19920$0&&(ph$1$0=t1$0[1],t3$0=m$0$0[2],Array.isArray(t3$0)&&(t4$0=t3$0.length,t4$0===3&&t3$0[0]==="data"))){a$0=t3$0[1];b$0=t3$0[2];if(ph$1$0==="||"){return __at___$4.wrap(__at___$4.build(a$0)+"|"+__at___$4.build(b$0));}else{if(ph$1$0==="or"){return __at___$4.wrap(__at___$4.build(a$0)+"|"+__at___$4.build(b$0));}else{if(ph$1$0==="*"){$targ$3=a$0;t0$1=$targ$3;if(Array.isArray(t0$1)&&(t1$1=t0$1.length,t1$1===1&&t0$1[0]==="void")){}else{___match_error($targ$3,"#void{}");}return __at___$4.wrap(__at___$4.build(b$0)+"*");}else{if(ph$1$0==="+"){$targ$4=a$0;t0$2=$targ$4;if(Array.isArray(t0$2)&&(t1$2=t0$2.length,t1$2===1&&t0$2[0]==="void")){}else{___match_error($targ$4,"#void{}");}return __at___$4.wrap(__at___$4.build(b$0)+"+");}else{if(ph$1$0==="?"){$targ$5=a$0;t0$3=$targ$5;if(Array.isArray(t0$3)&&(t1$3=t0$3.length,t1$3===1&&t0$3[0]==="void")){}else{___match_error($targ$5,"#void{}");}return __at___$4.wrap(__at___$4.build(b$0)+"?");}else{if(ph$1$0==="in"){$targ$6=a$0;t0$4=$targ$6;if(Array.isArray(t0$4)&&(t1$4=t0$4.length,t1$4===1&&t0$4[0]==="void")){}else{___match_error($targ$6,"#void{}");}$targ$7=b$0;t0$5=$targ$7;if(Array.isArray(t0$5)&&(t1$5=t0$5.length,t1$5===2&&t0$5[0]==="value")){v$0=t0$5[1];}else{___match_error($targ$7,"#value{v}");}x$4=__at___$4.quote_charset(v$0);return"["+x$4+"]";}else{if(ph$1$0==="not"){$targ$8=a$0;t0$6=$targ$8;if(Array.isArray(t0$6)&&(t1$6=t0$6.length,t1$6===1&&t0$6[0]==="void")){}else{___match_error($targ$8,"#void{}");}$targ$9=b$0;t0$7=$targ$9;if(Array.isArray(t0$7)&&(t1$7=t0$7.length,t1$7===3&&t0$7[0]==="send"&&(t2$1=t0$7[1],Array.isArray(t2$1)&&(t3$1=t2$1.length,t3$1===2&&t2$1[0]==="symbol"&&t2$1[1]==="in"&&(t4$1=t0$7[2],Array.isArray(t4$1)&&(t5$0=t4$1.length,t5$0===3&&t4$1[0]==="data"&&(t6$0=t4$1[1],Array.isArray(t6$0)&&(t7$0=t6$0.length,t7$0===1&&t6$0[0]==="void"&&(t8$0=t4$1[2],Array.isArray(t8$0)&&(t9$0=t8$0.length,t9$0===2&&t8$0[0]==="value")))))))))){v$1=t8$0[1];}else{___match_error($targ$9,"#send{#symbol{\"in\"}, #data{#void{}, #value{v}}}");}x$5=__at___$4.quote_charset(v$1);return"[^"+x$5+"]";}else{return ___match_error(ph$1$0,"\"not\"");}}}}}}}}else{if($$19912$0&&($$19914$0=t0$0>=1)&&m$0$0[0]==="data"){args$0=Array.prototype.slice.call(m$0$0,1);return"("+(acc$0=[],temp$0=null,m$1=null,function(){var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{$6:for(var _iterator=args$0[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){m$1=_step.value;var arg$0=void 0;arg$0=m$1;temp$0=__at___$4.build(arg$0);acc$0.push(temp$0);}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}}finally{if(_didIteratorError){throw _iteratorError;}}}}(),acc$0).join("")+")";}else{if($$19914$0&&m$0$0[0]==="multi"){args$1=Array.prototype.slice.call(m$0$0,1);return"(?:"+(acc$1=[],temp$1=null,m$2=null,function(){var _iteratorNormalCompletion2=true;var _didIteratorError2=false;var _iteratorError2=undefined;try{$11:for(var _iterator2=args$1[Symbol.iterator](),_step2;!(_iteratorNormalCompletion2=(_step2=_iterator2.next()).done);_iteratorNormalCompletion2=true){m$2=_step2.value;var arg$1=void 0;arg$1=m$2;temp$1=__at___$4.build(arg$1);acc$1.push(temp$1);}}catch(err){_didIteratorError2=true;_iteratorError2=err;}finally{try{if(!_iteratorNormalCompletion2&&_iterator2.return){_iterator2.return();}}finally{if(_didIteratorError2){throw _iteratorError2;}}}}(),acc$1).join("")+")";}else{other$0=m$0$0;return ErrorFactory(["syntax","regexp"]).create("Illegal regular expression",{"expr":expr$0});}}}}}}};__amp____colon__(RegexBuilder$0,__amp____colon__(($targ$10="RegexBuilder",accum$0={},accum$0["::name"]=$targ$10,accum$0),($targ$11=true,accum$1={},accum$1["::egclass"]=$targ$11,accum$1)));build_regexp$0=function build_regexp(x$6){return RegexBuilder$0().build(x$6);};accum_flagsf$0=function accum_flagsf(f$0){return accum_flags$0(f$0,false);};$targ$2=function $targ$2(ph$2$0,info$0,form$0,arg$2,flags$0){var x$7=void 0;var x$8=void 0;var text$2=void 0;var text$1=void 0;var m$4$0=void 0;var text$0=void 0;var s$1=void 0;var arg$3=void 0;var v$2=void 0;var $$20319$0=void 0;var $$20320$0=void 0;var $$20321$0=void 0;var $$20322$0=void 0;var $$20323$0=void 0;var $$20324$0=void 0;var $$20325$0=void 0;var $$20326$0=void 0;var $$20327$0=void 0;var t0$8=void 0;var t1$8=void 0;var t2$2=void 0;var t3$2=void 0;var t4$2=void 0;var t5$1=void 0;var t6$1=void 0;var m$3$0=void 0;var bridge$$20291$0=void 0;bridge$$20291$0=ph$2$0;if((x$7=bridge$$20291$0,x$7 instanceof Array&&x$7[0]==="check")||(x$8=bridge$$20291$0,x$8 instanceof Array&&x$8[0]==="project")){return["nostep",form$0];}else{m$3$0=arg$2;if(($$20319$0=Array.isArray(m$3$0))&&(t0$8=m$3$0.length,t0$8===2&&m$3$0[0]==="value"&&(t1$8=m$3$0[1],typeof t1$8==="string"))){v$2=t1$8;m$4$0=info$0.gettext(arg$2);if(getChecker(RegExp("^\\\".*\\\"$",""))(m$4$0)){text$1=m$4$0;text$0=text$1.substring(1,text$1.length-1);}else{text$2=m$4$0;text$0=text$2;}return["send",["symbol","RegExp"],["data",["value",text$0],["value",flags$0.join("")]]];}else{if($$20319$0&&($$20321$0=t0$8===3)&&($$20322$0=m$3$0[0]==="send")&&(t1$8=m$3$0[1],($$20324$0=Array.isArray(t1$8))&&(t2$2=t1$8.length,($$20326$0=t2$2===2)&&($$20327$0=t1$8[0]==="symbol")&&t1$8[1]==="'"&&(t3$2=m$3$0[2],Array.isArray(t3$2)&&(t4$2=t3$2.length,t4$2===3&&t3$2[0]==="data"&&(t5$1=t3$2[1],Array.isArray(t5$1)&&(t6$1=t5$1.length,t6$1===1&&t5$1[0]==="void"))))))){arg$3=t3$2[2];return["send",["symbol","RegExp"],["data",["value",build_regexp$0(arg$3)],["value",flags$0.join("")]]];}else{if($$20327$0&&t1$8[1]==="`"&&(t3$2=m$3$0[2],Array.isArray(t3$2)&&(t4$2=t3$2.length,t4$2===2&&t3$2[0]==="value"))){s$1=t3$2[1];arg$2=info$0.go(Source$0(s$1,"<quasiquote>"),"source","parse");return["send",["symbol","RegExp"],["data",["value",build_regexp$0(arg$2)],["value",flags$0.join("")]]];}else{return ___match_error(m$3$0,"#send{#symbol{\"`\"}, #value{s}}");}}}}};t0$9=getProjector(accum_flagsf$0)($targ$2);if(t0$9[0]&&(t1$9=getProjector(mac$0("R"))(t0$9[1]),t1$9[0])){regexp_mac$0=t1$9[1];}else{___match_error($targ$2,"accum_flagsf! mac{\"R\"}! regexp_mac{match, info, form, var arg, flags}");}return exports$0;};module["exports"]=$targ$0;void 0; //# sourceMappingURL=regexp.js.map