コード例 #1
0
ファイル: Parser.cs プロジェクト: zjloscar/Dynamo
        void ProtoScript()
        {
            script = new ProtoCore.Script();
            while (la.kind == 7)
            {
                ProtoCore.LanguageCodeBlock codeblock = new ProtoCore.LanguageCodeBlock();
                Get();
                Expect(1);
                if (0 == t.val.CompareTo(ProtoCore.DSASM.kw.imperative))
                {
                    codeblock.language = ProtoCore.Language.kImperative;
                }
                else if (0 == t.val.CompareTo(ProtoCore.DSASM.kw.associative))
                {
                    codeblock.language = ProtoCore.Language.kAssociative;
                }

                while (la.kind == 9)
                {
                    Get();
                    string key;
                    Expect(1);
                    key = t.val;
                    Expect(10);
                    Expect(4);
                    if ("fingerprint" == key)
                    {
                        codeblock.fingerprint = t.val;
                        codeblock.fingerprint = codeblock.fingerprint.Remove(0, 1);
                        codeblock.fingerprint = codeblock.fingerprint.Remove(codeblock.fingerprint.Length - 1, 1);
                    }
                    else if ("version" == key)
                    {
                        codeblock.version = t.val;
                        codeblock.version = codeblock.version.Remove(0, 1);
                        codeblock.version = codeblock.version.Remove(codeblock.version.Length - 1, 1);
                    }
                }
                Expect(8);
                Expect(6);
                codeblock.body = t.val;
                codeblock.body = codeblock.body.Remove(0, 2);
                codeblock.body = codeblock.body.Remove(codeblock.body.Length - 2, 2);

                script.codeblockList.Add(codeblock);
            }
        }
コード例 #2
0
ファイル: Parser.cs プロジェクト: samuto/designscript
        void ProtoScript()
        {
            script = new ProtoCore.Script();
            while (la.kind == 7) {
            ProtoCore.LanguageCodeBlock codeblock = new ProtoCore.LanguageCodeBlock();
            Get();
            Expect(1);
            if (0 == t.val.CompareTo(ProtoCore.DSASM.kw.imperative))
            {
                codeblock.language = ProtoCore.Language.kImperative;
            }
            else if (0 == t.val.CompareTo(ProtoCore.DSASM.kw.associative))
            {
                codeblock.language = ProtoCore.Language.kAssociative;
            }

            while (la.kind == 9) {
                Get();
                string key;
                Expect(1);
                key = t.val;
                Expect(10);
                Expect(4);
                if ("fingerprint" == key)
                {
                codeblock.fingerprint = t.val;
                codeblock.fingerprint = codeblock.fingerprint.Remove(0,1);
                codeblock.fingerprint = codeblock.fingerprint.Remove(codeblock.fingerprint.Length-1,1);
                }
                else if ("version" == key)
                {
                codeblock.version = t.val;
                codeblock.version = codeblock.version.Remove(0,1);
                codeblock.version = codeblock.version.Remove(codeblock.version.Length-1,1);
                }

            }
            Expect(8);
            Expect(6);
            codeblock.body = t.val;
            codeblock.body = codeblock.body.Remove(0, 2);
            codeblock.body = codeblock.body.Remove(codeblock.body.Length - 2, 2);

            script.codeblockList.Add(codeblock);
            }
        }