bs-platform
Version:
bucklescript compiler, ocaml standard libary by bucklescript and its required runtime support
232 lines (223 loc) • 8.42 kB
JavaScript
'use strict';
var Block = require("./block.js");
function erase_rel(param) {
if (typeof param === "number") {
return /* End_of_fmtty */0;
} else {
switch (param.tag | 0) {
case /* Char_ty */0 :
return /* Char_ty */Block.__(0, [erase_rel(param[0])]);
case /* String_ty */1 :
return /* String_ty */Block.__(1, [erase_rel(param[0])]);
case /* Int_ty */2 :
return /* Int_ty */Block.__(2, [erase_rel(param[0])]);
case /* Int32_ty */3 :
return /* Int32_ty */Block.__(3, [erase_rel(param[0])]);
case /* Nativeint_ty */4 :
return /* Nativeint_ty */Block.__(4, [erase_rel(param[0])]);
case /* Int64_ty */5 :
return /* Int64_ty */Block.__(5, [erase_rel(param[0])]);
case /* Float_ty */6 :
return /* Float_ty */Block.__(6, [erase_rel(param[0])]);
case /* Bool_ty */7 :
return /* Bool_ty */Block.__(7, [erase_rel(param[0])]);
case /* Format_arg_ty */8 :
return /* Format_arg_ty */Block.__(8, [
param[0],
erase_rel(param[1])
]);
case /* Format_subst_ty */9 :
var ty1 = param[0];
return /* Format_subst_ty */Block.__(9, [
ty1,
ty1,
erase_rel(param[2])
]);
case /* Alpha_ty */10 :
return /* Alpha_ty */Block.__(10, [erase_rel(param[0])]);
case /* Theta_ty */11 :
return /* Theta_ty */Block.__(11, [erase_rel(param[0])]);
case /* Any_ty */12 :
return /* Any_ty */Block.__(12, [erase_rel(param[0])]);
case /* Reader_ty */13 :
return /* Reader_ty */Block.__(13, [erase_rel(param[0])]);
case /* Ignored_reader_ty */14 :
return /* Ignored_reader_ty */Block.__(14, [erase_rel(param[0])]);
}
}
}
function concat_fmtty(fmtty1, fmtty2) {
if (typeof fmtty1 === "number") {
return fmtty2;
} else {
switch (fmtty1.tag | 0) {
case /* Char_ty */0 :
return /* Char_ty */Block.__(0, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* String_ty */1 :
return /* String_ty */Block.__(1, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Int_ty */2 :
return /* Int_ty */Block.__(2, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Int32_ty */3 :
return /* Int32_ty */Block.__(3, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Nativeint_ty */4 :
return /* Nativeint_ty */Block.__(4, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Int64_ty */5 :
return /* Int64_ty */Block.__(5, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Float_ty */6 :
return /* Float_ty */Block.__(6, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Bool_ty */7 :
return /* Bool_ty */Block.__(7, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Format_arg_ty */8 :
return /* Format_arg_ty */Block.__(8, [
fmtty1[0],
concat_fmtty(fmtty1[1], fmtty2)
]);
case /* Format_subst_ty */9 :
return /* Format_subst_ty */Block.__(9, [
fmtty1[0],
fmtty1[1],
concat_fmtty(fmtty1[2], fmtty2)
]);
case /* Alpha_ty */10 :
return /* Alpha_ty */Block.__(10, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Theta_ty */11 :
return /* Theta_ty */Block.__(11, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Any_ty */12 :
return /* Any_ty */Block.__(12, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Reader_ty */13 :
return /* Reader_ty */Block.__(13, [concat_fmtty(fmtty1[0], fmtty2)]);
case /* Ignored_reader_ty */14 :
return /* Ignored_reader_ty */Block.__(14, [concat_fmtty(fmtty1[0], fmtty2)]);
}
}
}
function concat_fmt(fmt1, fmt2) {
if (typeof fmt1 === "number") {
return fmt2;
} else {
switch (fmt1.tag | 0) {
case /* Char */0 :
return /* Char */Block.__(0, [concat_fmt(fmt1[0], fmt2)]);
case /* Caml_char */1 :
return /* Caml_char */Block.__(1, [concat_fmt(fmt1[0], fmt2)]);
case /* String */2 :
return /* String */Block.__(2, [
fmt1[0],
concat_fmt(fmt1[1], fmt2)
]);
case /* Caml_string */3 :
return /* Caml_string */Block.__(3, [
fmt1[0],
concat_fmt(fmt1[1], fmt2)
]);
case /* Int */4 :
return /* Int */Block.__(4, [
fmt1[0],
fmt1[1],
fmt1[2],
concat_fmt(fmt1[3], fmt2)
]);
case /* Int32 */5 :
return /* Int32 */Block.__(5, [
fmt1[0],
fmt1[1],
fmt1[2],
concat_fmt(fmt1[3], fmt2)
]);
case /* Nativeint */6 :
return /* Nativeint */Block.__(6, [
fmt1[0],
fmt1[1],
fmt1[2],
concat_fmt(fmt1[3], fmt2)
]);
case /* Int64 */7 :
return /* Int64 */Block.__(7, [
fmt1[0],
fmt1[1],
fmt1[2],
concat_fmt(fmt1[3], fmt2)
]);
case /* Float */8 :
return /* Float */Block.__(8, [
fmt1[0],
fmt1[1],
fmt1[2],
concat_fmt(fmt1[3], fmt2)
]);
case /* Bool */9 :
return /* Bool */Block.__(9, [
fmt1[0],
concat_fmt(fmt1[1], fmt2)
]);
case /* Flush */10 :
return /* Flush */Block.__(10, [concat_fmt(fmt1[0], fmt2)]);
case /* String_literal */11 :
return /* String_literal */Block.__(11, [
fmt1[0],
concat_fmt(fmt1[1], fmt2)
]);
case /* Char_literal */12 :
return /* Char_literal */Block.__(12, [
fmt1[0],
concat_fmt(fmt1[1], fmt2)
]);
case /* Format_arg */13 :
return /* Format_arg */Block.__(13, [
fmt1[0],
fmt1[1],
concat_fmt(fmt1[2], fmt2)
]);
case /* Format_subst */14 :
return /* Format_subst */Block.__(14, [
fmt1[0],
fmt1[1],
concat_fmt(fmt1[2], fmt2)
]);
case /* Alpha */15 :
return /* Alpha */Block.__(15, [concat_fmt(fmt1[0], fmt2)]);
case /* Theta */16 :
return /* Theta */Block.__(16, [concat_fmt(fmt1[0], fmt2)]);
case /* Formatting_lit */17 :
return /* Formatting_lit */Block.__(17, [
fmt1[0],
concat_fmt(fmt1[1], fmt2)
]);
case /* Formatting_gen */18 :
return /* Formatting_gen */Block.__(18, [
fmt1[0],
concat_fmt(fmt1[1], fmt2)
]);
case /* Reader */19 :
return /* Reader */Block.__(19, [concat_fmt(fmt1[0], fmt2)]);
case /* Scan_char_set */20 :
return /* Scan_char_set */Block.__(20, [
fmt1[0],
fmt1[1],
concat_fmt(fmt1[2], fmt2)
]);
case /* Scan_get_counter */21 :
return /* Scan_get_counter */Block.__(21, [
fmt1[0],
concat_fmt(fmt1[1], fmt2)
]);
case /* Scan_next_char */22 :
return /* Scan_next_char */Block.__(22, [concat_fmt(fmt1[0], fmt2)]);
case /* Ignored_param */23 :
return /* Ignored_param */Block.__(23, [
fmt1[0],
concat_fmt(fmt1[1], fmt2)
]);
case /* Custom */24 :
return /* Custom */Block.__(24, [
fmt1[0],
fmt1[1],
concat_fmt(fmt1[2], fmt2)
]);
}
}
}
exports.concat_fmtty = concat_fmtty;
exports.erase_rel = erase_rel;
exports.concat_fmt = concat_fmt;
/* No side effect */