diff options
author | alon@honor <none@none> | 2010-09-25 13:09:16 -0700 |
---|---|---|
committer | alon@honor <none@none> | 2010-09-25 13:09:16 -0700 |
commit | 000576609aa6edaf2c7ce43f6d2baff1959926bb (patch) | |
tree | 58aaea86c482ed3632811656a59b0d86aafc73fe | |
parent | 42725f4dd5a51beb555272fc13d30b3d671e151f (diff) |
improve snippets format, and a few additional library implementations
-rw-r--r-- | src/jsifier.js | 6 | ||||
-rw-r--r-- | src/snippets.js | 19 |
2 files changed, 17 insertions, 8 deletions
diff --git a/src/jsifier.js b/src/jsifier.js index 292dcce5..45b2e397 100644 --- a/src/jsifier.js +++ b/src/jsifier.js @@ -144,7 +144,11 @@ function JSify(data) { processItem: function(item) { var shortident = item.ident.substr(1); if (shortident in Snippets) { - item.JS = item.ident + ' = ' + Snippets[shortident].toString(); + var snippet = Snippets[shortident]; + if (typeof snippet === 'string') { + snippet = Snippets[snippet]; // redirection for aliases + } + item.JS = item.ident + ' = ' + snippet.toString(); } else { item.JS = '// stub for ' + item.ident; } diff --git a/src/snippets.js b/src/snippets.js index a30ca7c8..8779e87f 100644 --- a/src/snippets.js +++ b/src/snippets.js @@ -12,6 +12,11 @@ var Snippets = { putchar: function(p) { __print__(String.fromCharCode(p)); }, + _ZNSo3putEc: 'putchar', + + _ZNSo5flushEv: function() { + __print__('\n'); + }, // ? @@ -27,6 +32,7 @@ var Snippets = { atexit: function(func) { __ATEXIT__.push(func); }, + __cxa_atexit: 'atexit', // string.h @@ -130,6 +136,7 @@ var Snippets = { // iostream _ZNSt8ios_base4InitC1Ev: function() { }, + _ZNSt8ios_base4InitD1Ev: '_ZNSt8ios_base4InitC1Ev', _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_: 0, // endl _ZNSolsEi: function(stream, data) { __print__(data); @@ -143,16 +150,14 @@ var Snippets = { _ZNSolsEPFRSoS_E: function(stream, data) { __print__('\n'); }, + _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i: function(stream, data, call_) { + __print__(Pointer_stringify(data)); + }, // math.h - sqrt: function(x) { return Math.sqrt(x) }, cos: function(x) { return Math.cos(x) }, sin: function(x) { return Math.sin(x) }, + sqrt: function(x) { return Math.sqrt(x) }, + llvm_sqrt_f64: 'sqrt', }; -// Aliases ============================ - -Snippets.__cxa_atexit = Snippets.atexit; -// iostream -Snippets._ZNSt8ios_base4InitD1Ev = Snippets._ZNSt8ios_base4InitC1Ev; - |