示例#1
0
        public DslAdapter(string dslFile, string definitionFile, GrammarLanguages grammarLanguage)
        {
            RuleBaseBuilder rbb = new RuleBaseBuilder(new Definitions(definitionFile));

            string ruleml = null;

            if (grammarLanguage == GrammarLanguages.EN) {
                InferenceRules_ENParser ipr = new InferenceRules_ENParser(
                                                new CommonTokenStream(
                                                    new InferenceRules_ENLexer(
                                                        new ANTLRFileStream(dslFile))));
                ipr.rbb = rbb;
                ipr.rulebase();
                ruleml = ipr.rbb.RuleML;
            } else if (grammarLanguage == GrammarLanguages.FR) {
                InferenceRules_FRParser ipr = new InferenceRules_FRParser(
                                                new CommonTokenStream(
                                                    new InferenceRules_FRLexer(
                                                        new ANTLRFileStream(dslFile))));
                ipr.rbb = rbb;
                ipr.rulebase();
                ruleml = ipr.rbb.RuleML;
            }

            adapter = new RuleML09NafDatalogAdapter(new MemoryStream(new UTF8Encoding().GetBytes(ruleml)), FileAccess.Read);
        }
示例#2
0
文件: MainForm.cs 项目: Ghasan/NxBRE
        public MainForm()
        {
            InitializeComponent();

            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = "NxDSL files|*.nxdsl";
            openFileDialog.Title = "Load DSL File";

            if (DialogResult.OK == openFileDialog.ShowDialog(this)) {
                string dslFile = openFileDialog.FileName;
                string definitionFile = dslFile + ".defs";

                Definitions definitions = new Definitions(definitionFile);

                HtmlBuilderTokenSource hbts =
                            new HtmlBuilderTokenSource(
                                new InferenceRules_ENLexer(
                                    new ANTLRFileStream(dslFile)),
                                definitions);

                InferenceRules_ENParser ipr = new InferenceRules_ENParser(new CommonTokenStream(hbts));

                ipr.rbb = new RuleBaseBuilder(definitions);

                try {
                    ipr.rulebase();
                } catch(Exception re) {
                    hbts.PrependToHtml("<font color='#FF0000'><b>" + re.Message + "</b></font><br/><br/>");
                }

                this.Html = hbts.Html;
            } else {
                this.Html = "Next time, select a DSL file!";
            }
        }
示例#3
0
        public DslAdapter(string dslFile, string definitionFile, GrammarLanguages grammarLanguage)
        {
            RuleBaseBuilder rbb = new RuleBaseBuilder(new Definitions(definitionFile));

            string ruleml = null;

            if (grammarLanguage == GrammarLanguages.EN)
            {
                InferenceRules_ENParser ipr = new InferenceRules_ENParser(
                    new CommonTokenStream(
                        new InferenceRules_ENLexer(
                            new ANTLRFileStream(dslFile))));
                ipr.rbb = rbb;
                ipr.rulebase();
                ruleml = ipr.rbb.RuleML;
            }
            else if (grammarLanguage == GrammarLanguages.FR)
            {
                InferenceRules_FRParser ipr = new InferenceRules_FRParser(
                    new CommonTokenStream(
                        new InferenceRules_FRLexer(
                            new ANTLRFileStream(dslFile))));
                ipr.rbb = rbb;
                ipr.rulebase();
                ruleml = ipr.rbb.RuleML;
            }

            adapter = new RuleML09NafDatalogAdapter(new MemoryStream(new UTF8Encoding().GetBytes(ruleml)), FileAccess.Read);
        }
示例#4
0
        public MainForm()
        {
            InitializeComponent();

            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.Filter = "NxDSL files|*.nxdsl";
            openFileDialog.Title  = "Load DSL File";

            if (DialogResult.OK == openFileDialog.ShowDialog(this))
            {
                string dslFile        = openFileDialog.FileName;
                string definitionFile = dslFile + ".defs";

                Definitions definitions = new Definitions(definitionFile);

                HtmlBuilderTokenSource hbts =
                    new HtmlBuilderTokenSource(
                        new InferenceRules_ENLexer(
                            new ANTLRFileStream(dslFile)),
                        definitions);

                InferenceRules_ENParser ipr = new InferenceRules_ENParser(new CommonTokenStream(hbts));

                ipr.rbb = new RuleBaseBuilder(definitions);

                try {
                    ipr.rulebase();
                } catch (Exception re) {
                    hbts.PrependToHtml("<font color='#FF0000'><b>" + re.Message + "</b></font><br/><br/>");
                }

                this.Html = hbts.Html;
            }
            else
            {
                this.Html = "Next time, select a DSL file!";
            }
        }