xref: /template/strap/grammar/README.md (revision 04fd306c7c155fa133ebb3669986875d65988276)
137748cd8SNickeau# Antlr
237748cd8SNickeau
337748cd8SNickeau
4*04fd306cSNickeauWith the [version 4.9.3](#version)
5*04fd306cSNickeau```cmd
6*04fd306cSNickeauantlr4 ^
7*04fd306cSNickeau    -o D:\dokuwiki\lib\plugins\combo\ComboStrap\PageSqlParser ^
8*04fd306cSNickeau    -package ComboStrap\PageSqlParser ^
9*04fd306cSNickeau    -Dlanguage=PHP ^
10*04fd306cSNickeau    -lib D:/dokuwiki/lib/plugins/combo/grammar  ^
1137748cd8SNickeau    D:/dokuwiki/lib/plugins/combo/grammar\PageSql.g4
1237748cd8SNickeau```
1337748cd8SNickeau
14*04fd306cSNickeau
15*04fd306cSNickeauDon'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`
20*04fd306cSNickeau
21*04fd306cSNickeauSee the [documentation](https://datacadamia.com/antlr/idea#test_antlr_rule)
22*04fd306cSNickeau
23*04fd306cSNickeau
24*04fd306cSNickeau## Version
25*04fd306cSNickeau
26*04fd306cSNickeau
27*04fd306cSNickeauFor php7, you should install:
28*04fd306cSNickeau  * Runtime 0.5.1
29*04fd306cSNickeau    * Runtime 0.6 as a bad ATN
30*04fd306cSNickeau    * Above 0.6 antlr requires php8 - The antlr version can be seen in `Antlr\Antlr4\Runtime\RuntimeMetadata`. It's `4.9.3`
31*04fd306cSNickeau```bash
32*04fd306cSNickeaucomposer require antlr/antlr4-php-runtime:0.5.1
33*04fd306cSNickeau```
34*04fd306cSNickeau  * We can't manually use the antlr idea plugin (too old: 1.17 (ANTLR 4.9.2) (File > Settings > Install Manually)
35*04fd306cSNickeauhttps://plugins.jetbrains.com/plugin/7358-antlr-v4/versions
36*04fd306cSNickeau  * [Download the version 4.9.3](https://github.com/antlr/website-antlr4/blob/gh-pages/download/antlr-4.9.3-complete.jar)
37*04fd306cSNickeau  * And run it at the command line
38