-/*\r
- * sample parser\r
- *\r
- * License : The MIT License\r
- * Copyright(c) 2010 MikuToga Partners\r
- */\r
-\r
-package sample.pmd;\r
-\r
-import java.io.BufferedInputStream;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.IOException;\r
-import java.io.InputStream;\r
-import jp.sourceforge.mikutoga.parser.MmdFormatException;\r
-import jp.sourceforge.mikutoga.parser.MmdSource;\r
-import jp.sourceforge.mikutoga.parser.pmd.PmdParser;\r
-\r
-/**\r
- * パーサ利用のサンプルプログラム。\r
- */\r
-public class DummyMain {\r
-\r
- private static final String PMDFILE;\r
- private static final int BUF_SZ = 4086;\r
- private static final DummyHandler handler = new DummyHandler();\r
-\r
- static{\r
- PMDFILE = "D:\\Test\\test.pmd";\r
- }\r
-\r
- /**\r
- * 入力ソースを準備する。\r
- * @param fname ファイル名\r
- * @return 入力ソース\r
- */\r
- private static MmdSource buildSource(String fname){\r
- File file = new File(fname);\r
-\r
- InputStream is;\r
- try{\r
- is = new FileInputStream(file);\r
- }catch(FileNotFoundException e){\r
- System.err.println(e);\r
- System.exit(1);\r
- return null;\r
- }\r
- is = new BufferedInputStream(is, BUF_SZ);\r
-\r
- MmdSource source = new MmdSource(is);\r
-\r
- return source;\r
- }\r
-\r
- /**\r
- * 各種ハンドラをパーサにセットアップする。\r
- * @param parser パーサ\r
- */\r
- private static void setupHandler(PmdParser parser){\r
- parser.setBasicHandler(handler);\r
- parser.setShapeHandler(handler);\r
- parser.setMaterialHandler(handler);\r
- parser.setBoneHandler(handler);\r
- parser.setMorphHandler(handler);\r
- parser.setEngHandler(handler);\r
- parser.setToonHandler(handler);\r
- parser.setRigidHandler(handler);\r
- parser.setJointHandler(handler);\r
-\r
- return;\r
- }\r
-\r
- /**\r
- * Java実行エントリ\r
- * @param args 起動引数\r
- */\r
- public static void main(String[] args){\r
- String fname;\r
- if(args.length == 1) fname = args[0];\r
- else fname = PMDFILE;\r
-\r
- MmdSource source = buildSource(fname);\r
-\r
- PmdParser parser = new PmdParser(source);\r
-\r
- setupHandler(parser);\r
-\r
- try{\r
- parser.parsePmd();\r
- }catch(IOException e){\r
- System.err.println(e);\r
- System.exit(1);\r
- }catch(MmdFormatException e){\r
- System.err.println(e);\r
- System.exit(1);\r
- }\r
-\r
- System.exit(0);\r
-\r
- return;\r
- }\r
-\r
-}\r
+/*
+ * sample parser
+ *
+ * License : The MIT License
+ * Copyright(c) 2010 MikuToga Partners
+ */
+
+package sample.pmd;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import jp.sfjp.mikutoga.bin.parser.MmdFormatException;
+import jp.sfjp.mikutoga.pmd.parser.PmdParser;
+
+/**
+ * パーサ利用のサンプルプログラム。
+ * これはユニットテストではない。
+ */
+public class DummyMain {
+
+ private static final String PMDFILE;
+ private static final int BUF_SZ = 4086;
+ private static final DummyHandler handler = new DummyHandler();
+
+ static{
+ PMDFILE =
+ "D:\\Test\\test.pmd";
+ }
+
+ /**
+ * アプリを終了する。
+ * 制御は戻らない。
+ * @param code 終了コード。
+ */
+ private static void exit(int code){
+ System.exit(code);
+ assert false;
+ return;
+ }
+
+ /**
+ * 標準エラー出力にエラー情報を出し改行する。
+ * @param text エラー情報文字列
+ */
+ private static void errprintln(Object text){
+ System.err.println(text);
+ return;
+ }
+
+ /**
+ * 入力ソースを準備する。
+ * @param fname ファイル名
+ * @return 入力ソース
+ */
+ private static InputStream buildSource(String fname){
+ File file = new File(fname);
+
+ InputStream is;
+ try{
+ is = new FileInputStream(file);
+ }catch(FileNotFoundException e){
+ errprintln(e);
+ exit(1);
+ return null;
+ }
+
+ is = new BufferedInputStream(is, BUF_SZ);
+
+ return is;
+ }
+
+ /**
+ * 各種ハンドラをパーサにセットアップする。
+ * @param parser パーサ
+ */
+ private static void setupHandler(PmdParser parser){
+ parser.setBasicHandler(handler);
+ parser.setShapeHandler(handler);
+ parser.setMaterialHandler(handler);
+ parser.setBoneHandler(handler);
+ parser.setMorphHandler(handler);
+ parser.setEngHandler(handler);
+ parser.setToonHandler(handler);
+ parser.setRigidHandler(handler);
+ parser.setJointHandler(handler);
+
+ return;
+ }
+
+ /**
+ * Java実行エントリ
+ * @param args 起動引数
+ */
+ public static void main(String[] args){
+ String fname;
+ if(args.length == 1) fname = args[0];
+ else fname = PMDFILE;
+
+ InputStream source = buildSource(fname);
+
+ PmdParser parser = new PmdParser(source);
+
+ setupHandler(parser);
+
+ try{
+ parser.parsePmd();
+ }catch(IOException e){
+ errprintln(e);
+ exit(1);
+ }catch(MmdFormatException e){
+ errprintln(e);
+ exit(1);
+ }
+
+ exit(0);
+
+ return;
+ }
+
+}