public static void main()

in src/main/java/workspace/HelloVDMJ4.java [52:104]


    public static void main(String[] args) throws Exception {

        System.setProperty("java.library.path", "/Users/ht/Workspace/Library/:" + System.getProperty("java.library.path"));
        System.out.println(System.getProperty(("java.library.path")));


        //ASTDefinitionListまでは同じ
        LexTokenReader ltr = new LexTokenReader(new File("./vdm_files/various_syntax.vdmpp"), Dialect.VDM_PP);
        DefinitionReader dr = new DefinitionReader(ltr);
        ASTDefinitionList astDefinitionList = dr.readDefinitions();


        //ASTDefiniitionList一つ一つに対して、
        astDefinitionList.forEach((ASTDefinition astd) -> {

            //もしも関数定義がきたらTCExplicitFunctionDefinitionに入れる
            if (astd.kind().equals("explicit function")) {
                TCExplicitFunctionDefinition tcefd = null;
                try {
                    tcefd = ClassMapper.getInstance(TCDefinition.MAPPINGS).init().convert(astd);
                } catch (Exception e) {
                    e.printStackTrace();
                }

                //事前条件と事後条件を取り出して、条件式用のクラスに入れる
                TCExpression tc_pre = tcefd.precondition;
                TCExpression tc_post = tcefd.postcondition;

                System.out.println("関数本体:" + tcefd.body);
                System.out.println("事前条件:" + tc_pre.toString());
                System.out.println("事後条件:" + tc_post.toString());
                System.out.println();
            } else if (astd.kind().equals("type")) { //もしも型定義がきたらTCTypeDefinitionに入れる
                TCTypeDefinition tctd = null;
                try {
                    tctd = ClassMapper.getInstance(TCDefinition.MAPPINGS).init().convert(astd);
                } catch (Exception e) {
                    e.printStackTrace();
                }

                //型定義を取り出して、型用のクラスに入れる
                TCType type = tctd.type;

                System.out.println("型定義全部" + tctd.toString());
                System.out.println("型" + type.toString());
                System.out.println();
            }
        });

        extractInformationByVDMJ();


    }