Advertisement
Guest User

tokens.js

a guest
Oct 31st, 2014
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var fs = require('fs');
  2.  
  3. function _print_tokens(obj) {
  4.     switch (typeof obj) {
  5.         case 'string':
  6.             console.log('string: '+JSON.stringify(obj));
  7.             break;
  8.  
  9.         case 'number':
  10.             console.log('number:',obj);
  11.             break;
  12.  
  13.         case 'boolean':
  14.             console.log('boolean:',obj);
  15.             break;
  16.  
  17.         case 'object':
  18.             if (Array.isArray(obj)) {
  19.                 console.log('[');
  20.                 for (var i = 0; i < obj.length; ++ i) {
  21.                     _print_tokens(obj[i]);
  22.                 }
  23.                 console.log(']');
  24.             }
  25.             else if (null === obj) {
  26.                 console.log('null');
  27.             }
  28.             else {
  29.                 console.log('{');
  30.                 for (var key in obj) {
  31.                     _print_tokens(key);
  32.                     _print_tokens(obj[key]);
  33.                 }
  34.                 console.log('}');
  35.             }
  36.             break;
  37.  
  38.         default:
  39.             throw new Error('unknown type: '+(typeof obj));
  40.     }
  41. }
  42.  
  43. function print_tokens(obj) {
  44.     _print_tokens(obj);
  45.     console.log('end');
  46. }
  47.  
  48. function main (argv) {
  49.     for (var i = 1; i < argv.length; ++ i) {
  50.         var filename = argv[i];
  51.         var buf = fs.readFileSync(filename, 'utf8');
  52.         var obj = JSON.parse(buf);
  53.  
  54.         print_tokens(obj);
  55.     }
  56. }
  57.  
  58. main(process.argv);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement