dmw*_*dmw 12 javascript preprocessor c-preprocessor
我已经在一个(差不多完成的)Javascript项目上工作了14个多月了.该项目最初是我希望在一夜之间完成的黑客攻击,但随着时间的推移,Javascript部分已经成长为68个独立文件和10,314个非空行,遗憾的是目前依赖于C预处理器进行构建.
很难解释我最终是如何使用cpp来实现Javascript的:这只是一个黑客,我需要的东西能给我宏扩展,ifdef,define,并且不需要太多努力.经过大约3秒钟的考虑,我意识到cpp对于任务是"完美的":
像所有真正的黑客,这个破解是现在这么硬编码到,我真的恨也别想将需要更换的工作项目.我的项目是达到我想要的代码库迁移到自己的专用测试服务器(而不是我的笔记本电脑),但是在建立一个Linux实例,我发现舞台是GNU CPP版本4.1不再预处理后的Javascript与崩溃一起出错.
我认为现在是真正解决这个问题的好时机,而不是将特定版本的GCC添加到构建要求列表中.但问题是,我找不到具有与cpp相同功能和特性的替换预处理器!我考虑过m4,但是m4本身就是一个痛苦的世界.我发现的其他特定于Javascript的预处理器缺少我目前所依赖的所有功能,例如:
__FILE__ & __LINE__我正在认真考虑为Javascript实现一个全新的预处理器,它完全借用了C预处理器语法,因为它运行得很好.我只是想知道在这之前是否有更好的选择.:)也许已经有一个类似cpp的通用预处理器我可以交换?替换这68个文件中的所有预处理器语法所需的工作接近简单地重新实现预处理器所需的工作量.
到目前为止,依靠C预处理器,我感到非常惊讶; 在这项任务中,它比健康的心灵理解更有效.另一个对我开放的选择是为Linux,Darwin-i386,Win32静态构建cpp-4.1版本,并将这些二进制文件存储在项目的存储库中.
救命!