From 2b8d508f2c327c7b6a1a3361c99fb198e57a22b4 Mon Sep 17 00:00:00 2001 From: w-mj Date: Mon, 1 Mar 2021 13:52:41 +0800 Subject: [PATCH] use ant --- MANIFEST.MF | 3 --- README.md | 6 +++--- build.py | 31 ------------------------------- build.xml | 28 ++++++++++++++++++++++++++++ res/lexer.c | 1 + 5 files changed, 32 insertions(+), 37 deletions(-) delete mode 100644 MANIFEST.MF delete mode 100644 build.py create mode 100644 build.xml diff --git a/MANIFEST.MF b/MANIFEST.MF deleted file mode 100644 index f2fd759..0000000 --- a/MANIFEST.MF +++ /dev/null @@ -1,3 +0,0 @@ -Manifest-Version: 1.0 -Main-Class: com.compiler.Main -Class-Path: lib/commons-lang3-3.0.jar lib/asm-9.1.jar diff --git a/README.md b/README.md index 99c6d72..d6336e1 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ # CJCompiler -把类C语法编译成Java字节码。 +把类C语法编译成JVM字节码。 ## 构建方式 -1. python build.py -2. java -jar ./CJCompiler.jar +1. ant +2. java -jar out/CJCompiler.jar 3. java lexer diff --git a/build.py b/build.py deleted file mode 100644 index a19ba72..0000000 --- a/build.py +++ /dev/null @@ -1,31 +0,0 @@ -import os -import shutil - - -proj_dir = os.getcwd() -src_dir = os.path.join(proj_dir, "src") -lib_dir = os.path.join(proj_dir, "lib") -out_dir = os.path.join(proj_dir, "out") -res_dir = os.path.join(proj_dir, "res") -jar = os.path.join(proj_dir, "CJCompiler.jar") -MANIFEST = os.path.join(proj_dir, "MANIFEST.MF") - -src_files = [] -for path, dir_names, file_names in os.walk(src_dir): - file_paths = [os.path.join(path, x) for x in file_names] - src_files += file_paths - -lib_files = [os.path.join(lib_dir, x) for x in os.listdir(lib_dir)] - -shutil.rmtree(out_dir, True) -cmd = f"javac -d {out_dir} -encoding utf-8 -cp .;{';'.join(lib_files)} -sourcepath {src_dir} {' '.join(src_files)}" -print(cmd) -os.system(cmd) - -shutil.copytree(res_dir, os.path.join(out_dir, "res")) -shutil.copytree(lib_dir, os.path.join(out_dir, "lib")) - - -cmd = f"cd {out_dir} && jar -cvfm {jar} {MANIFEST} *" -print(cmd) -os.system(cmd) \ No newline at end of file diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..8f0eb15 --- /dev/null +++ b/build.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/res/lexer.c b/res/lexer.c index 0a34470..db39c93 100644 --- a/res/lexer.c +++ b/res/lexer.c @@ -13,6 +13,7 @@ while(a<=9){ print mul; print a; + c = a * b; print eq; print c; print blank;