WHAT IS PAX?
============

PAX is a parallel natural language parsing system. It algorythm is left
corner bottomup parsing. PAX purses input sentences in both AND-parallel and
OR-parallel to speed up the execution.

The system consists of a two parts. One is the "translator" which translates
a grammar in DCG format into a KL1 program. And the other is "start-up
program" which invokes the KL1 program. The translator and the start-up
program are written in ESP and KL1 respectively.


HOW TO USE IT
=============

1) Translation of Grammar into KL1 Program

Translate a grammar into KL1 Program using "trans/4" method of the translator
on SIMPOS's debugger.

 ex)
	?- :new(#new_pax_trans,T).    
		% creation of translator's instance object
	?- :trans(T, "me:PAX>SF15>sf15",2,_X).
		% start translation


  :trans(T, F, P, ^X).
	T ... instance object of the Translator
	F ... path specification of a grammar file in string 
		(file suffix must be omitted)
 	P ... Optimization lebel (0,1,2)
		Give larger value toe make the KL1 program size small
		and to run efficiently.
	X ... Number of ID's the translatore has created

The translated KL1 program will be created in the file with ".kl1" suffix.

2) Preparation for Comiling the KL1 Program

   a) Rename the  module name for Extra condition Program (exc.kl1).

 	If the grammar file is "sf15.dcg", then the module name will be,
			sf15_exc

   b) Rename the module name for the Start-up program (pax_start.kl1)

 loop([Symbol|T], In, CP, PEs, Out2) :- true |
 	    merge(Out1, Out),
	    sf15_t:call(Symbol, In, Out1),
	    ^^^^^^^
	    PE := (CP + 1) mod PEs,
	    loop(T, [CP|Out], PE, PEs, Out2)@node(PE).
	
	
3) Compilation of KL1 Programs

Compile following programs by KL1 compiler.
   a) All the KL1 files created by the translator
   b) exc.kl1 (Extra condition programs)
   c) pax_start.kl1 (Start-up program)

 example)
	[1] cd "me:PAX>SF15".  
	[2] compile(["sf15_0","sf15_1","sf15_2","sf15_3","sf15_4","sf15_5",
		     "sf15_6","sf15_7","sf15_8","sf15_9","sf15_10","sf15_11",
		     "sf15_12","sf15_13","sf15_14","sf15_15","sf15_16",
		     "sf15_t","exc", "pax_start"]).

4) Execution
	pax_start:go(In, N, ^Out).
		In  ... Input sentence (list of words)
		N   ... Number of PEs to use
		Out ... output

	
HARDWARE ans OS PLATFORMS
=========================
SIMPOS, PIMOS


LIST of FILES
=========================

 TRANS>       		% Translator program
  num0.esp.1
  num1.esp.1
  num2.esp.1
  out.esp.1
  path1.esp.1
  path2.esp.1
  path3.esp.2
  trans.esp.1
  pax_start.kl1.1	% start-up program

 SAMPLE>		
  exc.kl1		% extra condition program
  pax.dcg		% sample grammar
  sample.txt		% sample sentences
  util.kl1		% utility for condition program
  

INSTALLING
===========

Catalogue and save all the translator programs by SIMPOS librarian.


