标签: code-generation

Python中的表单生成/验证库

我是来自PHP背景的Python开发人员.在PHP中,大多数框架包括一个体面的表单生成/验证API(Zend和CakePHP浮现在脑海中).在我的新公司,我们试图远离Django并广泛使用Werkzeug.

我看过FormEncode和Formular.Formular对我来说似乎更好,但必须有我的noobish大脑不知道的东西.请赐教.

python forms validation code-generation

6
推荐指数
1
解决办法
1211
查看次数

Oracle包和Java包之间的映射

在我的数据库接口库jOOQ中,我想添加对Oracle(或DB2等)包的支持.我已经实现了存储过程/函数支持,其中每个存储对象都被建模为生成的Java类.例如,这个存储的函数

CREATE FUNCTION f_author_exists (author_name VARCHAR2) RETURNS NUMBER;
Run Code Online (Sandbox Code Playgroud)

将生成一个可以像这样使用的类(注意,还有很多方便的方法,这个例子只显示了一般设计):

// A new "function call instance". The function needs to be instanciated
// once per call
FAuthorExists f = new FAuthorExists();

// Set the function parameters on the call instance and call it
f.setAuthorName("Paulo");
f.execute(connection);

// Fetch the result from the function call instance
BigDecimal result = f.getReturnValue();
Run Code Online (Sandbox Code Playgroud)

我之所以选择了一个映射SQL函数 - > Java的类是因为存储过程允许复杂的返回值(几个OUT,或IN OUT参数)我希望能够调用程序后去取一个:

p.getOutParam1();
p.getOutParam2();
Run Code Online (Sandbox Code Playgroud)

现在这个设计适用于存储的函数/过程,无法进行重载.但是,在Oracle(或DB2)的软件包中,我可以使用多个具有相同名称的函数,例如

CREATE PACKAGE my_package IS
  FUNCTION f_author_exists (name VARCHAR2) RETURNS …
Run Code Online (Sandbox Code Playgroud)

java code-generation stored-procedures packages jooq

6
推荐指数
1
解决办法
1136
查看次数

PermGen空间中的Java类大小

有很多关于Java对象大小的问答,这很容易理解.但我想知道PermGen空间中Java类的大小.

我想知道这个的原因是因为我正在编写代码生成器,生成了很多类.基本上,我为数据库中的每个表/视图生成两个类.现在我也想建模外键关系.而不是维护一个复杂的,可序列化的对象结构(考虑一个具有唯一键的表,该表由属于具有其他外键的其他表的几个外键引用,等等),我宁愿每个生成一个类,每个UNIQUE KEY类生成一个类FOREIGN KEY.

这是我的问题:

  1. 我将用这个创建多少个类加载器和PermGen空间的开销?
  2. public类,static类和private成员类之间有区别吗?
  3. 您是否看到了在源代码中生成外键信息的更好方法?

java memory code-generation permgen

6
推荐指数
1
解决办法
801
查看次数

Enterprise Architect:C#可选参数?

让Enterprise Architect识别C#中的可选参数的任何选项?

我试图导入现有代码并收到以下错误:

在第30行解析C:\ MyProject\FooBar.cs时出错.意外的符号:=

码:

public void Foo(int bar = 1) //Line 30
{
}
Run Code Online (Sandbox Code Playgroud)

我还尝试从头开始并从Enterprise Architect生成代码.我创建了一个类,然后向该类添加了一个操作并定义了参数.编辑参数的表单允许我提供"名称","类型"和"默认"(以及其他信息).我添加了Name:bar,Type:int,默认值:1.然后,当我生成代码时,这就是我得到的(没有生成可选参数!)

namespace System {
    public class FooBar {

        /// 
        /// <param name="bar"></param>
        public void Foo(int bar){

        }

    }//end FooBar

}//end namespace System
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

c# code-generation optional-parameters enterprise-architect

6
推荐指数
1
解决办法
2247
查看次数

使用RNGOM从RelaxNG模式生成对象模型 - 如何开始?

我想用RelaxNG Schema生成一个对象模型.

因此,我想使用RNGOM对象模型/解析器(主要是因为我找不到任何替代方案 - 尽管我甚至不关心解析器编写/生成的语言).现在我从SVN 检查了RNGOM源代码,我不知道如何使用RNGOM,因为没有关于用法的任何信息.

一个有用的提示如何从RNGOM开始 - 一个链接,示例或任何描述,使我不必阅读理解RNGOM的整个源代码 - 将作为答案.更好的是如何使用解析器从RNG文件生成对象模型的简单示例.

更多信息:

我想从以下RelaxNG模式中生成Java类:http://libvirt.org/git/?p = libvirt.git; a = tree; f = docs/schemas; hb = HEAD

我发现Glassfish的人正在使用rngom生成我需要的相同对象模型,但我还不知道他们是如何使用rngom的.

java xsd code-generation relaxng

6
推荐指数
1
解决办法
1469
查看次数

从C#代码生成汇编代码?

有没有办法从C#代码生成汇编代码?我知道C代码可以使用GAS,但有人知道C#是否可行?

c# assembly code-generation gnu-assembler

6
推荐指数
3
解决办法
1万
查看次数

Lisp/Clojure DSL的中间表示

我正在设计一个Clojure中的DSL,用于驱动代码生成器(在这种情况下用于程序图像合成 - clisk),并且无法计算出中间值的最佳表示.

最初DSL由返回一个或多个表单的函数组成,例如(说明性的)

(v+ 1.0 [1.0 'y])
=> ['(+ 1.0 1.0) '(+ 1.0 y)]
Run Code Online (Sandbox Code Playgroud)

然后可以组合这些函数以构建更大的代码块.

这很简单,结果表格可以直接输入代码生成器.然而,我现在已经确定了这种方法看起来有些弱点,例如,如果需要传递一些辅助数据(例如,无法以BufferedImages等形式编码的对象,对优化有用的元数据等).

我确信这是Lisp世界中一个已经解决的问题 - 这种DSL的最佳中间代表通常是什么?

lisp dsl code-generation functional-programming clojure

6
推荐指数
1
解决办法
645
查看次数

使用Java编译方案

我正在编写一个Scheme解释器(尝试完全兼容R5RS),这让我感到震惊的是编译成VM操作码会使它更快.(如果我错了,请纠正我.)我可以解释内存中的Scheme源代码,但我仍然坚持理解代码生成.

我的问题是:从解析树生成操作码需要哪些模式,例如JVM或任何其他VM(甚至是真机)?如果有的话,这样做的复杂性,优点或缺点是什么?

java scheme code-generation compilation

6
推荐指数
1
解决办法
353
查看次数

LLVM IR到Python编译器

有没有工具将LLVM IR代码转换为Python代码?我知道有可能将它转换为Javascript(https://github.com/kripken/emscripten/wiki),转换为Java(http://da.vidr.cc/projects/lljvm/),我很乐意转换它也适用于Python.

另外如果这样的工具不存在,你可以提供任何信息,什么是最好的工具(也许我应该用其他语言扩展emscripten - Javascript和Python在某些方面相似;))

python compiler-construction code-generation converter llvm

6
推荐指数
1
解决办法
1396
查看次数

Eclipse为域对象和带有'm'后缀的类成员生成getter/setter

关于我的域对象中生成的getter和setter方法,我有一个小问题.我想为我的源代码使用一个通用的样式指南.该样式指南的一部分说我开始使用前缀'm'作为成员的每个类成员名称.

class User{
String mName;
List<Call> mAllCall;
List<Geo> mAllGeo;
Run Code Online (Sandbox Code Playgroud)

不幸的是,我有几个有更多成员变量的类.我遇到的问题是我是一个非常懒惰的开发人员,我在Eclipse中创建了getter和setter方法

"来源" - >"生成吸气剂和二传手".

结果是

public String getmName() {
    return mName;
}
public void setmName(String mName) {
    this.mName = mName;
}
public List<Call> getmAllCall() {
    return mAllCall;
}
public void setmAllCall(List<Call> mAllCall) {
    this.mAllCall = mAllCall;
}
public List<Geo> getAllGeo() {
    return mAllGeo;
}
public void setmAllGeo(List<Geo> mAllGeo) {
    this.mAllGeo = mAllGeo;
}
Run Code Online (Sandbox Code Playgroud)

那不是我想要的结果.我需要这个:

public String getName() {
    return mName;
}
public void setName(String pName) {
    this.mName = pName;
}
public …
Run Code Online (Sandbox Code Playgroud)

java eclipse code-generation

6
推荐指数
1
解决办法
2958
查看次数