Example #1
0
        /// <summary>
        /// Define primitive. The primitive is sort of macro which is
        /// implemented in C# and extract given expression to AST.
        /// </summary>
        /// <param name="name">identifier</param>
        /// <param name="primitive">primitive</param>
        /// <returns>new binding</returns>
        public AstBinding DefinePrimitive(string name, PrimitiveBinding.CompilerPrimitive primitive)
        {
            var symbol  = Symbol.Intern(name);
            var syntax  = new Syntax(symbol);
            var binding = new PrimitiveBinding(syntax, primitive);

            binding.VarIdx = Bindings.Count;
            Define(symbol, binding);
            return(binding);
        }
Example #2
0
        /// <summary>
        /// Define primitive. The primitive is sort of macro which is
        /// implemented in C# and extract given expression to AST.
        /// </summary>
        /// <param name="name">identifier</param>
        /// <param name="primitive">primitive</param>
        /// <returns>new binding</returns>
        public AstBinding DefinePrimitive(string stringName, PrimitiveBinding.CompilerPrimitive primitive)
        {
            var name    = Name.Intern(stringName);
            var syntax  = Syntax.Create(name);
            var binding = new PrimitiveBinding(syntax, primitive);

            binding.VarIdx = Bindings.Count;
            Define(Name, binding);
            return(binding);
        }