Mon 21 Jul 22:43:21 CEST 2025

This commit is contained in:
sbosse 2025-07-21 23:18:34 +02:00
parent 34ad1b9adb
commit b4d69a00fd

146
js/top/.rcs/jamsh.js,v Normal file
View File

@ -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();
}
@