问题标签 [codegen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1892 浏览

python - 如何从一个简单的函数中提取名称?

我有这段代码:

从函数'func'我想提取:

或类似的东西:

已编辑

一些背景来解释为什么我认为我需要这样做

我想将一个简单的 python 函数的代码转换为电子表格公式。

所以我需要转换:

至:

示例电子表格 http://img441.imageshack.us/img441/1451/84516405.png

**再次编辑*

到目前为止我所拥有的。

下面的程序输出:

编码:

我在这里找到了一些资源:Python internals: Working with Python ASTs I grabbed a working codegen module here

0 投票
1 回答
464 浏览

jibx - 包含其他模式时出现 JiBx 错误

这是我用于 JiBx 代码生成和绑定的模式。

这是我在尝试生成代码时遇到的错误。错误 codegen.CodeGen - 错误:引用的元素 '{http://www.abc.com/abc/service/APIService}:OTA_AirLowFareSearchRQ' 未在(APIService.xsd 中的第 11 行第 47 列)的“元素”中定义.

非常感谢任何帮助。

0 投票
4 回答
3974 浏览

binding - maven - jibx codegen - 存储 binding.xml

我正在使用 maven 构建一个 jar,其中包含使用 jibx 从模式文件生成的代码。为此,我使用带有 schema-codegen 目标的 jibx-maven-plugin。我想将生成的 binding.xml 文件包含在生成的 maven jar 中。有什么方法可以指导 jar 创建以包含生成的 binding.xml

目前使用:

0 投票
1 回答
2566 浏览

binding - JiBX 代码生成错误:格式元素上的名称重复

我正在尝试使用 JiBX Code Gen 工具为[OTA2003B] ( http://www.opentravel.org/Specifications/SchemaIndex.aspx?FolderName=2003B ) 上可用的 OTA 模式生成代码(应用了自定义)。以下是代码我已经写了实现同样的目标。

Maven pom.xml jibx-maven-plugin 配置

自定义 XML:custom1.xml

当我尝试从配置的模式生成代码时,代码会在没有绑定文件的情况下生成,并且出现以下错误:

但是,当我将generate-all="false"附加到custom1.xml中的<shema-set> 元素时,代码生成和绑定生成成功完成。当我使用generate-all="false"时,请参阅下面的输出

我可以看到,在两个模式中都指定了上面显示的错误中提到的元素,例如InventoryStatusType可用。因此,问题正在发生。但我已经指定了prefer-inline="true"和不同的包要在我的custom1.xml中生成的每个模式代码,这意味着对于这两个模式,InventoryStatusType的完全限定名称(假设这将被创建为内部类)将是不同的,这不应该像这样创建一个重复错误我正在遇到。
1)是什么导致了问题以及generate-all="false"如何能够避免这个问题?
2) 如何在不使用generate-all="false" 的情况下解决 Duplicate Name 错误?

注意:使用 generate-all="false" 生成绑定文件但在编译绑定时遇到以下错误:

收到Don的回复后对此进行更新

发布问题后,我在线查看了 OTA 模式 ( http://www.opentravel.org/Specifications/SchemaIndex.aspx?FolderName=2003B ) 我试图从中生成代码,我发现上面的链接和我所拥有的不同。所以我认为我拥有的扁平化版本的架构可能会导致问题。所以我下载了架构的在线版本,它的结构正确,因为它包含常见的架构,即

注意:我没有在我的代码中使用 OTA_AirCommonTypes.xsd,因为在此架构定义中发生了与架构元素相关的一些错误。

所以我认为现在提到的模块化生成技术(http://jibx.sourceforge.net/fromschema/example-modular.html)可以提供帮助。我继续进行相同的操作,以下是我编写的代码:

jibx-maven-plugin 配置

我的自定义 XML

custom_a.xml

custom_b.xml

首先,我应用了生成代码的custom_a.xml并运行了成功编译绑定(base-binding.xml)的 jibx:bind 目标。然后我评论了应用 custom_a.xml 的配置部分,并启用了应用custom_b.xml的配置部分, 它成功生成了代码,但运行绑定编译器产生了以下错误:

那么现在我错过了什么或出错了,以及如何解决这个问题?另外,我编写的代码是否符合 JiBX 用户应遵循的最佳实践,或者我可以做出哪些改进?

笔记:

生成的代码包和层次结构

binding.xml内容:

谢谢,
吉涅什

0 投票
1 回答
2314 浏览

binding - jibx 1.2.3 模块化模式到代码生成 - 绑定编译导致内部错误 - 无法修改类

我有一个具有层次结构的 Maven 多模块项目:

OTA2003B ( http://www.opentravel.org/Specifications/SchemaIndex.aspx?FolderName=2003B ) 我正在使用的模式:

ota 模块 - pom.xml

ota-common - pom.xml

custom_a.xml

ota-veh-avail-rate - pom.xml

custom_b.xml

mvn 安装输出

错误原因:

com.poc.multimodule.ota.common.ActionType是由 ota-common 模块生成的类型,存在于我正在使用的生成的 base- binding.xml 中。它是 OTA_SimpleTypes.xsd 架构的一部分

架构文件中的ActionType定义

是什么导致了这个 java.lang.IllegalStateException: Internal error - cannot modify class 以及如何解决这个问题?

谢谢,
吉涅什

0 投票
3 回答
498 浏览

java - java peephole optimization beginner compilers

As part of a group project I'm writing a compiler for a simplified language. As one of the optional features I thought I'd add a peephole optimizer to go over the codegen's output intel assembly code and optimize it.

Our compiler is done in java and it seems like it's going to be a lot of work to create this peephole optimizer using the java I've learned so far. Is there some sort of tool I should be using to make this possible, as pattern matching strings doesn't sound like a good approach in java.

thanks

0 投票
1 回答
2395 浏览

llvm - 从另一个 llvm::Module 获取函数声明

在我的应用程序中,我有 2 个 LLVM 模块 - 运行时模块(包含void foo(int * a)函数定义)和可执行模块(我正在使用 LLVM C++ API 创建)。

在我的可执行模块中,我创建int main(int argc, char ** argv)并想要放入llvm::CallInst它的主体,它将foo()从运行时模块调用函数。

这是我的代码:

之后,我将两个模块链接在一起:

这可以编译,但是当我在链接模块上运行验证程序传递时,我得到:

值得一提的是,运行时模块中的所有全局变量都是使用 Internalize pass 内部化的。链接后,但在运行验证程序之前,我正在运行 Dead Global Elimination pass 以及其他一些优化。当我dump()对生成的模块执行操作时,我看到,@foo来自运行时模块的内容也会被删除,尽管它被main(). 看来,LLVM 认为@foo运行时中的定义和@foo可执行文件中的声明是不相关的。

我尝试过使用链接类型 - 没有运气。

那么,从另一个模块创建对函数的调用的正确方法是什么?

0 投票
1 回答
728 浏览

razor - RazorGenerator.MsBuild - 实现从开发人员机器到 Buildserver 的和谐

我们目前正在使用 RazorGenerator 库为项目生成预编译视图。到目前为止,我们一直在使用 Visual Studio 扩展来处理生成,这些生成的文件也被提交到我们的存储库。

这引起了一些痛点,因为我们必须经常解决生成文件中的合并缺陷。考虑到这一点,我开始尝试将 RazorGenerator.MsBuild 目标库集成到我们的构建过程中,这样我们就可以避免将代码生成的文件存储在我们的存储库中。

到目前为止,我已经禁用了 VS 扩展,并使构建目标按要求工作,但是我现在失去了对生成文件的智能感知和 resharper 支持,因为它们不再是解决方案的一部分。

我想知道以前是否有其他人曾走过这条路,理想情况下,我想要实现的是使用 Build 目标生成 cs 文件,无需将这些 cs 文件包含在存储库中,并且仍然具有 Intellisense/对生成的文件进行更清晰的覆盖。

有什么想法吗?

0 投票
1 回答
1611 浏览

c++ - codegen matlab to c++ :- 尝试构建基于 c++ 的 .exe 而不是 c 时出现问题?

我在使用 codegen 时遇到了一些问题(通过 gui 界面)。

我已经基于以下两个文件成功构建了一个非常简单的基于 c 的 .exe 程序。

码兰德.m

主程序

如果我现在尝试将 main.c 更改为 main.cpp 中的相同代码,

主文件

我收到以下编译错误。

非常感谢任何帮助。

编辑: - 自己解决...

对于那些遇到同样问题的人...

编码器 -> 更多设置 -> 所有设置 -> 高级 -> 语言..将 C 更改为 C++

0 投票
1 回答
1139 浏览

freebsd - FreeBSD Echoprint 代码生成器

我正在尝试在 FreeBSD 上编译 Echoprint 代码生成,但失败了。但这是我尝试跑步时得到makemake install

我尝试以 root 和普通用户身份运行它。两者都无济于事。

不幸的是,我对makefile一无所知。FreeBSD有makefile吗?

最好的问候,蒂莫菲