From b4d69a00fd19168e1f8b93bce5e5771c6defbe93 Mon Sep 17 00:00:00 2001 From: sbosse Date: Mon, 21 Jul 2025 23:18:34 +0200 Subject: [PATCH] Mon 21 Jul 22:43:21 CEST 2025 --- js/top/.rcs/jamsh.js,v | 146 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 js/top/.rcs/jamsh.js,v diff --git a/js/top/.rcs/jamsh.js,v b/js/top/.rcs/jamsh.js,v new file mode 100644 index 0000000..1a0fb71 --- /dev/null +++ b/js/top/.rcs/jamsh.js,v @@ -0,0 +1,146 @@ +head 1.1; +access; +symbols; +locks + sbosse:1.1; strict; +comment @# @; + + +1.1 +date 2020.02.03.09.45.01; author sbosse; state Exp; +branches; +next ; + + +desc +@@ + + +1.1 +log +@. +@ +text +@/** + ** ============================== + ** O O O OOOO + ** O O O O O O + ** O O O O O O + ** OOOO OOOO O OOO OOOO + ** O O O O O O O + ** O O O O O O O + ** OOOO OOOO O O OOOO + ** ============================== + ** Dr. Stefan Bosse http://www.bsslab.de + ** + ** COPYRIGHT: THIS SOFTWARE, EXECUTABLE AND SOURCE CODE IS OWNED + ** BY THE AUTHOR(S). + ** THIS SOURCE CODE MAY NOT BE COPIED, EXTRACTED, + ** MODIFIED, OR OTHERWISE USED IN A CONTEXT + ** OUTSIDE OF THE SOFTWARE SYSTEM. + ** + ** $AUTHORS: Stefan Bosse + ** $INITIAL: (C) 2006-2019 bLAB + ** $CREATED: 1-3-18 by sbosse. + ** $VERSION: 1.1.41 + ** + ** $INFO: + ** + ** JAM Shell Interpreter (Front end) + ** + ** $ENDOFINFO + */ +var Comp = Require('com/compat'); +var Io = Require('com/io'); +var doc = Require('doc/doc'); +var readline = Require('com/readline'); +var readlineSync = Require('term/readlineSync'); +var renderer = doc.Renderer({lazy:true}); +var http = Require('http'); +var https = Require('http/https'); +var util = Require('util') +var sip = Require('top/rendezvous'); +var db = Require('db/db'); +// JAM Shell Interpreter (Back end) +var JamShell = Require('shell/shell'); + +var ml = Require('ml/ml') +var nn = Require('nn/nn') +var csp = Require('csp/csp') +var sat = Require('logic/sat') +var csv = Require('parser/papaparse'); +var ampCOM = Require('jam/ampCOM'); +var numerics = Require('numerics/numerics') + +var p; + +var options= { + args:[], + echo: true, + modules : { + csp : csp, + csv : csv, + db : db, + doc : doc, + http : http, + https : https, + ml:ml, + nn:nn, + numerics:numerics, + readline : readline, + readlineSync : readlineSync, + sat : sat, + sip : sip, + }, + extensions : { + url2addr: ampCOM.url2addr, + sleep: process.watchdog&&process.watchdog.sleep? + function (milli) { + process.watchdog.sleep(milli) + }:undefined + }, + nameopts : {length:8, memorable:true, lowercase:true}, + Nameopts : {length:8, memorable:true, uppercase:true}, + output : null, + renderer : renderer, + server : false, + verbose : 0, +} + +process.on('uncaughtException', function (err) { + console.error(err.stack); + console.log("jamsh not exiting..."); +}); + +if ((p=process.argv.indexOf('--'))>0) { + options.args=process.argv.slice(p+1,process.argv.length); + process.argv=process.argv.slice(0,p); +} + +if (process.argv[1].match(/jamsh$/)||process.argv[1].match(/jamsh\.debug$/)) { + var ind; + if (process.argv.indexOf('-h')>0) return print('usage: jamsh [-v -s] [script] [-e "shell commands"]'); + if ((ind=process.argv.indexOf('-e'))>0) { + options.server=true; + options.output=console.log; + options.exec=process.argv[ind+1]; + } else if (process.argv.length>2) { + var script = process.argv.filter(function (arg,ind) { + return ind>1 && arg.indexOf(':') == -1 && arg.indexOf('-') != 0; + }); + if (script.length == 1) { + options.script=script[0]; + options.output=console.log; + options.server=true; + } + } + process.argv.forEach(function (arg) { + switch (arg) { + case '-v': options.verbose++; break; + case '-s': options.server=false; break; + } + }) + if (!options.server && options.verbose==0) options.verbose=1; + JamShell(options).init(); +} +@