Interprete sicuro basato su file.

fCalc è stato il mio primo software scritto in C secondo lo standard ANSI.

Importante: questo software è stato codificato nella mia giovinezza quando ero ancora alle prime armi con la programmazione e, per quanto fosse notevole per l'epoca, ormai risulta totalmente obsoleto. Rimane come "memorandum" sulla struttura dei vecchi software ANSI C.

Descrizione

fCalc è un linguaggio di scripting puro ed estremamente veloce: mentre legge il file sorgente ne esegue le istruzioni, mostrando sul terminale i risultati in un formato standard.

La peculiarità del linguaggio è che ciascuna istruzione è formata soltanto da 3 elementi sintattici minimali che operano su locazioni di memoria limitate agli interi. Il linguaggio è Turing-completo soltanto se il sistema supporta il random file-seeking, ma le versioni sperimentali possono fare iterazioni totalmente file-based. Il linguaggio supporta la sostituzione di operatore, l'arrotondamento implicito ed esegue calcoli impossibili (ritornando, pericolosamente, zero) là dove altri interpreti si bloccano o causano errori di sistema.

fCalc è molto affidabile e funziona praticamente ovunque.

Istruzioni per l'uso

Le informazioni su sintassi e semantica del linguaggio fCalc sono incluse negli archivi scaricabili da questa pagina. Il linguaggio è sintatticamente semplice ma semanticamente complesso, quindi la lettura del manuale è fortemente consigliata prima dell'uso.

L'output di uno script fCalc è sempre nella forma:

 USER CFG: 2 1 3 6 7

 6 : 2 =    3
 0 s 0 =    3
{:==:}  6 : 5 =     1
 600 : -500 =   -1
 6 % 2 =    0
 600 % -500 =   100
 -5 ^ 3 =   -125
 5 ^ -3 =   1
 10 ^ 5 =   100000
 1 + 1 =    2
 1 + -1 =   0
 100 * -200 =   -20000
 1 - 1 =    0
 1 * 2 =    2
 50 J 2 =   2
 6   2 =    2
 6   1 =    2
 5 ^ 2 =    25
 5 | 1 =    -5
 -5 | 0 =   5
 1 s 1 =    5
 5 + 1 =    6
 1 / 92 =   6
* 5 5
Ciao sono Lorenzo!!!
Sono giunto a te per il bene, e solo per quello!?!
Ciao!
* 5 2

Consulta il manuale per interpretare l'output e prevenire errori di calcolo.

Nota: lo script comprenso nella distribuzione è codificato per attendere all'infinito dopo alcuni calcoli, in modo da consentire il debugging. Per chi ha letto il manuale sarà estremamente semplice rimuovere il loop e per chi non lo ha letto... sarà il momento di leggerlo. ;-)

Requisiti consigliati

fCalc funziona praticamente ovunque previa compilazione con i flag corretti (es. -ldl per GCC su Linux).

Le risorse richieste per l'esecuzione sono talmente basse che non è possibile riportare i requisiti minimi. Basti sapere che funziona correttamente su device IoT di fascia bassa.

Licenza d'uso

fCalc è un FOSS con licenza Creative Commons (CC-BY-SA 3.0). Tutti possono visionare i sorgenti ma il software non è più sviluppato nè mantenuto e quindi non saranno aggiunte altre features (raccomando di limitarne l'uso al solo fine didattico o perlomeno di modificarlo prima di usarlo per altri scopi).

Forniscono sempre un minimo di supporto e puoi segnalare bug o problemi di sicurezza.

Download

  • lorenzoancora.info ospita sempre la release più stabile (0.6) per Windows (MinGW) e Linux (compilare con GCC)

    Dal questo sito puoi scaricare le versioni 0.1 + 0.2, 0.3, 0.4, 0.5, 0.6 e 0.7-devel.