Esempio n. 1
0
        /// <summary>
        /// Attempts to get the full symbol of the combined symbols. If this value represents a full symbol
        /// it is returned unmodified.
        /// </summary>
        public bool TryGetFullSymbol(SymbolTable symbolTable, FullSymbol root, out FullSymbol fullSymbol)
        {
            var identifier = this;

            fullSymbol = root;

            while (identifier != null)
            {
                if (!fullSymbol.TryGet(symbolTable, identifier.Head, out fullSymbol))
                {
                    return(false);
                }

                identifier = identifier.m_tail;
            }

            return(true);
        }
Esempio n. 2
0
 /// <summary>
 /// Attempts to get the full symbol of the combined symbols. If this value represents a full symbol
 /// it is returned unmodified.
 /// </summary>
 public bool TryGetFullSymbol(SymbolTable symbolTable, FullSymbol root, out FullSymbol fullSymbol)
 {
     return(root.TryGet(symbolTable, this, out fullSymbol));
 }