当使用transcrypt将python编译为javascript时,我注意到语法错误报告比标准python语法错误报告更加模糊。由于代码无法使用标准的python编译器进行编译,因为由于transcrypt语法而会引发语法错误,是否有办法获得类似于python编译器的更具体的语法错误报告?
答案 0 :(得分:0)
在某些情况下:是的,一般而言:否。
Transcrypt语法是Python语法,因为两者都使用CPython的ast模块来解析源代码。 但是Transcrypt程序可能会调用JavaScript代码,该代码在CPython中不起作用。 因此,尽管许多Transcrypt模块也可以与CPython一起使用,但直接使用JavaScript的模块却不能。 对于这些模块,CPython解释器的(语法和语义)错误报告不可用。
关于__pragma__的注释。的确,即使从句法上讲,它们只是函数调用,尽管从语义上讲,它们在编译时起作用。
请注意,使用CPython解释器运行Transcrypt模块是Transcrypt背对背自动测试系统的全部核心。没有这种可能性,很难避免新版本中的回归错误。
正确的Transcrypt行为简单地定义为“ CPython会做什么” ...