70 lines
2.5 KiB
Plaintext
70 lines
2.5 KiB
Plaintext
/* BOOLEANOS.H */
|
|
#context-free preparaciondedatos
|
|
fijar separador (NULO)
|
|
|
|
c=""
|
|
tamaño binario (VARS)
|
|
|
|
#( lpad("0",VARS,"0") ), separar para (tabla)
|
|
#( TOTCOMB = 2^VARS )
|
|
iterar para (i=1, #(i< TOTCOMB), ++i)
|
|
|
|
i, cambiar a base(2), quitar laterales, mover a 'c',
|
|
#( lpad("0",VARS,c) ); separar para (fila)
|
|
unir filas ( tabla, tabla, fila )
|
|
|
|
siguiente
|
|
|
|
replicar( "|", TOTCOMB ), separar para (separador tabla)
|
|
|
|
retornar\\
|
|
|
|
#define A V(1)
|
|
#define B V(2)
|
|
#define C V(3)
|
|
#define D V(4)
|
|
#define E V(5)
|
|
#define F V(6)
|
|
#define G V(7)
|
|
#define H V(8)
|
|
// etcétera
|
|
#define V(_X_) {1}{_X_}loc2;{TOTCOMB}{0}offset2;get(tabla);xtonum
|
|
|
|
#define-a :: mov
|
|
|
|
#defn OP<=>(_X_,_Y_) #RAND; _V1_#RNDV_=0;_V2_#RNDV_=0;#ATOM#CMPLX;\
|
|
cpy(_V1_#RNDV_);\
|
|
#ATOM#CMPLX;cpy(_V2_#RNDV_);and;{_V1_#RNDV_}not;\
|
|
{_V2_#RNDV_}not;and;or; %RAND;
|
|
#defn OP=>(_X_,_Y_) #ATOM#CMPLX;not;#ATOM#CMPLX;or;
|
|
#defn OP&(_X_,_Y_) #ATOM#CMPLX;#ATOM#CMPLX;and;
|
|
#defn OP|(_X_,_Y_) #ATOM#CMPLX;#ATOM#CMPLX;or;
|
|
#defn OP^(_X_,_Y_) #ATOM#CMPLX;#ATOM#CMPLX;xor;
|
|
#defn OP~&(_X_,_Y_) #ATOM#CMPLX;#ATOM#CMPLX;nand;
|
|
#defn OP~|(_X_,_Y_) #ATOM#CMPLX;#ATOM#CMPLX;nor;
|
|
#defn OP~(_X_) #ATOM#CMPLX;not;
|
|
|
|
#defn variables(*) #GENCODE $$$*$$$ #LIST={#VOID};#ENDGEN
|
|
|
|
#define expresiónlógicaaevaluar {1}do
|
|
#synon expresiónlógicaaevaluar prepararcabecera
|
|
|
|
#define centrar ;padcenter;
|
|
|
|
#define insertarcabeceraydesplegartabla {cabecera}length;\
|
|
mov(LENTABLA); \
|
|
dim (LENTABLA) matriz rellena ("-----",vsep),\
|
|
unir filas ( cabecera, cabecera, vsep,tabla ) \
|
|
{" ",7,cabecera}, convertir a cadena, centrar,\
|
|
mover a 'cabecera'\
|
|
transformar("1","T", transformar("0","F", cabecera)) \
|
|
guardar en 'cabecera',\
|
|
imprimir( cabecera, NL )
|
|
|
|
#define prepararvaloresdeverdad decimales '0' \
|
|
tabla={#VOID}, fila={#VOID}, separador tabla={#VOID},\
|
|
cabecera={#VOID}, TOTCOMB=0, LENTABLA=0,\
|
|
preparacion de datos
|
|
|
|
/* EOF */
|