head	1.17;
access;
symbols;
locks; strict;
comment	@# @;


1.17
date	2001.07.08.04.50.16;	author david;	state Exp;
branches;
next	1.16;

1.16
date	2001.06.28.12.09.55;	author david;	state Exp;
branches;
next	1.15;

1.15
date	2001.06.28.11.24.19;	author david;	state Exp;
branches;
next	1.14;

1.14
date	2001.06.28.01.02.58;	author david;	state Exp;
branches;
next	1.13;

1.13
date	2001.06.27.15.04.45;	author david;	state Exp;
branches;
next	1.12;

1.12
date	2001.06.22.04.26.17;	author david;	state Exp;
branches;
next	1.11;

1.11
date	2001.06.21.15.20.00;	author david;	state Exp;
branches;
next	1.10;

1.10
date	2000.11.01.01.14.37;	author david;	state Exp;
branches;
next	1.9;

1.9
date	2000.10.27.18.04.29;	author david;	state Exp;
branches;
next	1.8;

1.8
date	2000.10.13.11.18.17;	author david;	state Exp;
branches;
next	1.7;

1.7
date	2000.10.13.11.01.56;	author david;	state Exp;
branches;
next	1.6;

1.6
date	2000.09.13.13.26.15;	author david;	state Exp;
branches;
next	1.5;

1.5
date	2000.09.13.13.07.14;	author david;	state Exp;
branches;
next	1.4;

1.4
date	2000.07.12.02.18.38;	author david;	state Exp;
branches;
next	1.3;

1.3
date	2000.07.09.13.04.12;	author david;	state Exp;
branches;
next	1.2;

1.2
date	2000.06.21.10.56.54;	author david;	state Exp;
branches;
next	1.1;

1.1
date	2000.06.15.12.35.41;	author david;	state Exp;
branches;
next	;


desc
@@


1.17
log
@Added Simple Generator.
@
text
@##############################################################
# Makefile for Conceptual Graph Processes (pCG) interpreter. #
##############################################################

###############
# Object code #
###############
OBJS = pCG cgp/CGP.class \
	cgp/CGPLexer.class cgp/CGPParser.class cgp/CGPInterpreter.class \
	cgp/CGPTokenTypes.class \
	cgp/runtime/Namespace.class \
	cgp/runtime/Scope.class \
	cgp/runtime/ScopeStack.class \
	cgp/runtime/KBase.class \
	cgp/runtime/KnowledgeBaseStack.class \
	cgp/runtime/Type.class \
	cgp/runtime/BooleanType.class \
	cgp/runtime/NumberType.class \
	cgp/runtime/StringType.class \
	cgp/runtime/ConceptType.class \
	cgp/runtime/GraphType.class \
	cgp/runtime/ListType.class \
	cgp/runtime/LambdaType.class \
	cgp/runtime/ActorType.class \
	cgp/runtime/FunctionType.class \
	cgp/runtime/ProcessType.class \
	cgp/runtime/Rule.class \
	cgp/runtime/FileType.class \
	cgp/runtime/SubActorInfo.class \
	cgp/runtime/FormalParameter.class\
	cgp/runtime/ReturnException.class \
	cgp/runtime/GraphException.class \
	cgp/runtime/ActorException.class \
	cgp/runtime/newtypes/Window.class \
	cgp/runtime/newtypes/Util.class \
	cgp/translators/AntlrCGIFLexer.class \
	cgp/translators/AntlrCGIFParser.class \
	cgp/translators/AntlrCGIFTokenTypes.class \
	cgp/translators/CGIFParser.class \
        cgp/translators/CGIFGenerator.class \
	cgp/translators/SimpleGenerator.class \
	cgp/translators/NumericQuantifier.class \
	cgp/translators/DefinedQuantifier.class \
	cgp/translators/ContextScope.class \
	cgp/translators/ContextScopeStack.class

#############
# Classpath #
#############
JAVA_TOOLS = $(HOME)/java-tools
ANTLR_HOME = $(JAVA_TOOLS)/antlr-2.7.0
NOTIO = $(JAVA_TOOLS)/notio/Notio.jar
CGP_HOME = $(HOME)/cgp
CLASSES = $(CGP_HOME):$(ANTLR_HOME):$(NOTIO)

#################
# Other Targets #
#################
all: $(OBJS)

clean:
	rm -f pcg.tar.gz
	rm -f cgp/*.class
	rm -f cgp/runtime/*.class
	rm -f cgp/runtime/newtypes/*.class
	rm -f cgp/CGPLexer.java
	rm -f cgp/CGPParser.java
	rm -f cgp/CGPInterpreter.java
	rm -f cgp/*TokenTypes.*
	rm -rf docs/*
	rm -f cgp/translators/*.class
	rm -f cgp/translators/AntlrCGIFLexer.java
	rm -f cgp/translators/AntlrCGIFParser.java
	rm -f cgp/translators/*TokenTypes.*

###################################
# Create the distribution archive #
#       *** UPDATE EXAMPLES ***   #
###################################
dist:
	zip -r cgp.zip $(CGP_HOME)

#################
# Documentation #
#################
doc:
	javadoc -classpath $(CLASSES) -private -d docs cgp cgp.runtime cgp.runtime.newtypes cgp.translators

#########################
# Generate EBNF as HTML #
#########################
bnf:
	java -classpath $(CLASSES) antlr.Tool -html -o docs cgp/CGPParser.g

	java -classpath $(CLASSES) antlr.Tool -html -o docs cgp/translators/AntlrCGIFParser.g

###################
# CGP interpreter #
#                 #
# Note: perhaps   #
# cgp.jar should  #
# be the target,  #
# not pCG.        #
###################
pCG: cgp/CGPLexer.class cgp/CGPParser.class cgp/CGPInterpreter.class \
     cgp/CGPTokenTypes.class cgp/CGP.class \
     cgp/runtime/Namespace.class \
     cgp/runtime/Scope.class \
     cgp/runtime/ScopeStack.class \
     cgp/runtime/KBase.class \
     cgp/runtime/KnowledgeBaseStack.class \
     cgp/runtime/Type.class \
     cgp/runtime/NumberType.class \
     cgp/runtime/BooleanType.class \
     cgp/runtime/StringType.class \
     cgp/runtime/ConceptType.class \
     cgp/runtime/GraphType.class \
     cgp/runtime/ListType.class \
     cgp/runtime/LambdaType.class \
     cgp/runtime/ActorType.class \
     cgp/runtime/FunctionType.class \
     cgp/runtime/ProcessType.class \
     cgp/runtime/Rule.class \
     cgp/runtime/FileType.class \
     cgp/runtime/SubActorInfo.class \
     cgp/runtime/FormalParameter.class \
     cgp/runtime/ReturnException.class \
     cgp/runtime/GraphException.class \
     cgp/runtime/ActorException.class \
     cgp/runtime/newtypes/Window.class \
     cgp/runtime/newtypes/Util.class \
     cgp/translators/AntlrCGIFLexer.class \
     cgp/translators/AntlrCGIFParser.class \
     cgp/translators/AntlrCGIFParser.class \
     cgp/translators/AntlrCGIFTokenTypes.class \
     cgp/translators/CGIFParser.class \
     cgp/translators/CGIFGenerator.class \
     cgp/translators/SimpleGenerator.class \
     cgp/translators/NumericQuantifier.class \
     cgp/translators/DefinedQuantifier.class \
     cgp/translators/ContextScope.class \
     cgp/translators/ContextScopeStack.class
	jar -cf lib/cgp.jar cgp/*.class cgp/runtime/*.class cgp/translators/*.class
	touch pCG
	chmod +x pCG

cgp/CGPLexer.class: cgp/CGPLexer.java
	javac -classpath $(CLASSES) cgp/CGPLexer.java

cgp/CGPParser.class: cgp/CGPParser.java
	javac -classpath $(CLASSES) cgp/CGPParser.java

cgp/CGPInterpreter.class: cgp/CGPInterpreter.java
	javac -classpath $(CLASSES) cgp/CGPInterpreter.java

cgp/CGPTokenTypes.class: cgp/CGPTokenTypes.java
	javac -classpath $(CLASSES) cgp/CGPTokenTypes.java

cgp/CGP.class: cgp/CGP.java
	javac -classpath $(CLASSES) cgp/CGP.java

cgp/CGPLexer.java: cgp/CGPParser.g
	java -classpath $(CLASSES) antlr.Tool -o cgp cgp/CGPParser.g

cgp/CGPParser.java: cgp/CGPParser.g
# CGPParser.java is generated by the preceding rule before this one is reached.

cgp/CGPInterpreter.java: cgp/CGPInterpreter.g
	java -classpath $(CLASSES) antlr.Tool -o cgp cgp/CGPInterpreter.g

#################
# Run-time code #
#################
cgp/runtime/Namespace.class: cgp/runtime/Namespace.java
	javac -classpath $(CLASSES) cgp/runtime/Namespace.java

cgp/runtime/Scope.class: cgp/runtime/Scope.java
	javac -classpath $(CLASSES) cgp/runtime/Scope.java

cgp/runtime/ScopeStack.class: cgp/runtime/ScopeStack.java
	javac -classpath $(CLASSES) cgp/runtime/ScopeStack.java

cgp/runtime/KBase.class: cgp/runtime/KBase.java
	javac -classpath $(CLASSES) cgp/runtime/KBase.java

cgp/runtime/KnowledgeBaseStack.class: cgp/runtime/KnowledgeBaseStack.java
	javac -classpath $(CLASSES) cgp/runtime/KnowledgeBaseStack.java

cgp/runtime/Type.class: cgp/runtime/Type.java
	javac -classpath $(CLASSES) cgp/runtime/Type.java

cgp/runtime/NumberType.class: cgp/runtime/NumberType.java
	javac -classpath $(CLASSES) cgp/runtime/NumberType.java

cgp/runtime/BooleanType.class: cgp/runtime/BooleanType.java
	javac -classpath $(CLASSES) cgp/runtime/BooleanType.java

cgp/runtime/StringType.class: cgp/runtime/StringType.java
	javac -classpath $(CLASSES) cgp/runtime/StringType.java

cgp/runtime/ConceptType.class: cgp/runtime/ConceptType.java
	javac -classpath $(CLASSES) cgp/runtime/ConceptType.java

cgp/runtime/GraphType.class: cgp/runtime/GraphType.java
	javac -classpath $(CLASSES) cgp/runtime/GraphType.java

cgp/runtime/ListType.class: cgp/runtime/ListType.java
	javac -classpath $(CLASSES) cgp/runtime/ListType.java

cgp/runtime/LambdaType.class: cgp/runtime/LambdaType.java
	javac -classpath $(CLASSES) cgp/runtime/LambdaType.java

cgp/runtime/ActorType.class: cgp/runtime/ActorType.java
	javac -classpath $(CLASSES) cgp/runtime/ActorType.java

cgp/runtime/SubActorInfo.class: cgp/runtime/SubActorInfo.java
	javac -classpath $(CLASSES) cgp/runtime/SubActorInfo.java

cgp/runtime/FunctionType.class: cgp/runtime/FunctionType.java
	javac -classpath $(CLASSES) cgp/runtime/FunctionType.java

cgp/runtime/ProcessType.class: cgp/runtime/ProcessType.java
	javac -classpath $(CLASSES) cgp/runtime/ProcessType.java

cgp/runtime/Rule.class: cgp/runtime/Rule.java
	javac -classpath $(CLASSES) cgp/runtime/Rule.java

cgp/runtime/FileType.class: cgp/runtime/FileType.java
	javac -classpath $(CLASSES) cgp/runtime/FileType.java

cgp/runtime/FormalParameter.class: cgp/runtime/FormalParameter.java
	javac -classpath $(CLASSES) cgp/runtime/FormalParameter.java

cgp/runtime/ReturnException.class: cgp/runtime/ReturnException.java
	javac -classpath $(CLASSES) cgp/runtime/ReturnException.java

cgp/runtime/GraphException.class: cgp/runtime/GraphException.java
	javac -classpath $(CLASSES) cgp/runtime/GraphException.java

cgp/runtime/ActorException.class: cgp/runtime/ActorException.java
	javac -classpath $(CLASSES) cgp/runtime/ActorException.java

####################################################
# User-defined types.                              #
# Add rules here and add targets in 2 places above #
# (look for newtypes in path).                     #
####################################################
cgp/runtime/newtypes/Window.class: cgp/runtime/newtypes/Window.java
	javac -classpath $(CLASSES) cgp/runtime/newtypes/Window.java

cgp/runtime/newtypes/Util.class: cgp/runtime/newtypes/Util.java
	javac -classpath $(CLASSES) cgp/runtime/newtypes/Util.java

###############
# CGIF Parser #
###############
cgp/translators/AntlrCGIFLexer.class: cgp/translators/AntlrCGIFLexer.java
	javac -classpath $(CLASSES) cgp/translators/AntlrCGIFLexer.java

cgp/translators/AntlrCGIFParser.class: cgp/translators/AntlrCGIFParser.java
	javac -classpath $(CLASSES) cgp/translators/AntlrCGIFParser.java

cgp/translators/AntlrCGIFTokenTypes.class: cgp/translators/AntlrCGIFTokenTypes.java
	javac -classpath $(CLASSES) cgp/translators/AntlrCGIFTokenTypes.java

cgp/translators/AntlrCGIFLexer.java: cgp/translators/AntlrCGIFParser.g
	java -classpath $(CLASSES) antlr.Tool -o cgp/translators cgp/translators/AntlrCGIFParser.g

cgp/translators/AntlrCGIFParser.java: cgp/translators/AntlrCGIFParser.g

cgp/translators/CGIFParser.class: cgp/translators/CGIFParser.java
	javac -classpath $(CLASSES) cgp/translators/CGIFParser.java

cgp/translators/NumericQuantifier.class: cgp/translators/NumericQuantifier.java
	javac -classpath $(CLASSES) cgp/translators/NumericQuantifier.java

cgp/translators/DefinedQuantifier.class: cgp/translators/DefinedQuantifier.java
	javac -classpath $(CLASSES) cgp/translators/DefinedQuantifier.java

cgp/translators/ContextScope.class: cgp/translators/ContextScope.java
	javac -classpath $(CLASSES) cgp/translators/ContextScope.java

cgp/translators/ContextScopeStack.class: cgp/translators/ContextScopeStack.java
	javac -classpath $(CLASSES) cgp/translators/ContextScopeStack.java

##################
# CGIF Generator #
##################
cgp/translators/CGIFGenerator.class: cgp/translators/CGIFGenerator.java
	javac -classpath $(CLASSES) cgp/translators/CGIFGenerator.java

cgp/translators/SimpleGenerator.class: cgp/translators/SimpleGenerator.java
	javac -classpath $(CLASSES) cgp/translators/SimpleGenerator.java
@


1.16
log
@Removed redundant rule
@
text
@d41 1
d138 1
d291 3
@


1.15
log
@Added target for CGIFGenerator
@
text
@a283 3
cgp/translators/AntlrCGIFParser.class: cgp/translators/AntlrCGIFParser.java
	javac -classpath $(CLASSES) cgp/translators/AntlrCGIFParser.java

a288 1

@


1.14
log
@Added command to generate Antlr CGIF parser.
@
text
@d40 1
a72 2
	rm -f cgp/translators/AntlrCGIFTokenTypes.*
	rm -f cgp/translators/CGIFParser.class
d80 1
a80 8
	tar -cf pcg.tar pCG
	tar -uf pcg.tar lib/*
	tar -uf pcg.tar examples/Figure1.*
	tar -uf pcg.tar examples/Factorial.*
	tar -uf pcg.tar examples/dbl2singQ.pl
	tar -uf pcg.tar examples/KBTest.cgp
	tar -uf pcg.tar examples/SimpleProcess.cgp
	gzip pcg.tar
d133 1
d136 1
d283 10
@


1.13
log
@Cleaned up.
@
text
@d100 3
a102 1
	java -classpath $(CLASSES) antlr.Tool -html -o docs cgp/CGPParser.g cgp/translators/AntlrCGIFParser.g
@


1.12
log
@Changed cgif to translators package.
@
text
@d40 4
a43 1
	cgp/translators/CGIFTest.class
d78 1
a78 1
#       *** UPDATE THIS ***       #
d100 1
a100 1
	java -classpath $(CLASSES) antlr.Tool -html -o docs cgp/CGPParser.g
d141 4
a144 1
     cgp/translators/CGIFTest.class
a167 1
#	java -classpath $(CLASSES) antlr.Tool -o cgp cgp/CGPParser.g
a267 3
cgp/translators/CGIFTest.class: cgp/translators/CGIFTest.java
	javac -classpath $(CLASSES) cgp/translators/CGIFTest.java

d275 12
@


1.11
log
@Stable version.
@
text
@d36 5
a40 5
	cgp/cgif/AntlrCGIFLexer.class \
	cgp/cgif/AntlrCGIFParser.class \
	cgp/cgif/AntlrCGIFTokenTypes.class \
	cgp/cgif/CGIFParser.class \
	cgp/cgif/CGIFTest.class
d66 6
a71 6
	rm -f cgp/cgif/*.class
	rm -f cgp/cgif/AntlrCGIFLexer.java
	rm -f cgp/cgif/AntlrCGIFParser.java
	rm -f cgp/cgif/AntlrCGIFTokenTypes.*
	rm -f cgp/cgif/CGIFParser.class
	rm -f cgp/cgif/*TokenTypes.*
d91 1
a91 1
	javadoc -classpath $(CLASSES) -private -d docs cgp cgp.runtime cgp.runtime.newtypes cgp.cgif
d134 6
a139 6
     cgp/cgif/AntlrCGIFLexer.class \
     cgp/cgif/AntlrCGIFParser.class \
     cgp/cgif/AntlrCGIFTokenTypes.class \
     cgp/cgif/CGIFParser.class \
     cgp/cgif/CGIFTest.class
	jar -cf lib/cgp.jar cgp/*.class cgp/runtime/*.class cgp/cgif/*.class
d254 2
a255 2
cgp/cgif/AntlrCGIFLexer.class: cgp/cgif/AntlrCGIFLexer.java
	javac -classpath $(CLASSES) cgp/cgif/AntlrCGIFLexer.java
d257 2
a258 2
cgp/cgif/AntlrCGIFParser.class: cgp/cgif/AntlrCGIFParser.java
	javac -classpath $(CLASSES) cgp/cgif/AntlrCGIFParser.java
d260 2
a261 2
cgp/cgif/AntlrCGIFTokenTypes.class: cgp/cgif/AntlrCGIFTokenTypes.java
	javac -classpath $(CLASSES) cgp/cgif/AntlrCGIFTokenTypes.java
d263 2
a264 2
cgp/cgif/CGIFTest.class: cgp/cgif/CGIFTest.java
	javac -classpath $(CLASSES) cgp/cgif/CGIFTest.java
d266 2
a267 2
cgp/cgif/AntlrCGIFLexer.java: cgp/cgif/AntlrCGIFParser.g
	java -classpath $(CLASSES) antlr.Tool -o cgp/cgif cgp/cgif/AntlrCGIFParser.g
d269 1
a269 1
cgp/cgif/AntlrCGIFParser.java: cgp/cgif/AntlrCGIFParser.g
d271 2
a272 2
cgp/cgif/CGIFParser.class: cgp/cgif/CGIFParser.java
	javac -classpath $(CLASSES) cgp/cgif/CGIFParser.java
@


1.10
log
@Added user types, added to clean target.
@
text
@d35 6
a40 1
	cgp/runtime/newtypes/Util.class
d66 6
d75 1
d91 1
a91 1
	javadoc -classpath $(CLASSES) -private -d docs cgp cgp.runtime cgp.runtime.newtypes
d133 7
a139 2
     cgp/runtime/newtypes/Util.class
	jar -cf lib/cgp.jar cgp/*.class cgp/runtime/*.class
d250 23
@


1.9
log
@Changed javadoc output to generate all fields and methods, not just public.
@
text
@d33 3
a35 1
	cgp/runtime/ActorException.class
d55 1
d79 1
a79 1
	javadoc -classpath $(CLASSES) -private -d docs cgp cgp.runtime
d119 3
a121 1
     cgp/runtime/ActorException.class
d222 11
@


1.8
log
@Changing paths.
@
text
@d76 1
a76 1
	javadoc -classpath $(CLASSES) -public -d docs cgp cgp.runtime
@


1.7
log
@Stable version. Recursive anonymous actors working. Non-trivial processes
(e.g. Sisyphus-I) working. Language fairly stable now. "/" changed to "div"
to get around puzzling conflict between single-line comments and "/".
@
text
@d41 1
a41 1
CGP_HOME = $(HOME)/thesis/cgp
@


1.6
log
@First version of pCG to work with Mineau's ICCS'98 factorial process example.
@
text
@d57 1
d71 12
@


1.5
log
@First version of pCG to work with Mineau 98's factorial example.
@
text
@d56 1
a56 1
	rm -f cgp/CGPTokenTypes.*
@


1.4
log
@Functions, actors, most statements, concepts, and graphs added.
@
text
@d11 23
a33 15
	cgp/runtime/Namespace.java \
	cgp/runtime/Scope.java \
	cgp/runtime/ScopeStack.java \
	cgp/runtime/KnowledgeBaseStack.java \
	cgp/runtime/Type.java \
	cgp/runtime/BooleanType.java \
	cgp/runtime/NumberType.java \
	cgp/runtime/StringType.java \
	cgp/runtime/ConceptType.java \
	cgp/runtime/GraphType.java \
	cgp/runtime/ListType.java \
	cgp/runtime/ActorType.java \
	cgp/runtime/FunctionType.java \
	cgp/runtime/FormalParameter.java\
	cgp/runtime/ReturnException.java
d38 4
a41 3
ANTLR_HOME = /usr/local/java/antlr-2.7.0
NOTIO = /usr/local/java/notio/Notio.jar
CGP_HOME = /home/david/thesis/cgp
d44 3
a46 3
###########
# Targets #
###########
d50 1
d58 13
d73 5
d84 1
d93 1
d96 4
d101 4
a104 2
     cgp/runtime/ReturnException.class
	jar -cf cgp.jar cgp/*.class cgp/runtime/*.class
d145 3
d172 3
d178 3
d184 9
d197 7
a203 1
	javac -classpath $(CLASSES) cgp/runtime/ReturnException.java@


1.3
log
@Stable grammar and interpreter.
Implemented: expressions; assignment and access to variable, array element,
and attribute; if statement; member function invocations via reflection;
print(ln).
@
text
@d14 1
d22 4
a25 1
	cgp/runtime/FunctionType.java
d56 1
d64 4
a67 1
     cgp/runtime/FunctionType.class
d109 3
d133 3
d137 7
a143 1
	javac -classpath $(CLASSES) cgp/runtime/FunctionType.java@


1.2
log
@Grammar stable. Starting to add runtime classes.
@
text
@d11 11
a21 2
	cgp/runtime/Value.java \
	cgp/runtime/Namespace.java cgp/runtime/Scope.java
d49 11
a59 2
     cgp/runtime/Value.class \
     cgp/runtime/Namespace.class cgp/runtime/Scope.class
d84 1
a91 3
cgp/runtime/Value.class: cgp/runtime/Value.java
	javac -classpath $(CLASSES) cgp/runtime/Value.java

d98 17
d116 2
d119 2
d122 2
@


1.1
log
@Initial revision
@
text
@d9 4
a12 3
       cgp/CGPLexer.class cgp/CGPParser.class cgp/CGPWalker.class \
       cgp/CGPTokenTypes.class \
       cgp/Value.java
d29 1
d32 1
a32 1
	rm -f cgp/CGPWalker.java
d35 8
a42 6
###############
# CGP grammar #
###############
pCG: cgp/CGPLexer.class cgp/CGPParser.class cgp/CGPWalker.class \
     cgp/CGPTokenTypes.class cgp/CGP.class cgp/Value.class
	jar -cf cgp.jar cgp/*.class
d52 2
a53 2
cgp/CGPWalker.class: cgp/CGPWalker.java
	javac -classpath $(CLASSES) cgp/CGPWalker.java
d67 2
a68 2
cgp/CGPWalker.java: cgp/CGPWalker.g
	java -classpath $(CLASSES) antlr.Tool -o cgp cgp/CGPWalker.g
d73 8
a80 2
cgp/Value.class: cgp/Value.java
	javac -classpath $(CLASSES) cgp/Value.java
@
