portal Michała Hanćkowiaka
Begin main content
wm withdraw .; wm geom .konsola 708x824+486+185; wm geom .output 379x700+1208+188; # Morasko

## testujemy uruchamianie clipsa i konwersacje z nim, 11.2019
# + uwaga: trzeba czekac na prompt "CLIPS> " zanim sie wysle kolejna cmd/odp !!
#

set cli [open {|./clips624 -f2 animal.clp} r+]; # wl clipsa...
fconfigure $cli -blocking 0
fileevent $cli readable "cli_obsluga $cli"
set pro 0
set buf {}
proc cli_obsluga {cli} {
  global pro buf
  set x [read $cli]
  _puts "|$x|"
  set buf $x
  if {[string match "*CLIPS> " $x]} {set pro 1}
  # + tu moze byc reakcja na odp od clipsa
  #  tj wysylanie odp http do przekladarki...
  #  lacznie z odp koncowa i wylaczeniem clipsa...
}
vwait pro
puts $cli "(reset)"; flush $cli
vwait pro
puts $cli "(run)"; flush $cli; vwait buf; set _ "buf=$buf"
  # + to ^^ robimy na poczatku...
  #% buf=Does your animal have a backbone? (yes no)

set pro 0;  puts $cli "yes"; flush $cli; vwait buf; set _ "pro=$pro; buf=$buf"
  #% pro=1; buf=yes
CLIPS>
  #% pro=0; buf=I think your animal is a bat

  #% pro=0; buf=Can your animal fly? (yes no)
  #% pro=0; buf=Does your animal eat red meat? (yes no)
  #% pro=0; buf=Normally, does the female of your animal nurse its young with milk? (yes no)
  #% pro=0; buf=Is the animal warm blooded? (yes no)
  # + to ^^ powinno byc robione w cli_obsluga...

puts $cli "(exit)"; close $cli;  # wyl clipsa...
  # + to ^^ robimy po odpowiedzi koncowej...

exec ps -O ppid









exit

uwaga: portal używa ciasteczek tylko do obsługi tzw. sesji...