コード例 #1
0
ファイル: StatementCompiler.cs プロジェクト: MasterQ32/psi
        void IStatementVisitor.Visit(ExpressionStatement stmt)
        {
            var compiler = new ExpressionCompiler(codegen, builder, function);
            var result   = compiler.Compile(stmt.Expression);

            // discard: result
        }
コード例 #2
0
        private void GenInitializer(Symbol sym)
        {
            if (sym?.Initializer == null)
            {
                throw new ArgumentException();
            }

            LLVM.PositionBuilderAtEnd(this.builder, moduleInitializerBlock);

            var expr  = new ExpressionCompiler(this, builder, moduleInitializerFunction);
            var value = expr.Compile(sym.Initializer);

            LLVM.BuildStore(builder, value, symbols[sym]);
        }