தொடங்குதல்
இ-தமிழ் நிறுவுதல்
Linux, macOS அல்லது Windows-இல் மூலக்குறியீட்டிலிருந்து தொகுப்பியை உருவாக்கி, PATH-இல் சேர்த்து, முதல் தமிழ் நிரலை இயக்குங்கள்.
முன்நிபந்தனைகள்
Rust 1.85+ (edition 2024) மற்றும் ஒரு C கருவித்தொகுப்பு — உள்ளடங்கிய SQLite மற்றும் கிரிப்டோ crate-கள் C-ஐத் தொகுக்கின்றன.
- Windows — Visual Studio Build Tools, Desktop development with C++ பணிச்சுமையுடன்.
MSVC லிங்கர் விருப்பமானது அல்ல: அது இல்லாமல்
cargo checkகூட தோல்வியடையும், ஏனெனில் proc-macro crate-கள் DLL ஆக இணைக்கப்படுகின்றன. - Linux / macOS — இயங்கும்
cc(build-essential, அல்லது Xcode command line tools).
மூலக்குறியீட்டிலிருந்து உருவாக்குதல்
git clone https://github.com/Maruff/etamil_compiler.git
cd etamil_compiler/etamil_compiler
cargo build --release
இருமம் (binary) target/release/etamil (Windows-இல் etamil.exe). அதை உங்கள்
PATH-இல் சேர்க்கவும்:
Linux / macOS
sudo cp target/release/etamil /usr/local/bin/etamil
Windows (PowerShell)
Copy-Item "target\release\etamil.exe" "$env:USERPROFILE\bin\etamil.exe"
சரிபார்க்க:
etamil --version
உங்கள் முதல் நிரல்
echo 'அச்சு "வணக்கம் உலகம்!";' > hello.etamil
etamil --vm hello.etamil
Windows-இல், கோப்பை UTF-8 ஆக எழுதுங்கள்:
'அச்சு "வணக்கம் உலகம்!";' | Out-File hello.etamil -Encoding UTF8
etamil --vm hello.etamil
பிறகு பயனுள்ள ஒன்று — நிலையான உள்ளீட்டிலிருந்து (stdin) படிக்கும் வருமான வரிக் கணக்கீடு:
echo "950000" | etamil --vm examples/basic_samples/example.qmz
விருப்ப வசதிகள்
SQLite உள்ளமைக்கப்பட்டுள்ளது. மற்றவை Cargo வசதிகளுக்குப் பின்னால் உள்ளன; எனவே இயல்பான உருவாக்கம் அவற்றின் சார்புகளைச் சுமப்பதில்லை.
cargo build --release --features postgres,mysql
LLVM பின்தளம் --llvm-க்கு மட்டுமே தேவை, மேலும் Linux மற்றும் macOS-இல் மட்டுமே கிடைக்கிறது:
cargo build --release --features llvm
LLVM பின்தளம் VM-ஐ விடக் குறைவாகவே தொகுக்கிறது — செயல்கள், சுழற்சி, தொகுப்புகள்,
தொகுதிகள் இல்லை. வேறு ஒன்றைக் கணக்கிடும் IR-ஐ உருவாக்குவதற்குப் பதிலாக, தன்னால் கட்ட
முடியாததை அது மறுக்கிறது. உண்மையான வேலைக்கு --vm பயன்படுத்துங்கள்.
சோதனைகளை இயக்குதல்
cd etamil_compiler
cargo test # 176 மொழிச் சோதனைகள் + 51 அலகுச் சோதனைகள்
tests/language_tests.rs முன்தளத்தை முழுமையாகச் சோதிக்கிறது — வெளியேறு நிலைக் குறியீடுகளை
அல்ல, நிரலின் முடிவுகளை உறுதிப்படுத்துவதன் மூலம். அவை உள்ளடக்கும் ஒவ்வொரு பிழையும்
தவறான விடையைத் தந்தபடியே 0 என வெளியேறியது. ஒவ்வொரு push மற்றும் pull request-க்கும்
CI, Linux மற்றும் Windows-இல் உருவாக்கத்தையும் முழுத் தொகுப்பையும் இயக்குகிறது.
ஒவ்வொரு எடுத்துக்காட்டும் அதன் எதிர்பார்க்கப்படும் விளைவுடன் சரிபார்க்கப்படுகிறது — தோல்வியடைய வேண்டியவை உட்பட:
./scripts/run_examples.sh
python3 scripts/transliterate.py --check # எழுத்துப்பெயர்ப்புத் தணிக்கை
திருத்தி ஆதரவு
தொடரியல் நிறமூட்டல், துணுக்குகள், மொழி அமைவு கொண்ட VS Code நீட்சி, தொகுப்பிக் களஞ்சியத்தில்
eTamil_Code/ இல் உள்ளது.
அடுத்து எங்கே
-
மொழி அறிமுகம்
தொடரியல், மூன்று எழுத்து வடிவங்கள், துல்லியமான தசமங்கள், செயல்கள், தொகுப்புகள், தொகுதிகள்.
-
நிதியும் கணக்கியலும்
GST, இரட்டைப் பதிவு, மூன்று அறிக்கைகள்.
-
பின்தளம்
HTTP வழிகள், SQL இயக்கிகள், JSON, அங்கீகாரம்.
-
நிலை
இன்று எது இயங்குகிறது, எது பகுதியளவு, எது கட்டப்படவில்லை.