コード例 #1
0
ファイル: BoolAst.cs プロジェクト: farfa547/Wahren
        internal static Tree Convert(LexicalTree tree)
        {
            switch (tree)
            {
            case LexicalTree_Function _1:
                return(Convert(_1));

            default:
                return(Convert(tree as SingleContent));
            }
        }
コード例 #2
0
ファイル: MappingService.cs プロジェクト: zihotki/Excess
        public SyntaxNode SemanticalMap(SourceSpan src)
        {
            if (LexicalTree == null)
            {
                throw new InvalidOperationException("LexicalTree");
            }

            if (SyntacticalTree == null)
            {
                throw new InvalidOperationException("SyntacticalTree");
            }

            TextSpan lexSpan = mapSource(src);

            if (lexSpan == null)
            {
                return(null);
            }

            SyntaxNode node = LexicalTree.FindNode(lexSpan, getInnermostNodeForTie: true);

            if (node == null)
            {
                return(null);
            }

            node = mapLexical(node);
            if (node == null)
            {
                return(null);
            }

            if (SemanticalTree != null)
            {
                return(_map[node]);
            }

            return(node);
        }