问题标签 [syntax-checking]
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.
php - 检查字符串是否是有效的 PHP 代码
我想要做:
有没有简单的is_valid_php
检查方法?
我能找到的只是在线 php 语法检查器和检查语法的命令行方法,或者php_check_syntax
仅适用于文件,我不想写入文件来检查字符串是否有效。
我宁愿不使用system()
/exec()
或eval()
相关问题- 它很旧,所以我希望有新的东西
其他相关问题- 所有选项(据我所知)要么不再受支持,要么使用命令行,要么必须检查文件(不是字符串)
我不需要成熟的编译器或任何东西。我实际上只需要知道字符串是否是有效的 PHP 代码。
编辑:通过有效的 php 代码,我的意思是它可以被执行,没有编译器/语法错误,并且应该只包含 PHP 代码。它可能有运行时错误并且仍然有效,例如$y = 33/0;
. 并且它应该只包含 PHP... 例如,<div>stuff</div><? echo "str"; ?>
将是无效的,但<? echo "str"; ?>
将echo "$str";
是有效的
php - phpMyAdmin 有查询语法检查功能吗?
之前使用过Microsoft 的 SQL Management Studio,我经常使用查询语法检查功能,特别是在生产环境中非常方便。
- phpMyAdmin中是否有类似的功能?
- 如果没有,有没有办法验证 SQL 脚本的正确语法而不执行它?
任何帮助或相关链接将不胜感激。
c++ - Clang 找不到包含目录?
我只是将所有头文件移动到include
我的项目目录中,而不是在src
目录中同时包含 .cpp 和 .h 。我在 vim 中使用 YouCompleteMe,现在当我打开 vim 时,它告诉我在侧面找不到我的头文件以提醒我编译器错误。具体来说,它给了我关于#include "my_header.h"
of 的my_header.h file not found
错误和每种方法的错误说use of undeclared identifier
. 但是,代码编译得很好。并且自动完成工作正常。自从我移动它们以来,clang 似乎现在找不到我的头文件所在的位置../include
。如果我将我的#include
行更改为#include "../include/my_header"
,则所有错误都会消失。但最好只#include "my_header.h"
在我的所有.cpp
文件中或#include <my_header.h>
.
谁能帮我解决这个问题?
c# - 成员访问调用不编译,但静态调用编译
所以今天我在尝试构建我们公司的解决方案时遇到了一个有趣的问题,我想问你们你们知道为什么会发生这种情况。我被告知它可能来自我的机器/视觉工作室,因为其他人没有同样的问题。
所以我们在项目中有一个方法A
:
其中GetAttribute<GlobalRPCRequest>()
定义在public static class ReflectionHelpers
然后我们有B
一个有方法的项目:
我必须指出,我们在 project 中引用了B
project A
。现在发生的情况是,当我尝试构建时出现编译错误:
错误 966 类型“System.Xml.Linq.XElement”在未引用的程序集中定义。您必须添加对程序集“System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。D:\Repositories\website\website\submodules\core\src\A\Extensions\Extensions.cs 37 13 A
发生的事情是编译器认为我实际上是在使用GetAttribute
项目中的方法B
(在我看来!)。为什么会这样?因为当我尝试导航到GetAttribute
VS 时,我找到了正确的方法(在 中的那个ReflectionHelpers
)。难道是因为反射?注意:我通过静态调用该方法或在我的项目中添加对 System.Xml.Linq 的引用来解决此问题A
,但我对 VS/语法检查功能的奇怪行为感到好奇。
python - 测试边缘案例的 Python 语法检查器
是否有语法检查器能够根据边缘情况检测损坏的代码。一个例子:
此代码已损坏,因为None * 2
没有意义。是否有工具可以检测这种错误?
谢谢
lisp - Unreachable Ill-formed if-expression 是 Scheme 中的语法错误,但在 Common Lisp 中不是
我试图更好地理解如何在不同的 lisp 中评估 S 表达式,并希望看到它们能够处理有趣的格式错误的表达式。我知道 Common Lisp 和 Scheme 是完全不同的语言,但是它们的语义是否存在特定差异来解释行为上的差异。例如,Lisp-1s 和 Lisp-2s 在行为上有明显的差异,卫生与非卫生宏观系统也是如此。
我有一个程序,其中包含在 Scheme 和 Common Lisp 中无法访问的格式错误的if表达式。
和 Common Lisp 版本
chicken
并且guile
都产生语法错误。
鸡:
诡计:
sbcl
并且clisp
都打印 12 并且不发出警告。
SBCL:
CLISP
javascript - ace 编辑器语法验证 html+javascript
我正在使用 Ace Editor,我试图弄清楚如何让它实时语法检查编辑器中的 HTML 标记和 JavaScript 代码。
如果我设置“ace/mode/html”,则只检查 HTML 语法,所以在下面的代码中
编辑器会忽略 JS 语法错误。
有没有办法告诉 Ace Editor 检查 HTML 和 Javascript?
非常感谢!
上面的问题解释了如何在 2 个单独的编辑器中执行语法检查 HTML 和 JS,而我问的是如何在同一个编辑器中检查它们。
typescript - 如何从命令行检查 TypeScript 代码中的语法错误?
我有一个生成 TypeScript 类的代码,作为构建/测试步骤,我想检查生成的文件的语法正确性。
我查看了TypeScript 编译器选项,但没有看到这样的选项。
- 如何检查语法?
我不想要完整的编译,因为在该构建步骤中无法访问引用的类型(它们位于稍后添加生成的源的不同模块中)。
python - Python。如何删除字符串中多余/错误的括号
例如输入字符串:
s = "fo)o)fus()(bar((em)ro(em))dah((y(XXX)"
结果,我期望:
fus()((em)ro(em))dah(XXX)
就像结果应该包含所有“健康”块,它们之间有打开的“(”和关闭的“)”+“健康”文本。所有有病的部分都应该去掉:“fo)”和“o)”,因为它们不包含在“()”中,也不在“()”之间或不包含在“()”中
另一个检查示例:
z = "))(OMG)123(()qwe(zxc)(ll"
应该返回
(OMG)123()qwe(zxc)
我希望它可以像使用re
模块一样作为常规脚本来解决。但我不知道应该使用哪种算法。
PS:我不会拒绝任何帮助。:)
cassandra - 如何在执行之前从命令行对 cassandra cql 文件进行语法检查?
在开发 cassandra 数据模型期间,如何在使用 cqlsh 执行命令之前非常快速地进行命令行语法检查以避免不必要的故障排除?cql 越大,语法检查就越有价值。