예제 #1
0
파일: StdGAnlys.cs 프로젝트: iwaag/AGBLang
 void AfterMatchListener.OnResultRequested(Action <MutableGrammarBlock> blockTaker)
 {
     baseListener.OnResultRequested(
         (gBlock) => {
         foreach (var meta in parent.metas)
         {
             gBlock.AddMetaInfo(meta);
         }
         blockTaker(gBlock);
     }
         );
 }
예제 #2
0
파일: StdGAnlys.cs 프로젝트: iwaag/AGBLang
        void AfterMatchListener.OnResultRequested(Action <MutableGrammarBlock> blockTaker)
        {
            var mClusterGBlock            = new StdMutableClusterGBlock();
            MutableGrammarBlock lastBlock = null;

            baseAMatchLis.OnResultRequested(
                (gBlock) => mClusterGBlock.subBlocks.Add(lastBlock = gBlock)
                );
            if (mClusterGBlock.subBlocks.Count == 1)
            {
                blockTaker(lastBlock);
            }
            else if (mClusterGBlock.subBlocks.Count > 1)
            {
                blockTaker(mClusterGBlock);
            }
        }