Recovered from cvs revision 2007-05-07 08:23:00
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: Awk.cpp,v 1.2 2007/05/06 06:55:05 bacon Exp $
|
||||
* $Id: Awk.cpp,v 1.5 2007/05/06 10:38:22 bacon Exp $
|
||||
*/
|
||||
|
||||
#include <ase/awk/StdAwk.hpp>
|
||||
@ -11,11 +11,19 @@
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
|
||||
#if defined(_WIN32)
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
class TestAwk: public ASE::StdAwk
|
||||
{
|
||||
public:
|
||||
~TestAwk ()
|
||||
{
|
||||
close ();
|
||||
}
|
||||
|
||||
int parse (const char_t* name)
|
||||
{
|
||||
ase_strxcpy (sourceInName, ASE_COUNTOF(sourceInName), name);
|
||||
@ -32,6 +40,7 @@ protected:
|
||||
FILE* fp = ase_fopen (sourceInName, ASE_T("r"));
|
||||
if (fp == ASE_NULL) return -1;
|
||||
io.setHandle (fp);
|
||||
return 1;
|
||||
}
|
||||
else if (mode == Source::WRITE)
|
||||
{
|
||||
@ -61,7 +70,13 @@ protected:
|
||||
|
||||
ssize_t readSource (Source& io, char_t* buf, size_t count)
|
||||
{
|
||||
return 0;
|
||||
if (count <= 0) return -1;
|
||||
|
||||
// TOOD: read more characters...
|
||||
cint_t c = ase_fgetc ((FILE*)io.getHandle());
|
||||
if (c == ASE_CHAR_EOF) return 0;
|
||||
buf[0] = (ase_char_t)c;
|
||||
return 1;
|
||||
}
|
||||
|
||||
ssize_t writeSource (Source& io, char_t* buf, size_t count)
|
||||
@ -95,7 +110,7 @@ protected:
|
||||
}
|
||||
ssize_t writeConsole (Console& io, char_t* buf, size_t len)
|
||||
{
|
||||
return ase_printf (ASE_T(".%s"), len, buf);
|
||||
return ase_printf (ASE_T("%.*s"), len, buf);
|
||||
}
|
||||
int flushConsole (Console& io) { return 0; }
|
||||
int nextConsole (Console& io) { return 0; }
|
||||
@ -171,7 +186,7 @@ void ase_assert_printf (const ase_char_t* fmt, ...)
|
||||
}
|
||||
#endif
|
||||
|
||||
int ase_main (int argc, ase_char_t* argv[])
|
||||
extern "C" int ase_main (int argc, ase_char_t* argv[])
|
||||
{
|
||||
TestAwk awk;
|
||||
|
||||
@ -182,7 +197,6 @@ int ase_main (int argc, ase_char_t* argv[])
|
||||
return -1;
|
||||
}
|
||||
|
||||
return -1;
|
||||
if (awk.parse(ASE_T("t.awk")) == -1)
|
||||
{
|
||||
ase_fprintf (stderr, ASE_T("cannot parse\n"));
|
||||
@ -197,6 +211,6 @@ return -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
awk.close ();
|
||||
// awk.close ();
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,11 +1,13 @@
|
||||
#
|
||||
# $Id: makefile.in,v 1.3 2007/04/30 08:32:41 bacon Exp $
|
||||
# $Id: makefile.in,v 1.5 2007/05/06 08:10:31 bacon Exp $
|
||||
#
|
||||
|
||||
CC = @CC@
|
||||
CXX = @CXX@
|
||||
CFLAGS = @CFLAGS@ -I@abs_top_builddir@/..
|
||||
LDFLAGS = @LDFLAGS@ -L@abs_top_builddir@/@BUILDMODE@/lib
|
||||
LIBS = @LIBS@ -laseawk -lasecmn -laseutl -lm
|
||||
LIBS_CXX = -laseawk++ ${LIBS}
|
||||
MODE = @BUILDMODE@
|
||||
|
||||
JAVAC = @JAVAC@
|
||||
@ -21,7 +23,7 @@ ASEAWK_LIB =
|
||||
|
||||
all: build$(JNI)
|
||||
|
||||
build: $(TMP_DIR) $(OUT_DIR) $(OUT_DIR)/aseawk $(OUT_DIR)/aseawk_mini
|
||||
build: $(TMP_DIR) $(OUT_DIR) $(OUT_DIR)/aseawk $(OUT_DIR)/aseawk_mini $(OUT_DIR)/aseawk++
|
||||
|
||||
buildjni: build $(OUT_DIR)/aseawk.jar $(OUT_DIR)/AseAwkApplet.html
|
||||
|
||||
@ -31,6 +33,9 @@ $(OUT_DIR)/aseawk: awk.c
|
||||
$(OUT_DIR)/aseawk_mini: mini.c
|
||||
$(CC) $(CFLAGS) -o $@ mini.c $(LDFLAGS) $(LIBS)
|
||||
|
||||
$(OUT_DIR)/aseawk++: Awk.cpp
|
||||
$(CXX) $(CFLAGS) -o $@ Awk.cpp $(LDFLAGS) $(LIBS_CXX)
|
||||
|
||||
$(OUT_DIR)/aseawk.jar: $(TMP_DIR)/AseAwkPanel.class $(TMP_DIR)/AseAwk.class $(TMP_DIR)/AseAwkApplet.class
|
||||
cd $(TMP_DIR); $(JAR) -xvf ../$(LIB_DIR)/aseawk.jar
|
||||
cd $(TMP_DIR); $(JAR) -cvfm ../$@ ../manifest *.class ase
|
||||
@ -55,5 +60,5 @@ $(TMP_DIR):
|
||||
mkdir -p $(TMP_DIR)
|
||||
|
||||
clean:
|
||||
rm -rf $(OUT_DIR)/aseawk $(OUT_DIR)/aseawk_mini $(OUT_DIR)/aseawk.jar $(OUT_DIR)/AseAwkApplet.html $(TMP_DIR)/*.class
|
||||
rm -rf $(OUT_DIR)/aseawk $(OUT_DIR)/aseawk_mini $(OUT_DIR)/aseawk++ $(OUT_DIR)/aseawk.jar $(OUT_DIR)/AseAwkApplet.html $(TMP_DIR)/*.class
|
||||
|
||||
|
Reference in New Issue
Block a user