தொடங்குதல்

இ-தமிழ் நிறுவுதல்

Linux, macOS அல்லது Windows-இல் மூலக்குறியீட்டிலிருந்து தொகுப்பியை உருவாக்கி, PATH-இல் சேர்த்து, முதல் தமிழ் நிரலை இயக்குங்கள்.

முன்நிபந்தனைகள்

Rust 1.85+ (edition 2024) மற்றும் ஒரு C கருவித்தொகுப்பு — உள்ளடங்கிய SQLite மற்றும் கிரிப்டோ crate-கள் C-ஐத் தொகுக்கின்றன.

மூலக்குறியீட்டிலிருந்து உருவாக்குதல்

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/ இல் உள்ளது.

அடுத்து எங்கே