我要回到一个旧的项目,在那里我为Essence添加了预处理器功能,我意识到我之前编写域特定语言和相关词法分析器/解析器的解决方案是过度的.
相反,我只需要能够将动态语言代码嵌入到文件中,在运行时隔离它,eval并插入结果.换句话说,非常类似于将动态代码插入HTML的PHP模型.我宁愿不使用PHP,因为Python作为更大项目(IronPython或Jython)的一部分更容易分发
所以问题是,如何最好地实现以下内容:
<code>Python goes here</code>
Lots of essence <code>Python</code> prime code goes here
Run Code Online (Sandbox Code Playgroud)
我不想改变Essence文件的结构(如果我删除所有代码块,剩下的一切应该能够在语法上正确.它需要能够插入文本代替像PHP这样的代码块.
最后安全方面我并不担心代码注入,因为用户自己选择要执行的文件虽然如果一个模型比另一个模型有安全优势而没有额外的成本显然是好的.
提前干杯
| 归档时间: |
|
| 查看次数: |
250 次 |
| 最近记录: |