xref: /template/strap/grammar/README.md (revision 5b7a56ccb7c57144ce99d82ebd684c7eb5d4f441)
137748cd8SNickeau# Antlr
237748cd8SNickeau
337748cd8SNickeau
404fd306cSNickeauWith the [version 4.9.3](#version)
504fd306cSNickeau```cmd
604fd306cSNickeauantlr4 ^
704fd306cSNickeau    -o D:\dokuwiki\lib\plugins\combo\ComboStrap\PageSqlParser ^
804fd306cSNickeau    -package ComboStrap\PageSqlParser ^
904fd306cSNickeau    -Dlanguage=PHP ^
1004fd306cSNickeau    -lib D:/dokuwiki/lib/plugins/combo/grammar  ^
1137748cd8SNickeau    D:/dokuwiki/lib/plugins/combo/grammar\PageSql.g4
1237748cd8SNickeau```
1337748cd8SNickeau
1404fd306cSNickeau
1504fd306cSNickeauDon't for now as the idea plugin is not compatible. In the generator configuration in Idea:
1637748cd8SNickeau  * Output directory: `D:\dokuwiki\lib\plugins\combo\`
1737748cd8SNickeau  * Package: `ComboStrap\PageSqlParser`
1837748cd8SNickeau  * Language: `PHP`
1937748cd8SNickeau  * Lib (not yet used): `D:\dokuwiki\lib\plugins\combo\grammar`
2004fd306cSNickeau
2104fd306cSNickeauSee the [documentation](https://datacadamia.com/antlr/idea#test_antlr_rule)
2204fd306cSNickeau
2304fd306cSNickeau
2404fd306cSNickeau## Version
2504fd306cSNickeau
2604fd306cSNickeau
2704fd306cSNickeauFor php7, you should install:
2804fd306cSNickeau  * Runtime 0.5.1
2904fd306cSNickeau    * Runtime 0.6 as a bad ATN
3004fd306cSNickeau    * Above 0.6 antlr requires php8 - The antlr version can be seen in `Antlr\Antlr4\Runtime\RuntimeMetadata`. It's `4.9.3`
3104fd306cSNickeau```bash
3204fd306cSNickeaucomposer require antlr/antlr4-php-runtime:0.5.1
3304fd306cSNickeau```
3404fd306cSNickeau  * We can't manually use the antlr idea plugin (too old: 1.17 (ANTLR 4.9.2) (File > Settings > Install Manually)
3504fd306cSNickeauhttps://plugins.jetbrains.com/plugin/7358-antlr-v4/versions
3604fd306cSNickeau  * [Download the version 4.9.3](https://github.com/antlr/website-antlr4/blob/gh-pages/download/antlr-4.9.3-complete.jar)
3704fd306cSNickeau  * And run it at the command line
38*5b7a56ccSgerardnico
39*5b7a56ccSgerardnico## How to use in IntelliJ
40*5b7a56ccSgerardnico
41*5b7a56ccSgerardnicoSelect the `pageSql` rule, right and select `Test Rule Page Sql`
42