标签: syntax-checking

使用jquery检查javascript的静态/编译时间?

我知道只要符合某些条件,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 {在必要的地方.然后您可以将其添加为普通参考.根据经验,参考文献并不总是与单声道兼容.

javascript syntax-checking

5
推荐指数
1
解决办法
1798
查看次数

无法访问的Ill-formed if-expression是Scheme中的语法错误,但不是Common Lisp中的语法错误

我试图更好地理解如何在不同的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并且 …

lisp clisp syntax-checking sbcl common-lisp

4
推荐指数
1
解决办法
345
查看次数

如何重新检查使用 check_function_bodies=false 创建的 SQL 函数?

根据这个答案,我了解到我可以通过设置禁用 SQL 函数的语法检查check_function_bodies=false

就我而言:使用 Flyway 运行升级,其中

  1. 函数创建的顺序没有明确定义
  2. 某些功能使用同一升级中尚未创建的其他功能。

我的问题是 - 一旦所有其他依赖项都就位,是否可以对这样的函数进行“重新检查”而无需实际调用它?类似于 Oracle 的东西alter function ... compile

理想情况下,我想check_function_bodies=false在升级开始时进行设置,然后在升级结束时重新检查每个 SQL 函数。

我想避免:

  1. 控制脚本的运行顺序。
  2. 重新运行函数创建脚本

我尝试过的事情:

  • 做假人alter function
  • 呼唤pg_get_functiondef

postgresql syntax-checking plpgsql

4
推荐指数
1
解决办法
1059
查看次数

如何使用 PowerShell cmdlet 对 PowerShell 脚本文件进行完整语法检查

我正在编写一个控制台应用程序来验证 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)

所以我想知道。

  • 此 PowerShell 命令进行语法检查的效率如何?
  • 它是否仅验证 PowerShell cmdlet、函数和别名的语法?
  • 此命令与哪个版本的 …

validation powershell syntax-checking powershell-cmdlet

4
推荐指数
1
解决办法
2724
查看次数

为什么这个代码的两个版本都没有通过-c Perl检查失败?

有这个原型的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个参数.但是,我不明白为什么箭头版本有效.

你可以解释吗?

oop perl syntax-checking

3
推荐指数
1
解决办法
81
查看次数

在Notepad ++中检查PHP语法

是否有一个notepad ++插件,允许通过编译器运行文件进行简单的语法检查?如抓住失踪; 或者不匹配的支具数量等?

ide editor syntax-checking notepad++

3
推荐指数
1
解决办法
4800
查看次数

如何在 JavaScript/TypeScript 中检测具有相同索引的嵌套循环

我正在尝试检测具有相同索引的嵌套循环,如下所示:

for(let i = 0; i < 10; i++) {
    for(let i = 0; i < 10; i++) {
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经搜索了 Eslint 规则,但到目前为止还没有找到任何解决方案。有没有办法检测这种糟糕的代码味道?非常感谢。

javascript syntax-checking typescript eslint tslint

3
推荐指数
1
解决办法
71
查看次数

使用 JavaScript 检查 JavaScript 语法?

像我这样的突击队员如何使用一些 JavaScript 内置方法(如果有!)或任何其他可能的方式检查输入的代码是否是有效的 JavaScript 源?(类似于 NetBeans、Eclipse 等各种 IDE 中的预解析器)?

我必须检查代码是否正常,然后 window.eval()-it 到当前文档实例。

javascript eval syntax-checking

2
推荐指数
1
解决办法
4181
查看次数

perl语法检查而不加载c库

我想检查我的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库,我不想检查那个......

c perl syntax-checking dynamic libraries

2
推荐指数
1
解决办法
211
查看次数

编译后停止和仅检查语法之间的区别

当使用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)

c c++ gcc g++ syntax-checking

2
推荐指数
1
解决办法
419
查看次数