mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-22 19:22:50 -06:00
GF/src is now for 2.9, and the new sources are in src-3.0 - keep it this way until the release of GF 3
This commit is contained in:
47
src-3.0/tools/c/examples/bronzeage/Makefile
Normal file
47
src-3.0/tools/c/examples/bronzeage/Makefile
Normal file
@@ -0,0 +1,47 @@
|
||||
|
||||
GFDIR=../../../../../
|
||||
|
||||
LIBGFCC_INCLUDES = $(GFDIR)/lib/c
|
||||
LIBGFCC_LIBDIR = $(GFDIR)/lib/c
|
||||
|
||||
GFCC2C = $(GFDIR)/bin/gfcc2c
|
||||
|
||||
TEST_PROG = bronzeage-test
|
||||
|
||||
GRAMMAR_DIR = $(GFDIR)/examples/bronzeage
|
||||
|
||||
GRAMMAR_MODULES = Bronzeage BronzeageEng BronzeageSwe
|
||||
|
||||
GRAMMAR_H_FILES = $(addsuffix .h, $(GRAMMAR_MODULES))
|
||||
GRAMMAR_C_FILES = $(addsuffix .c, $(GRAMMAR_MODULES))
|
||||
GRAMMAR_O_FILES = $(addsuffix .o, $(GRAMMAR_MODULES))
|
||||
|
||||
CFLAGS += -O2
|
||||
CPPFLAGS += -I$(LIBGFCC_INCLUDES)
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
all: bronzeage.gfcc $(TEST_PROG)
|
||||
|
||||
$(TEST_PROG): $(GRAMMAR_O_FILES) $(TEST_PROG).o $(LIBGFCC_LIBDIR)/libgfcc.a
|
||||
|
||||
$(TEST_PROG).o: $(GRAMMAR_H_FILES) $(GRAMMAR_O_FILES) $(TEST_PROG).c
|
||||
|
||||
$(GRAMMAR_H_FILES) $(GRAMMAR_C_FILES): $(GFCC2C) bronzeage.gfcc
|
||||
$(GFCC2C) bronzeage.gfcc
|
||||
|
||||
bronzeage.gfcc:
|
||||
echo "i -optimize=all $(GRAMMAR_DIR)/BronzeageEng.gf" > mkBronzeage.gfs
|
||||
echo "i -optimize=all $(GRAMMAR_DIR)/BronzeageSwe.gf" >> mkBronzeage.gfs
|
||||
echo "s" >> mkBronzeage.gfs
|
||||
echo "pm -printer=gfcc | wf bronzeage.gfcc" >> mkBronzeage.gfs
|
||||
cat mkBronzeage.gfs | gf
|
||||
rm -f mkBronzeage.gfs
|
||||
|
||||
clean:
|
||||
-rm -f $(TEST_PROG) *.o
|
||||
|
||||
|
||||
distclean: clean
|
||||
-rm -f $(GRAMMAR_H_FILES) $(GRAMMAR_C_FILES)
|
||||
-rm -f bronzeage.gfcc
|
||||
31
src-3.0/tools/c/examples/bronzeage/bronzeage-test.c
Normal file
31
src-3.0/tools/c/examples/bronzeage/bronzeage-test.c
Normal file
@@ -0,0 +1,31 @@
|
||||
#include "Bronzeage.h"
|
||||
|
||||
#include "BronzeageEng.h"
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
int main() {
|
||||
Tree *tree =
|
||||
mk_PhrPos(
|
||||
mk_SentV(
|
||||
mk_lie_V(),
|
||||
mk_NumCN(
|
||||
mk_two_Num(),
|
||||
mk_UseN(mk_wife_N())
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 1000; i++) {
|
||||
Term *term;
|
||||
term = BronzeageEng_lin(tree);
|
||||
term_print(stdout, term);
|
||||
fputs("\n", stdout);
|
||||
}
|
||||
|
||||
tree_free(tree);
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user