سلام دوستان
در اولین پستم در ویرگول قصد دارم برنامه antlr را معرفی کنم. antlr یک ابزار برای درست کردن کامپایلر یک زبان برنامه نویسی است که با سیستم زبانی مبتنی بر EBNF کار می کند.
برای نصب این ابزار برای زبان هدف ++c آنچنان داکیومنتی بر بستر وب موجود نیست و خودم هم با کلی جستجو فهمیدم که چه جوری باید نصب بشه و در ادامه نحوه نصب رو بر روی سیستم عامل ubuntu توضیح میدم.
ابتدا ترمینال را در ubuntu باز کرده و سپس commandهای زیر را به ترتیب در آن وارد می کنیم:
cd /usr/local/lib
sudo wget https://www.antlr.org/download/antlr-4.8-complete.jar
سپس به فایل منیجر Ubuntu را باز می کنیم و به پوشه home می رویم و گزینه نشان دادن فایلهای پنهان را فعال می کنیم و فایل bashrc. را باز کرده و کدهای زیر را به انتهای آن اضافه می کنیم:
export CLASSPATH=".:/usr/local/lib/antlr-4.8-complete.;
alias antlr4='java -jar /usr/local/lib/antlr-4.8-complete.jar'
alias grun='java org.antlr.v4.gui.TestRig'
تا اینجا فقط dependency های لازم رو قرار دادیم و از اینجا به بعد اصل ماجرا شروع میشه:
یک ترمینال جدید باز می کنیم و دستورهای زیر را به ترتیب اجرا می کنیم:
wget https://www.antlr.org/download/antlr4-cpp-runtime-4.8-source.zip
unzip antlr4-cpp-runtime-4.8-source.zip
mkdir antlr4
unzip antlr4-cpp-runtime-4.8-source.zip -d antlr4
cd antlr4
sudo apt install cmake
sudo apt install uuid-dev
sudo apt install pkg-config
mkdir build && mkdir run && cd build
cmake ..
DESTDIR=../run make install
cd ../run/usr/local/include/antlr4-runtime
sudo cp * /usr/local/include
sudo cp -r * /usr/local/include
cd ../../lib
sudo cp * /usr/local/lib
sudo ldconfig
در اینجا کار تموم میشه و فقط باید یک گرامر بنویسید و فایلهای تولید شده از گرامر را در زبان ++c به پروژه خود اضافه کنید و کتابخانهی antlr که با عنوان libantlr4-runtime.a قرار دارد را به پروژه خود لینک کنید.
برای نوشتن گرامر در یک محیط ایده آل ابتدا intellij idea را نصب کنید و سپس در آن پلاگین antlr را نصب کنید و یک فایل با پسوند g4. درست کنید و داخل آن گرامر خود را بنویسید.
امیدوارم این مقاله برای شما سودمند واقع شود.