我知道只要符合某些条件,javascript(或至少它的一个版本)就可以编译成.NET.如何在我写的javascript上进行编译时或静态语法检查?问题是,它必须支持jquery
因为有人会问,编译(用ms .net)是
C:\Windows\Microsoft.NET\Framework\v2.0.50727\jsc thefile.js
Run Code Online (Sandbox Code Playgroud)
编写包thenamespace {class ClassName {在必要的地方.然后您可以将其添加为普通参考.根据经验,参考文献并不总是与单声道兼容.
我试图更好地理解如何在不同的lisps中评估S表达式,并希望看到它们将处理有趣的错误表达式.我认为Common Lisp和Scheme是完全不同的语言,但它们的语义是否存在特定的差异,这解释了行为的差异.例如,Lisp-1s和Lisp-2s在行为方面存在可观察到的差异,卫生与非卫生宏观系统也是如此.
我有一个程序,在Scheme和Common Lisp中包含一个无法访问的格式错误的if表达式.
;; foo.scm
(if #t 1 (if))
(display "12")
Run Code Online (Sandbox Code Playgroud)
和Common Lisp版本一样
;; foo.lisp
(if t 1 (if))
(display "12")
Run Code Online (Sandbox Code Playgroud)
chicken并且guile都产生语法错误.
鸡:
% chicken foo.scm
Syntax error: (foo.scm:1) in `if' - pair expected
(if)
Expansion history:
<syntax> (##core#begin (if #t 1 (if)))
<syntax> (if #t 1 (if))
<syntax> (##core#if #t 1 (if))
<syntax> (if) <--
Run Code Online (Sandbox Code Playgroud)
诡计:
% guile foo.scm
...
.../foo.scm:1:9: source expression failed to match any pattern in form (if)
Run Code Online (Sandbox Code Playgroud)
sbcl并且 …
根据这个答案,我了解到我可以通过设置禁用 SQL 函数的语法检查check_function_bodies=false。
就我而言:使用 Flyway 运行升级,其中
我的问题是 - 一旦所有其他依赖项都就位,是否可以对这样的函数进行“重新检查”而无需实际调用它?类似于 Oracle 的东西alter function ... compile。
理想情况下,我想check_function_bodies=false在升级开始时进行设置,然后在升级结束时重新检查每个 SQL 函数。
我想避免:
我尝试过的事情:
alter functionpg_get_functiondef我正在编写一个控制台应用程序来验证 PowerShell 脚本语法。我的请求是验证 PowerShell 脚本而不执行该脚本。我在下面的 PowerShell 命令中发现了这个命令,它可以在不执行脚本的情况下执行语法检查。
Get-Command -syntax 'D:\powershell\deleteDemoFile.ps1'
Run Code Online (Sandbox Code Playgroud)
但是,我发现它没有进行完整的语法检查。例如,在 PowerShell 中使用变量而未声明,或者变量在(Function、if、ForEach 等)中存在拼写错误,上述命令不会捕获此类语法错误。
下面是 PowerShell 脚本文件 (.\deleteDemoFile.ps1) 的示例代码。请注意,下面的代码中 (if, Function) 的拼写错误,并且使用了变量“$log_dir”但未声明。
当我运行 PowerShell 命令时,Get-Command -syntax 'D:\powershell\deleteDemoFile.ps1'该命令不会引发任何语法错误。
Write-Host "Hello, World!"
ifTypo(-not (test-path -path $log_dir )) {
new-item -itemtype directory -path $log_dir
}
FunctionTypo log {
Param ([string]$log_string)
write-host $log_string
add-content $log_file -value $log_string
}
log("Deleting a demo txt file")
# PowerShell -WhatIf safety parameter
Clear-Host
Get-Childitem D:\powershell\SomeFile\demo.txt -Recurse | Remove-Item
Run Code Online (Sandbox Code Playgroud)
所以我想知道。
有这个原型的new方法Parse::RecDescent:
sub new ($$$)
{
# code goes here
}
Run Code Online (Sandbox Code Playgroud)
如果我创建这样的对象:
my $parser = Parse::RecDescent->new($grammar);
Run Code Online (Sandbox Code Playgroud)
它会创建一个解析器,该方法将接收2个参数"Parse :: RecDescent"和$ grammar,对吧?如果我尝试创建一个像这样的对象:
Parse::RecDescent::new("Parse::RecDescent",$grammar)
Run Code Online (Sandbox Code Playgroud)
这将失败说"没有足够的Parse :: RecDescent :: new参数",我理解这个消息.我只传递了2个参数.但是,我不明白为什么箭头版本有效.
你可以解释吗?
是否有一个notepad ++插件,允许通过编译器运行文件进行简单的语法检查?如抓住失踪; 或者不匹配的支具数量等?
我正在尝试检测具有相同索引的嵌套循环,如下所示:
for(let i = 0; i < 10; i++) {
for(let i = 0; i < 10; i++) {
}
}
Run Code Online (Sandbox Code Playgroud)
我已经搜索了 Eslint 规则,但到目前为止还没有找到任何解决方案。有没有办法检测这种糟糕的代码味道?非常感谢。
像我这样的突击队员如何使用一些 JavaScript 内置方法(如果有!)或任何其他可能的方式检查输入的代码是否是有效的 JavaScript 源?(类似于 NetBeans、Eclipse 等各种 IDE 中的预解析器)?
我必须检查代码是否正常,然后 window.eval()-it 到当前文档实例。
我想检查我的perl模块的语法(以及导入),但我不想检查动态加载的c库.
如果我做:
perl -c path_to_module
Run Code Online (Sandbox Code Playgroud)
我明白了:
Can't locate loadable object for module B::Hooks::OP::Check in @INC
Run Code Online (Sandbox Code Playgroud)
因为B :: Hooks :: OP :: Check正在加载一些动态c库,我不想检查那个......
当使用gcc或g ++时,告诉GCC只编译文件而不是链接(-S),并告诉它不生成输出文件(-o"nul")之间有什么区别:
gcc.exe/g++.exe -S "filename" -o "nul"
Run Code Online (Sandbox Code Playgroud)
...并告诉它只检查语法(-fsyntax-only)?
gcc.exe/g++.exe -c "filename" -fsyntax-only
Run Code Online (Sandbox Code Playgroud)
这两个选项都不会产生输出,只运行编译阶段,并且需要大约相同的时间才能运行.
我正在使用GCC的Windows端口,它将"nul"视为占用所有输出的空设备(如/ dev/null).
编辑:正如Mike Seymour所指出的,当将-fsyntax-only传递给GCC时,即使被告知这样做也不会尝试执行优化,这与-S不同.换句话说,这是较慢的(我已经执行了测量):
gcc.exe -S "filename" -o "nul" -O3
Run Code Online (Sandbox Code Playgroud)
... 比这个:
gcc.exe -c "filename" -fsyntax-only -O3
Run Code Online (Sandbox Code Playgroud) syntax-checking ×10
javascript ×3
c ×2
perl ×2
c++ ×1
clisp ×1
common-lisp ×1
dynamic ×1
editor ×1
eslint ×1
eval ×1
g++ ×1
gcc ×1
ide ×1
libraries ×1
lisp ×1
notepad++ ×1
oop ×1
plpgsql ×1
postgresql ×1
powershell ×1
sbcl ×1
tslint ×1
typescript ×1
validation ×1