UNPKG

earlgrey

Version:

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

5 lines (2 loc) 8.79 kB
'use strict';require('earlgrey-runtime/6');let $targ$1;let $targ$0;let $0$0;let Source$0;let $1$0;let accum_flags$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(mac$0){let $targ$10;let accum$0;let $targ$11;let accum$1;let t0$9;let t1$9;let RegexBuilder$0;let build_regexp$0;let accum_flagsf$0;let $targ$2;let regexp_mac$0;let exports$0;exports$0=({});RegexBuilder$0=(function RegexBuilder(){let __at___$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){let __at___$1;let self$0;__at___$1=this;self$0=this;return (("(?:"+x$0)+")");}));(RegexBuilder$0.prototype["quote"]=(function quote(x$1){let __at___$2;let self$1;__at___$2=this;self$1=this;return x$1.replace(RegExp("([.?*+\\^$\\[\\]\\(\\)\\{\\}|\\\\])","g"),"\\$1");}));(RegexBuilder$0.prototype["quote_charset"]=(function quote_charset(x$2){let __at___$3;let self$2;__at___$3=this;self$2=this;return x$2.replace(RegExp("([\\[\\]\\(\\)\\{\\}\\^])","g"),"\\$1");}));(RegexBuilder$0.prototype["build"]=(function build(expr$0){let t0$1;let t1$1;let $targ$3;let t0$2;let t1$2;let $targ$4;let t0$3;let t1$3;let $targ$5;let t0$4;let t1$4;let t0$5;let t1$5;let x$4;let $targ$6;let $targ$7;let v$0;let t0$6;let t1$6;let t0$7;let t1$7;let t2$1;let t3$1;let t4$1;let t5$0;let t6$0;let t7$0;let t8$0;let t9$0;let x$5;let $targ$8;let $targ$9;let v$1;let m$1;let acc$0;let temp$0;let m$2;let acc$1;let temp$1;let other$0;let args$1;let args$0;let ph$1$0;let a$0;let b$0;let s$0;let x$3;let ph$0$0;let $$19142$0;let $$19143$0;let $$19144$0;let $$19145$0;let $$19146$0;let $$19147$0;let $$19148$0;let $$19149$0;let $$19150$0;let t0$0;let t1$0;let t2$0;let t3$0;let t4$0;let m$0$0;let __at___$4;let self$3;__at___$4=this;self$3=this;m$0$0=expr$0;if((($$19142$0=Array.isArray(m$0$0))&&((t0$0=m$0$0.length),(($$19144$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(($$19144$0&&(m$0$0[0]==="value"))){x$3=m$0$0[1];return __at___$4.quote(x$3);}else{if(($$19142$0&&(($$19144$0=(t0$0===3))&&(($$19145$0=(m$0$0[0]==="send"))&&((t1$0=m$0$0[1]),(($$19147$0=Array.isArray(t1$0))&&((t2$0=t1$0.length),(($$19149$0=(t2$0===2))&&(($$19150$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(($$19150$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(($$19142$0&&(($$19144$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(){$6:for(m$1 of args$0){let arg$0;arg$0=m$1;temp$0=__at___$4.build(arg$0);acc$0.push(temp$0);}})(),acc$0).join(""))+")");}else{if(($$19144$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(){$11:for(m$2 of args$1){let arg$1;arg$1=m$2;temp$1=__at___$4.build(arg$1);acc$1.push(temp$1);}})(),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(ph$2$0,info$0,form$0,arg$2,flags$0){let x$7;let x$8;let text$2;let text$1;let m$4$0;let text$0;let s$1;let arg$3;let v$2;let $$19549$0;let $$19550$0;let $$19551$0;let $$19552$0;let $$19553$0;let $$19554$0;let $$19555$0;let $$19556$0;let $$19557$0;let t0$8;let t1$8;let t2$2;let t3$2;let t4$2;let t5$1;let t6$1;let m$3$0;let bridge$$19521$0;bridge$$19521$0=ph$2$0;if((((x$7=bridge$$19521$0),((x$7 instanceof Array)&&(x$7[0]==="check")))||((x$8=bridge$$19521$0),((x$8 instanceof Array)&&(x$8[0]==="project"))))){return ["nostep",form$0];}else{m$3$0=arg$2;if((($$19549$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(($$19549$0&&(($$19551$0=(t0$8===3))&&(($$19552$0=(m$3$0[0]==="send"))&&((t1$8=m$3$0[1]),(($$19554$0=Array.isArray(t1$8))&&((t2$2=t1$8.length),(($$19556$0=(t2$2===2))&&(($$19557$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(($$19557$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