我正在寻找一个库或命令行脚本,它允许我创建我可以从命令行生成的自定义模板.铁轨脚手架发电机上的红宝石几乎与我想做的相同.我甚至更喜欢用Ruby编写(但它不能要求Rails,因为我可能不会在Ruby应用程序中使用它).这样的脚本已经有哪些?
我正在尝试使用类型提示生成一些Clojure代码,但是每当我构建一些代码时类型提示似乎都消失了(它们在代码编译时也不起作用)
例如
`(let [^BufferedImage b (create-buffered-image)]
(.getRGB b 0 0))
=> (clojure.core/let [user/b (user/create-buffered-image)] (.getRGB user/b 0 0))
Run Code Online (Sandbox Code Playgroud)
我不确定为什么类型提示正在消失,但我认为它与读者处理metatdata的方式有关.
在生成的代码中创建正确类型提示的正确方法是什么?
什么是CGLIB以及它与Spring的关系?在使用Spring Framework时,我们是否必须明确定义CGLIB的用法?
我正在寻找一种可以进行单元测试的工具,比如
IPerson p = new Person();
p.Name = "Sklivvz";
Assert.AreEqual("Sklivvz", p.Name);
Run Code Online (Sandbox Code Playgroud)
并自动生成相应的存根类和接口
interface IPerson // inferred from IPerson p = new Person();
{
string Name
{
get; // inferred from Assert.AreEqual("Sklivvz", p.Name);
set; // inferred from p.Name = "Sklivvz";
}
}
class Person: IPerson // inferred from IPerson p = new Person();
{
private string name; // inferred from p.Name = "Sklivvz";
public string Name // inferred from p.Name = "Sklivvz";
{
get
{
return name; // inferred from Assert.AreEqual("Sklivvz", …Run Code Online (Sandbox Code Playgroud) 是否可以通过脚本/工具基于表fk关系生成删除语句.
即我有表:DelMe(ID)并且有30个表格,其中我需要首先删除其ID的fk引用,是否有一些我可以运行的工具/脚本将生成基于FK关系的30个删除语句为了我 ?
(顺便说一下我知道关于级联删除的关系,我不能在这个现有的db中使用它)
我正在使用Microsoft SQL Server 2008
我正在尝试(作为一种自学练习)创建一个Clojure宏,它将生成代码以将函数应用于整数序列并对结果求和,例如
f(0)+ f(1)+ f(2)+ f(3)
这是我的尝试:
(defmacro testsum [func n]
`(fn [x#] (+ ~@( map (fn [i] `(~func x#)) (range n)))))
Run Code Online (Sandbox Code Playgroud)
然而,x#gensym似乎出现了问题,我最终得到了两个不同版本的x,因此该函数不起作用:
(macroexpand '(testsum inc 3))
Run Code Online (Sandbox Code Playgroud)
得到:
(fn* ([x__809__auto__]
(clojure.core/+
(inc x__808__auto__)
(inc x__808__auto__)
(inc x__808__auto__))))
Run Code Online (Sandbox Code Playgroud)
除了不同的809和808版本的x之外,这几乎是我想要的......
我究竟做错了什么?我认为自动gensym旨在为这种目的创造一个独特的符号?有没有更好的方法呢?
我已经为LLVM代码生成器后端编写了一个低级优化.基本上,优化将在基本块级重新排序汇编指令,以允许稍后(现有)优化更有效地优化结果代码.我想验证一些测试用例,我想对测试过程提出一些建议,因为这是我第一次尝试这样的测试.
到目前为止我考虑过的事情:
编译用C编写的基准测试,并检查使用该-S选项生成的ASM .我已经完成了这项工作,并将结果与我的优化结果进行了比较.这个方法让我看到我的优化工作,但即使我编写自定义的非可执行C文件,我也无法检查所有我想要的指令排序测试用例.
将基准编译到LLVM程序集,编辑它,然后将ASM降低到目标机器程序集.这可能有效,但是由于LLVM和目标ASM之间的抽象级别不同,我怀疑我能够通过攻击LLVM ASM来检查所有测试用例,直到它生成我想要的内容为止.
使用目标ASM测试用例作为LLVM的输入,并使用新的优化重新编译.我无法为LLVM或gcc(LLVM接受的大多数选项)找到一个选项来接受ASM作为输入.
在验证低级ASM编译器优化时,测试特定ASM测试用例的好策略是什么?LLVM(或gcc)是否有一些命令行选项可以使这个过程更容易?
编辑:为了澄清,我不是要求自动生成ASM测试用例; 我的问题是我有那些测试用例(例如,ASM_before.s和reference_ASM_after.s),但我需要能够传入ASM_before.sLLVM并确保优化的输出ASM_after.s与已知的好reference_ASM_after.s.我正在寻找一种方法来做到这一点,而无需"反编译" ASM_before.s成高级语言,然后将其编译(优化)到ASM_after.s.
有关C/C++模板基本代码生成器的任何建议,专门用于生成重复代码生成?(不是基于UML/MATLAB模型或其他高级的东西).对于这个领域的新手任何好的通用教程(不是基于工具)?
我遇到了GNU Autogen看起来不错,但看起来它需要一个陡峭的学习曲线.我更喜欢一些像Eclipse这样的eclipse插件,易于使用,最重要的是很好的教程.
我想使用Java的LLVM代码生成框架.
也就是说,我不希望Java代码编译成LLVM.我只想要一个用于代码生成的LLVM库,我可以从Java调用它.通常的LLVM库是C,所以我不能使用它.
有没有Java端口?如果不是,那么最简单的方法是什么呢?将API包装到JNI中?
我想在安装时生成一个python文件.
我想既这项工作python setup.py develop,python setup.py install和pip install.到现在为止还挺好.
但是我也希望这与tox一起使用.这是我遇到问题的地方.
我使用的方法是调整develop和install命令以在setup.py中生成源代码,如下所示:
# make code as python 3 compatible as possible
from __future__ import absolute_import, division, print_function, unicode_literals
import subprocess
import setuptools
import os.path
import distutils.core
from setuptools.command.develop import develop
from setuptools.command.install import install
# Build anltr files on installation
# this is such a mess... it looks like there are
# no common steps to develop and install
class AntlrDevelopCommand(develop): …Run Code Online (Sandbox Code Playgroud) code-generation ×10
clojure ×2
llvm ×2
macros ×2
assembly ×1
build ×1
c ×1
c# ×1
cglib ×1
dynamic-sql ×1
foreign-keys ×1
gcc ×1
java ×1
python ×1
setuptools ×1
spring ×1
sql ×1
symbols ×1
testing ×1
tox ×1
type-hinting ×1
unit-testing ×1