- 構文解析器: PPI
- ポリシーはオブジェクト:
Perl::Critic::Policy - 違反もオブジェクト:
Perl::Critic::Violation - 処理の流れ
- 有効な検査ポリシーが設定される
- 検査ポリシーごとに以下を繰り返す(
Perl::Critic#_gather_violations $doc : @violations)
- 検査ポリシーが解析に必要な要素名を宣言する(
Perl::Critic::Policy#applies_to : String[])
これの車輪の再発明っぽい: PolicySummary.pod
Perl::Critic の警告 |
内容 |
|---|---|
ProhibitBooleanGrep |
Use List::MoreUtils::any instead of grep in boolean context. |
ProhibitComplexMappings |
Map blocks should have a single statement. |
ProhibitLvalueSubstr |
Use 4-argument substr instead of writing substr($foo, 2, 6) = $bar. |
| $ git commit |
| stmt | left | list | op | rest | right | type |
|---|---|---|---|---|---|---|
let num = 0 |
identifier |
= |
number |
let |
||
let dict[key] = 0 |
dot |
= |
number |
let |
||
let list[0] = 99 |
subscript |
= |
number |
let |
||
let list[1:2] = [99, 99] |
slice |
= |
list |
let |
||
let str .= 'str_to_add' |
identifier |
.= |
number |
let |
||
let $ENV = 'str_content' |
env |
= |
string |
let |
||
let @@ = 'str_content' |
reg |
= |
string |
let |
||
let [elem0, elem1] = [0, 1] |
[identifier, identifier] |
= |
list |
let |
| pip install vim-vint |
| map <C-u> scrollPageUp | |
| map <C-d> scrollPageDown | |
| map <C-h> deleteChar | |
| cunmap <C-h> | |
| let scrollstep = 200 |
| // Compile-Time 4-bit Adder for TypeScript | |
| // Author: https://github.com/Kuniwak | |
| // INTPUT //////////////////////////////// | |
| // O: Low | |
| // I: High | |
| let inputA1: I; | |
| let inputA2: I; | |
| let inputA3: O; |