#!/usr/bin/tclsh
set op(0) ||
set op(1) &&
foreach paren {0 1} {
foreach AB {0 1} {
foreach BC {0 1} {
foreach Aneg {0 1} {
foreach Bneg {0 1} {
foreach Cneg {0 1} {
foreach A {0 1} {
foreach B {0 1} {
foreach C {0 1} {
set name ""
if {!$paren} {append name "("}
if {$Aneg} {append name "!"}
append name $A
append name " $op($AB) "
if {$paren} {append name "("}
if {$Bneg} {append name "!"}
append name $B
if {!$paren} {append name ")"}
append name " $op($BC) "
if {$Cneg} {append name "!"}
append name $C
if {$paren} {append name ")"}
set ans [expr $name]
regsub -all {&&} $name {\&} name
regsub -all {\|\|} $name {|} name
puts "name:{$name = $ans}"
puts "I:$paren $Aneg $A $AB $Bneg $B $BC $Cneg $C T: $ans;"
}
}
}
}
}
}
}
}
}
syntax highlighted by Code2HTML, v. 0.9.1