திட்டம்

நிலையும் திட்டவரைபடமும்

எது இயங்குகிறது, எது பகுதியளவு, எது அமைதியாக ஏதோ ஒன்றைச் செய்யாமல் வேண்டுமென்றே தெளிவான பிழையுடன் நிற்கிறது என்பதற்கான நேர்மையான அட்டவணை.

இ-தமிழ் இன்று சேவையக நிரல்களை இயக்குகிறது: செயல்கள், தொகுப்புகள், பிழைக் கையாளுதல், தொகுதிகள், SQL மற்றும் ஆவணத் தரவுத்தளங்கள், வழிச்செலுத்தலுடன் கூடிய ஒருங்கிணைந்த HTTP சேவையகம், மேலும் இதே மொழியில் எழுதப்பட்ட கணக்கியல், வரி, வங்கி, காப்பீடு, சுங்கக் கட்டமைப்புகள். 1.4.1 முதல் இது உலாவியிலும் இயங்குகிறது — தொகுப்பி WebAssembly-ஆகக் கட்டப்பட்டுள்ளது, எனவே இத்தளத்தின் எழுதுகளம் உண்மையானதே.

இந்த அட்டவணை நிரலின் நேர்மையான நிலை; விருப்பப் பட்டியல் அல்ல.

இயங்குபவை

பகுதி நிலை குறிப்புகள்
லெக்சர் (தமிழ் / எழுத்துப்பெயர்ப்பு / ஆங்கிலத் திறவுச்சொற்கள்) இயங்குகிறது 541 எழுத்து வடிவங்களில் 202 டோக்கன்கள்; பிழைகள் வரி மற்றும் நெடுவரிசையைச் சுமக்கின்றன
எழுத்துப்பெயர்ப்பு நிறைவு முழுமை 202 திறவுச்சொற்களும் திட்டத்தின்படி எழுத்துப்பெயர்க்கப்படுகின்றன, scripts/transliterate.py --check இதை CI-இல் கட்டாயமாக்குகிறது. இதற்கு முறிவுத் தரும் மறுபெயரிடல் தேவைப்படவில்லை: ஒரு திறவுச்சொல்லுக்குப் பல எழுத்துப்பெயர்ப்புகள் இருக்கலாம், எனவே திட்ட வடிவம் நியமமாக்கப்பட்டு பழையதும் வைக்கப்பட்டது — இரண்டும் பாகுபடுத்தப்படும். 202 டோக்கன்களில் 524 எழுத்துப்பெயர்ப்புகள், முன்பு 505
மாறிகள், கணிதம், சதவீதங்கள், சரங்கள் இயங்குகிறது  
ஒப்பீடுகள், எனில் / இன்றேல், சுற்று சுழற்சிகள் இயங்குகிறது  
தொடர் ஒப்பீடுகள் இயங்குகிறது (300000 < வருமானம் <= 700000) — வரிப்படி இப்படியே படிக்கிறது, இந்த மொழி முழுவதும் வரிப்படிகள். முன்பு (300000 < வருமானம்) <= 700000 எனப் பாகுபடுத்தப்பட்டது — மெய்ம்மையை எண்ணுடன் ஒப்பிடுவது — எனவே 3 > 2 > 1 என்பது false, யாரும் சொல்லவில்லை. ஒரு தொடர் அடுத்தடுத்த சோடிகள் மீது மற்றும் ஆகிறது, எனவே அது குறுக்குச் சுற்று செய்கிறது, புதிய தொடரியல் தேவையில்லை. நடு உறுப்பு இருமுறை எழுதப்படுகிறது, எனவே அது இருமுறை படிக்கக்கூடியதாக இருக்க வேண்டும் — பெயர், மாறிலி, புலம், முகவரி. அங்கே ஒரு அழைப்பு இருமுறை அழைக்கப்படாமல் மறுக்கப்படுகிறது, மதிப்பைப் பெயரிடச் சொல்லப்படுகிறது; இரு முனைகளிலும் ஒரு அழைப்பு ஒருமுறை மட்டும் படிக்கப்படுவதால் சரி
தருக்க மற்றும் / அல்லது / இல்லை இயங்குகிறது மற்றும், அல்லது விடை தெரிந்தபின் நிற்கின்றன — எனவே காலி அணியிலும் (நீளம்(அ) > 0 மற்றும் அ[0] == 1) பாதுகாப்பானது
கோப்பு உள்ளீடு/வெளியீடு மற்றும் CSV வரி எண்ணல் இயங்குகிறது VM-இல் (--vm)
VM பைட்கோட் இயக்கி இயங்குகிறது  
செயல்கள் (செயல் / திரும்பு) இயங்குகிறது அளபுருக்கள், திருப்பங்கள், உள்ளூர் நோக்கெல்லை, சுழல்நிலை
அறிவிக்கப்பட்ட செயல் கையொப்பங்கள் இயங்குகிறது செயல் வரி(எண் தொகை, சொல் பெயர்) எண் { … } — எண் வருவாய்; போலவே பெயருக்கு முன் வகை, அளபுரு பட்டியலுக்கும் உடலுக்கும் இடையே திரும்பு வகை. ஒவ்வொரு பகுதியும் விருப்பத்தேர்வு, எனவே இதற்கு முன் எழுதப்பட்டது மாறாது; எழுதப்பட்டது கடைப்பிடிக்கப்படும். அளபுருவின் வகையாக இருக்க முடியாத ஒரு வாதம் பிழை, அறிவிக்கப்பட்ட வகையாக இருக்க முடியாத திரும்புவும் பிழை, ஒரு அழைப்பு இப்போது தான் உறுதியளித்ததாகவே ஊகிக்கப்படுகிறது — எனவே பெயர் சொல் திருப்பினால் அணி அ = பெயர்(); பிடிபடும்
அணிகள் ([…]) மற்றும் பதிவேடுகள் ({…}) இயங்குகிறது குறியீட்டு அணுகல், புலம் அணுகல், ஒதுக்கீடு
சுழற்சி (ஒவ்வொரு … இல்) இயங்குகிறது அணிகள், பதிவேடுகள், சரங்கள்
முடிவுகள் (சரி / தவறு / ?) இயங்குகிறது Rust பொருண்மை; தோல்வி ஒரு மதிப்பு, விதிவிலக்கு அல்ல
தொகுதிகள் (இறக்கு) இயங்குகிறது கோப்பின் அருகில், பிறகு ETAMIL_PATH. இறக்கப்பட்ட இரு தொகுதிகள் ஒரே பெயரை வரையறுத்தால் மறுக்கப்படும்; பிழை இரு கோப்புகளையும் பெயரிடும். இறக்கல்கள் ஒன்றாகத் தட்டையாக்கப்படுவதால், இல்லையேல் ஒன்று மற்றொன்றை அமைதியாக மாற்றிவிடும். ஒரு நிரல் தன் சொந்த வரையறையால் நூலகச் செயலை இன்னும் மாற்றலாம். பெயர்வெளி இறக்கல்கள் இன்னும் எழுதப்படவில்லை
தசமக் கணிதம் இயங்குகிறது நிலைப்புள்ளி, f64 அல்ல
நிலையான நூலகம் (nUlakam/) இயங்குகிறது சரங்கள், கணிதம், அணிகள், பணம் — இ-தமிழில் எழுதப்பட்டது
கணக்கியல் கட்டமைப்பு இயங்குகிறது இரட்டைப் பதிவு, GST, மூன்று அறிக்கைகள் — இ-தமிழில் எழுதப்பட்டது
SQLite இயங்குகிறது அளபுரு வினாக்கள் மட்டுமே; வரிசைகள் பதிவேட்டு அணியாகத் திரும்புகின்றன
PostgreSQL இயங்குகிறது --features postgres; பணம் சொந்த NUMERIC ஆக
HTTP சேவையகம் (--server) இயங்குகிறது பணியாளர் குழு; :id பாதை அளபுருக்கள், வினா அளபுருக்கள், தலைப்புகள், உடல்களுடன் வழி
Async HTTP சேவையகம் (--async) இயங்குகிறது tokio ஏற்பு சுழற்சி, தடுப்புக் குழுவில் கையாளிகள்; VM ஒத்திசைவானது
பதில் தலைப்புகள் இயங்குகிறது சாதாரண பதிவேடு; இல்லாதபோது JSON
JSON பதில்கள் (ஜேசான்_உரை) இயங்குகிறது ஜேசான்_உரை உடல், 201 — JSON உள்ளடக்க வகையை உங்களுக்காக அமைக்கிறது, இயல்பு 200. உடல் ஏற்கெனவே உரையாக இருக்க வேண்டும்: இங்கே ஒரு பொருளை நிரல்நிலைப்படுத்த ஜேசான்_ஆக்கு-க்கு அடுத்ததாக இரண்டாவது JSON நிரல்நிலைப்படுத்தி தேவைப்படும், eTamil-இன் பொருள் தொடரியல் JSON அல்ல — எனவே சரியாகத் தோன்றுவதை வெளியிடாமல், ஏற்கெனவே உள்ள நிரல்நிலைப்படுத்தியைக் கேட்கிறது
JSON (ஜேசான்_படி / ஜேசான்_ஆக்கு) இயங்குகிறது 1.4.0 முதல் உள்ளிணைவுகள். இ-தமிழில் எழுதப்பட்ட பகுப்பியை இவை மாற்றுகின்றன; அது 624 KB-ஐ பத்து நிமிடங்களில் படித்து முடிக்கவில்லை, இப்போது 1.31 வினாடி. \uXXXX விடுபடல்கள் மாற்றப்படுகின்றன. படிக்கும்போதும் எழுதும்போதும் எண் தன் சரியான தசம உரையாகவே கையாளப்படுகிறது; இரும மிதவை வழியே ஒருபோதும் இல்லை. 1.4.1-க்கு முன், சுமார் 17-க்கு மேற்பட்ட முக்கிய இலக்கங்கள் கொண்ட எண் படிக்கும்போது முழுமையாக்கப்பட்டது
அங்கீகாரம் இயங்குகிறது ஹோஸ்டில் bcrypt மற்றும் JWT; ETAMIL_JWT_SECRET அமைக்கவும்
சர விடுபடல்கள் இயங்குகிறது \n \t \r \" \\; அறியாத விடுபடல் இரு எழுத்துகளையும் வைத்திருக்கிறது
பாகுபடுத்தல் பிழை இடங்கள் இயங்குகிறது ஒவ்வொரு பிழையும் வரி, நெடுவரிசையை இருமொழியில் சுமக்கிறது
வகைச் சரிபார்ப்பு இயங்குகிறது அறிவிக்கப்பட்ட வகை இடத்துடன் கட்டாயப்படுத்தப்படுகிறது; வேண்டுமென்றே குறுகியது
இணைப்பு மறுபயன்பாடு இயங்குகிறது ஒவ்வொரு கோரிக்கைக்கும் மீள்இணைப்பு செய்யாமல், தளம்_இணை செயல்முறை அளவிலான ஓய்வுத் தேக்ககத்திலிருந்து கடன் பெறுகிறது; குத்தகைகள் தனிப்பட்டவை, எனவே பரிவர்த்தனைகள் தனிமையில் இருக்கும். ETAMIL_DB_IDLE அதை வரம்பிடுகிறது
பெயரிடப்பட்ட தரவுதளக் கைப்பிடிகள் இயங்குகிறது தளம்_இணை SQL, "a.db", அ; பிறகு தளம்_வினா "SELECT …", [], வரிசைகள், அ; — பெயர் ஒரு விருப்பத்தேர்வு பின்தொடர் அளபுரு, நிலையான-எண்ணிக்கை இலக்கணம் அதைத் தெளிவாக்குகிறது, எனவே பெயரிடப்படாத இணைப்பு முன்பு போலவே அதன் இயக்கி பெயரில் சேமிக்கப்படுகிறது. இரண்டு SQLite கோப்புகள் ஒரே நேரத்தில், ஒவ்வொரு வினாவும் தன் சொந்தக் கோப்பை அணுகுவது — முன்பு இதைச் சொல்லவே முடியாது. பல திறந்திருக்கும்போது பெயரிடப்படாத வினா இன்னும் மறுக்கப்படுகிறது, செய்தி திறந்த கைப்பிடிகளைப் பட்டியலிடுகிறது
திட்டமிட்ட தொகுதிகள் (இடைவெளி) இயங்குகிறது இரு சேவையகங்களிலும் இடைவெளி 3600 { … }; அந்த எண் இயக்கங்களுக்கு இடையிலான இடைவெளி, எனவே மெதுவான பணி இரண்டாக ஒன்றுசேராமல் தாமதமாக இயங்கும்
பைட்டுகள் இயங்குகிறது பைட்டுகள் / பைட்டுச்_சரம் — பைட் அணி என்பது எண்களின் சாதாரண அணி; புதிய மதிப்பு வகை அல்ல
base64 மற்றும் hex (nUlakam/kuRiyAkkam.qmz) இயங்குகிறது அறுபத்துநான்கு_ஆக்கு அறுபத்துநான்கு_படி பதினாறு_ஆக்கு பதினாறு_படி — இ-தமிழில் எழுதப்பட்டது
கையொப்பமிடல் (HMAC-SHA256) இயங்குகிறது கையொப்பம் / கையொப்பம்_சரியா — கையொப்பமிட்ட வெப்ஹூக்கைச் சரிபார்க்க; ஒப்பீடு நிலையான நேரத்தில்
வெளிச்செல்லும் HTTP இயங்குகிறது --features http-client (இயல்பாக இயக்கத்தில்); வலை_பெறு வலை_பதி வலை_அனுப்பு. 2xx அல்லாதது தோல்வி அல்ல, ஒரு முடிவு
VS Code நீட்சி இயங்குகிறது eTamil_Code/, மேலும் Marketplace-இல் eTamil — 202 திறவுச்சொற்களுக்கும் எல்லா வடிவங்களிலும் நிறமூட்டல், 62 உள்ளமைச் செயல்கள் மற்றும் 691 nUlakam செயல்களுக்கு நிரப்புதல், --check பிழைகள் நீங்கள் தட்டச்சு செய்யும்போதே. 1.0.0 முதல் தொகுப்பி, நிலையான நூலகம், எடுத்துக்காட்டுகள், இ-தமிழ் எழுத்துரு ஆகியவற்றை VSIX-க்குள்ளேயே சுமந்து வருகிறது; எனவே அதை நிறுவுவதே முழு நிறுவல். இலக்கணமும் தரவும் lexer.rs-இலிருந்து உருவாக்கப்படுகின்றன
ஊடாடும் ஓடு (--repl) இயங்குகிறது etamil --repl — கோப்பு இல்லாமல் ஒரு கோவையைத் தட்டச்சு செய்து விடையைக் காணுங்கள்
Redis இயங்குகிறது ஹோஸ்ட் ஒரே பொதுவான ரெடிஸ்_கட்டளை தருகிறது (கட்டளைப் பெயரும் அளபுருக்களும்), எனவே பின்னர் உருவாக்கப்படும் கட்டளைகள் உட்பட அனைத்தும் இயங்குகின்றன; nUlakam/qaLam/retis.qmz பரவலானவற்றைப் பெயரால் அழைக்கிறது
MongoDB இயங்குகிறது --features mongodb; ஒரு ஆவணம் ஒரு பொருள்ஏ — எண்கள் double அல்ல, Decimal128
அணி மற்றும் பதிவேட்டுச் சமநிலை இயங்குகிறது அணி இடத்தால், பதிவேடு புலத்தால் ஒப்பிடப்படுகிறது. முன்பு இரண்டும் அறிவிப்பின்றி சமமாகவே இருக்கவில்லை
வாங்கிச் சான்றிதழ்கள் (mTLS) இயங்குகிறது --features http-client; அறியப்படாத அழைப்பாளருடன் பேசாத வங்கிக்கு வாங்கி யார் என நிறுவுகிறது
ECDSA கையொப்பம் (P-256) இயங்குகிறது HMAC-SHA256 உடன் சேர்ந்து P-256 மேல் கையொப்பம்; உலாவிக் கட்டமைப்பிலும் இயங்கும்
இ-தமிழிலேயே எழுதப்பட்ட சோதனைகள் இயங்குகிறது nUlakam/cOqaZY.qmz — இம்மொழியில் எழுதப்பட்ட நூலகத்தை இனி Rust-இலிருந்து சோதிக்க வேண்டியதில்லை
பதிவுகள் அகராதிகளாக இயங்குகிறது புலம்_உள்ளதா(ப, "சாவி"), புலம்_அல்லது(ப, "சாவி", இயல்பு) ஒவ்வொன்றும் ஒரு hash தேடல்; எனவே ஒரு பதிவு எண்ணிக்கை அட்டவணையாகலாம். இல்லாத புலத்தை நேரடியாகப் படிப்பது இன்னும் பிழையே
மூலங்கள், மடக்கைகள், அடுக்குகள் இயங்குகிறது வர்க்கமூலம் இயற்கை_மடக்கை இயற்கை_அடுக்கு அடுக்கேற்று பத்தின்_மடக்கை — f64-இல் அல்ல, தசமத்திலேயே கணிக்கப்படுகின்றன; எனவே √25 சரியாக 5, log10(1000) சரியாக 3
வரிசைப்படுத்தல் இயங்குகிறது வரிசையாக்கு ஓர் அணியை வரிசைப்படுத்துகிறது; புலத்தால்_வரிசையாக்கு பதிவுகளை ஒரு புலத்தால் வரிசைப்படுத்துகிறது
கோப்புமுறை (nUlakam/kOppumuRY.qmz) இயங்குகிறது பாதைகளை இணைத்தல், பிரித்தல், ஒரு கோப்பகத்தைப் பட்டியலிடல், ஒரு மரத்தை நடத்தல், நீட்சியால் கோப்புகளைக் கண்டறிதல் — மூன்று உள்ளிணைவுகளின் மேல் இ-தமிழில் எழுதப்பட்டது. எல்லாத் தளங்களிலும் பாதை / கொண்டு எழுதப்படுகிறது; பட்டியல்கள் வரிசைப்படுத்தப்பட்டவை. உலாவியில் நினைவகக் கோப்புகளிலிருந்து கோப்பகம் ஊகிக்கப்படுகிறது; மாற்ற நேரம் இல்லை
தேடலும் மொழி மாதிரிகளும் (nUlakam/nuNNaRivu/) இயங்குகிறது பொதுச் சொற்களால் (BM25) தேடல், பொருளால் (திசையன்கள்) தேடல், தரவரிசையால் இணைப்பு; விரும்பினால் விடையை ஒரு மாதிரியிடம் சொல்லக் கேட்டல் — இ-தமிழில் எழுதப்பட்டது. இயல்பாக மாதிரி அதே கணினியில் உள்ளது; வேறு வழங்குநருக்கு நிரலை இயக்குபவர் திறவுகோல் தருகிறார்
பணம் முழுப் பைசாவாக இயங்குகிறது nUlakam/kAcu.qmz — தசமக் கணிதம் இல்லாமல் இரு தசம இடங்கள்; ரூபாயும்_பைசாவும்(2, 5) என்பது ₹2.05
தேய்மானமும் ஊதியமும் இயங்குகிறது nUlakam/kaNakkiyal/qEymAZam.qmz, Uqiyam.qmz — அதே பேரேட்டில் பதியும், இ-தமிழில் எழுதப்பட்டவை
WebAssembly இலக்கு இயங்குகிறது cargo build --target wasm32-unknown-unknown --no-default-features; லெக்சர், பாகுபடுத்தி, சரிபார்ப்பான், VM அனைத்தும் உலாவிக்குக் கட்டப்படுகின்றன. நேட்டிவ் கட்டமைப்பு மாறவில்லை
உலாவி எழுதுகளம் (/ta/start/) இயங்குகிறது உண்மையான தொகுப்பியே WebAssembly-ஆக: பிழைச் செய்திகள், நோக்கெல்லை அறிந்த சொல் நிரப்புதல், இயக்கம் — சேவையகம் இல்லை, பதிவேற்றம் இல்லை. நிறச் சொற்பட்டியல் lexer.rs-இலிருந்து உருவாக்கப்படுகிறது, எனவே மொழியிலிருந்து விலக முடியாது
உலாவியில் VM இயங்குகிறது நிரல்கள் வாங்கியில் இயங்குகின்றன; ஒரு கோடி செயல்முறைகள் வரம்பு — கட்டுப்பாடற்ற சுற்று தத்தலை நிறுத்தாமல் முடிவில்லாத சுழற்சி எனத் தெரிவிக்கும். கோப்புக் கூற்றுகள் ஒவ்வொரு இயக்கத்திற்கும் முன் அழிக்கப்படும் நினைவுக் கோப்பு அமைப்பில் இயங்கும்
உலாவியில்: தரவுதளங்கள், Redis, HTTP சேவையகம் கிடைக்காது ஒரு வலைப்பக்கம் TCP இணைப்பைத் திறக்கவோ ஒரு துறையில் காத்திருக்கவோ முடியாது; எனவே Postgres, MySQL, MongoDB, Redis மற்றும் சேவை எட்டாதவை — இங்கு எவ்வளவு வேலை செய்தாலும் மாறாத காரணம். முயற்சிக்கும்போது இரு மொழிகளிலும் அதைச் சொல்லும்
உலாவியில்: அங்கீகாரம், ODF பொதிகள் இன்னும் கட்டப்படவில்லை இது உலாவியின் குறை அல்ல: bcrypt-க்கு அதன் சமவாய்ப்பு மூலத்தை வலைப்பக்கத்தினுடன் இணைக்க வேண்டும்; ODF எழுதுபவர் தனக்குக் கொடுக்கப்பட்ட host வழியாகவே செல்லாமல் இன்னும் std::fs வழியாகவே படிக்கிறது, எழுதுகிறது. அது செய்யப்படும் வரை இரண்டும் கிடைக்காது எனச் சொல்லும் — இது வேலை, தனி இயந்திரம் அல்ல
உலாவியில் உள்ளிடு இயங்குகிறது இயக்கத்திற்கு முன்பே வலைப்பக்கம் நிரலின் உள்ளீட்டை run_with_input வழியாகக் கொடுக்கிறது; உள்ளிடு அதை வரிக்கு வரியாகப் படிக்கிறது. முன்பே கொடுக்கப்படுவதற்குக் காரணம்: இயங்கும்பொழுது தட்டச்சு செய்ய வலைப்பக்கத்தில் இடம் இல்லை — VM காத்திருக்க வேண்டியிருக்கும், காத்திருக்கும் VM தத்தலை நிறுத்திவிடும். கொடுக்கப்பட்ட வரிகளுக்கு மேல் கேட்பது நிரலின் சொந்தப் பிழை, கோப்பின் முடிவைத் தாண்டிப் படிப்பது போல

பகுதியளவு அல்லது இல்லாதவை

பகுதி நிலை குறிப்புகள்
LLVM பின்தளம் (--llvm) கோவைகள் முழுமை; உள்ளீடு/வெளியீட்டுக் கூற்றுகள் மறுக்கப்படுகின்றன Linux/macOS, --features llvm. IR இனி மதிப்புகளை வைத்திருப்பதில்லை: ஒவ்வொரு மதிப்பும் src/runtime.rs-இல் உள்ள களஞ்சியத்தின் ஒரு கைப்பிடி, ஒவ்வொரு செயலும் Cargo ஏற்கெனவே கட்டும் cdylib-க்கான அழைப்பு. எனவே பதின்மங்கள் துல்லியம் — 1 / 3 VM போலவே இருபத்தெட்டு இலக்குகளையும் அச்சிடுகிறது — அச்சிடுதல் VM-இன் சொந்த to_string வழியாகச் செல்வதால் வடிவம் விலகாது, அனுப்புதல் விளக்கியின் சொந்த அட்டவணை வழியாகச் செல்வதால் 96 உள்ளிணைவுகளும் ஒரே நேரத்தில் இயங்குகின்றன. சரங்கள், அணிகள், பொருள்கள், முடிவுகள், மெய்ம்மைகள், இன்மை — அனைத்திற்கும் வடிவம் உண்டு. இன்னும் மறுக்கப்படுவது கூற்றுகள்: கோப்புகள், தரவுத்தளங்கள், HTTP, வழிகள். எனவே IR தன்னிறைவானது அல்ல — -letamil_compiler இணைக்கப்படுகிறது, கட்டப்பட்ட நிரலுடன் அந்த நூலகமும் செல்கிறது. llvm-sys 180-க்கு LLVM 18 தேவை; CI அதை Ubuntu 24.04-இல் நிறுவி ஒவ்வொரு மாற்றத்திலும் கட்டுகிறது. அங்கு 127 எடுத்துக்காட்டுகள், நூலகக் கோப்புகளில் 109 தொகுக்கப்பட்டு VM-இன் விடையையே தருகின்றன, எதுவும் முரண்படவில்லை, மேலே சொன்ன கூற்றுகளுக்காக 8 மறுக்கப்படுகின்றன, சேவையகம் தேவைப்படுவதாலோ VM-ஆலும் இயக்க முடியாததாலோ 10 தவிர்க்கப்படுகின்றன
Arduino நிலைபொருள் (--artino) பலகைக்கு வெளியே சோதிக்கப்பட்டது; வன்பொருளில் இன்னும் இயக்கப்படவில்லை etamil --artino --board uno ஒரு நிரலை LLVM வழியாக Uno, Nano, Mega, Pico அல்லது Pico 2 க்கான நிலைபொருளாகத் தொகுத்து, arduino-cli கொண்டு கட்டுகிறது அல்லது பதிவேற்றுகிறது. ஓர் எண் 64 பிட்டில் மதிப்பு × 1000; VM இலிருந்து அது வேறுபடும் இடமெல்லாம் பலகை தொடர் துறையில் சொல்கிறது. CI ஒவ்வொரு artino சோதனையையும் VM உடன் ஒப்பிடுகிறது; ஒவ்வொரு எடுத்துக்காட்டையும் ஐந்து பலகைகளுக்கும் தொகுக்கிறது. --features llvm உடன் கட்டப்பட்ட etamil தேவை; வெளியீட்டுத் தொகுப்புகளில் அது இல்லை. எப்படி இயங்குகிறது
C++ நூலகங்கள் (artino.toml) இணைக்கப்பட்டது; வன்பொருளில் இன்னும் இயக்கப்படவில்லை நிரலின் அருகிலுள்ள ஒரு பட்டியல் அது அழைக்கக்கூடிய C++ ஐப் பெயரிடுகிறது. Servo, NeoPixel, DS18B20 எடுத்துக்காட்டுகள் ஒவ்வொரு பலகைக்கும் இணைகின்றன; [[port]] SoftwareSerial ஐ நிரலின் தொடர் துறைகளில் ஒன்றாக்குகிறது
VM இல் வன்பொருள் (nUlakam/vaZporuL) போலிப் பலகை இயங்குகிறது; Raspberry Pi இல் சோதிக்கப்படவில்லை முனைகள், ஒப்புமை அளவீடுகள், நேரம், தொடர் துறைகள், ஒலி, காவல் நேரங்காட்டி; ஒவ்வொரு பலகைக்கும் ஒரு முனைப் பெயர்க் கோப்பு. ETAMIL_BOARD=sim எந்தக் கணினியிலும் ஒரு பலகையைப் போலியாக்குகிறது; நூலகத்தின் சோதனைகள் அங்கு தேறுகின்றன. Raspberry Pi இன் GPIO உம், Linux, macOS இல் தொடர் துறைகளும் எழுதப்பட்டுள்ளன; ஆனால் Pi இல் இன்னும் இயக்கப்படவில்லை. Windows இல் போலிப் பலகை மட்டும்
புதிய திறவுச்சொல் நிரலை உடைக்கலாம் வடிவமைப்பால்; அறிந்திருக்க வேண்டியது 202 திறவுச்சொற்களில் 93 வேண்டுமென்றே பெயர்களாகப் பயன்படுத்தத்தக்கவை, எனவே ஒரு புதிய திறவுச்சொல் ஏற்கனவே மாறியாகப் பயன்படும் ஒரு சொல்லை எடுத்துக்கொள்ளும்
கோப்பு மறையாக்கம் இயங்குகிறது மறை(உரை, கடவுச்சொல்) ஒரே base64 சரமாக முத்திரையிடுகிறது; வெளிப்படு(மறையீடு, கடவுச்சொல்) ஒரு முடிவை தருகிறது — எனவே தவறான கடவுச்சொல்லும் மாற்றப்பட்ட ஒரு பைட்டும் நிரலை நிறுத்துவதில்லை; இயல்பு அல்லது ? கொண்டு நிரல் அவற்றைக் கையாளும். Argon2id விசையின் மேல் XChaCha20-Poly1305; வடிவத்தின் பதிப்புப் பைட்டும் உறுதிசெய்யப்படுகிறது, எனவே எதிர்காலப் பதிப்பின் கோப்பு தவறாகப் படிக்கப்படாமல் மறுக்கப்படும். மறை_விசை() ஒரு கடவுச்சொல்லை உருவாக்குகிறது — ஒருவரை யோசிக்கச் சொல்வதற்குப் பதிலாக வலிமையான ஒன்றைச் சேமிக்க விரும்பும் நிரலுக்கு. உலாவி கட்டுமானத்திலும் இயங்கும்

இல்லை எனக் குறிக்கப்பட்ட எதுவும் வெளிப்படையான செய்தியுடன் தோல்வியடைகிறது, அமைதியாக ஒன்றும் செய்யாமல் இருப்பதில்லை. இது வேண்டுமென்றே: வரிக் கணக்கியில் அமைதியான செயலின்மை பிழையை விடக் கெட்டது.

திட்டமிடப்பட்ட துறைக் கட்டமைப்புகள்

கணக்கியல், வரிவிதிப்பு, நிதி ஆகியவை இன்று மொழியில் உள்ளன. இவை அதே சொல்லகராதியை இந்திய நிதி அமைப்பின் மீதமுள்ள பகுதிகளுக்கு விரிவுபடுத்துகின்றன; ஒவ்வொன்றும் ஏற்கெனவே உள்ள பேரேட்டின் மேல் இ-தமிழ் கட்டமைப்பாகக் கட்டப்படும்.

துறை நிலை நோக்கம்
கணக்கியல் இயங்குகிறது கணக்கு அட்டவணை, இரட்டைப் பதிவு பேரேடு, இருப்பாய்வு, மூன்று அறிக்கைகள், அறிக்கைக் காலங்கள், ஆண்டிறுதி மூடல், தீர்வு, தேய்மானம், ஊதியம்
வரிவிதிப்பு இயங்குகிறது CGST/SGST/IGST பிரிப்புடன் GST, பரிவர்த்தனை வகைகள், வயதாதல், வரி விகித அட்டவணைகள்
வங்கி இயங்குகிறது nUlakam/vawki/ — வட்டி, கடன் தவணைகளும் அட்டவணையும், கணக்குகள். nUlakam/upi/ — மெய்நிகர் கட்டண முகவரிகள், upi:// கட்டண இணைப்புகள், நிலுவை என்பது தோல்வி அல்ல என்ற விதி
காப்பீடு இயங்குகிறது nUlakam/kAppIttu/ — கொள்கை, பிரீமியம், உரிமைக்கோரல்; சராசரி விதி உட்பட: மதிப்பைக் காட்டிலும் குறைவாகக் காப்பீடு செய்தால், பகுதி இழப்பிலும் காப்பீட்டு விகிதம் மட்டுமே கிடைக்கும்
சுங்கமும் வணிகமும் இயங்குகிறது nUlakam/cuwkam/ — வரிகள் உண்மையில் பயன்படுத்தப்படும் வரிசையிலேயே கடமைச் சங்கிலி, மற்றும் வணிக ஆவணங்கள்
தொகுதிச்சங்கிலி இயங்குகிறது nUlakam/cawkili/ — REST நுழைவாயில் வழியே Hyperledger Fabric. Fabric-இன் சொந்த Gateway gRPC பேசுகிறது, இ-தமிழ் பேசாது; REST முன்முகப்பு வழக்கமான வரிசைப்படுத்தல்
ITR மற்றும் TDS பகுதியளவு தேய்மானமும் ஊதியமும் பேரேட்டில் பதிகின்றன; நேரடி வரி வருவாய்ப் படிவ வடிவங்களும் TDS அட்டவணைகளும் எழுதப்படவில்லை
GSTN / NPCI இணைப்புகள் பகுதியளவு UPI பக்கம் சான்றுகள் இல்லாமல் செய்யக்கூடிய அளவு முடிந்தது — முகவரிகளும் கட்டண இணைப்புகளும் பொதுவானவை, சரிபார்க்கக்கூடியவை. GSTN வலைவாசல் REST இணைப்புகள் எழுதப்படவில்லை

தனித்தனியாக வைக்கப்பட்ட இரு எண்ணிடல் முறைகள்

இத்திட்டத்தில் தொடர்பற்ற இரு விஷயங்கள் “கட்டம் 1–N” என அழைக்கப்பட்டன. அவை முற்றிலும் வேறுபட்டவை:

சொல் பொருள்
கட்டுரைக் கட்டம் 1–5 ஆய்வுத் திட்டவரைபடம்: தொகுப்பி மையம் → துறைத் தொகுதிகள் → கருவிகள்/REPL → முன்னோடித் திட்டங்கள் → கொள்கை ஈடுபாடு
பின்தள மைல்கல் 1–4 இக்களஞ்சியத்தின் HTTP வேலை: ஒத்திசைவு சேவையகம் → async → பதிவேடு → அங்கீகாரம்

பின்தள மைல்கற்கள் 1–4 முடிந்திருப்பது கட்டுரையின் கட்டங்கள் பற்றி எதுவும் கூறவில்லை. கட்டுரையின் முறைப்படி இத்திட்டம் கட்டம் 2-இன் நடுவிலும் கட்டம் 3-இன் நடுவிலும், இரண்டிலும் ஒருசேர உள்ளது; கட்டம் 1 முடிவுக்கு அருகில் — அதில் மீதமுள்ளவை விடுபட்ட பகுதிகள் அல்ல, அறியப்பட்ட குறைகள்.

கட்டம் 2-இன் துறைத் தொகுதிகள் பெரும்பாலும் எழுதப்பட்டுவிட்டன: கணக்கியல், வரி, வங்கி, காப்பீடு, சுங்கம், Fabric தணிக்கைத் தடம் — அனைத்தும் பேரேட்டின் மேல் இ-தமிழ் நூலகங்களாக. கட்டம் 3-இல் தரவுதளங்கள், கருவிகள், இப்போது ஊடாடும் ஓடும் உள்ளன. கட்டம் 4 வெளியிடப் பட்டுள்ளது, ஆனால் உண்மையான தயாரிப்பில் முன்னோடி எதுவும் நிறுவப்படவில்லை. கட்டம் 5 — கொள்கை ஈடுபாடு — தொடங்கவில்லை; அது கட்டம் 2 ஒரு ஒழுங்குமுறையாளருக்குப் புரியும் அளவுக்கு முன்னேறுவதைச் சார்ந்தது. பரிவர்த்தனைகளைக் கையாளும் GST தொகுதி அது அல்ல.

ஆய்வில் விவரிக்கப்பட்டவற்றில் இன்னும் வடிவமைப்பாகவே — நிரலாக அல்ல — உள்ளவை: GSTN வலைவாசல் இணைப்புகள், ITR மற்றும் TDS வார்ப்புருக்கள், RBI/KYC தொடரியல்.

பங்களிப்பு

இந்தப் பகுதி முன்பு பட்டியலிட்ட நான்கும் முடிந்தன: பெயரிடப்பட்ட தரவுதளக் கைப்பிடிகள், செயல்-க்கு அறிவிக்கப்பட்ட அளபுரு மற்றும் திரும்பு வகைகள், எழுத்துப்பெயர்ப்புச் சுத்தம், மேலும் மறை-க்குப் பின்னால் மறையாக்கம். முன்னர் அங்கிருந்த சங்கேதம் பலவீனமான செயலாக்கம் அல்ல, அணுக முடியாத இறந்த நிரல் — எனவே முதலில் நீக்கப்பட்டு, பின் உண்மையான ஒன்றால் மாற்றப்பட்டது.

இப்போது மிகவும் பயனுள்ளவை:

நீங்கள் மாற்றும் எந்த மொழி நடத்தைக்கும் etamil_compiler/tests/language_tests.rs இல் ஒரு சோதனையைச் சேர்க்கவும்; மேலும் Linux மற்றும் Windows இரண்டிலும் cargo test தேர்ச்சி பெறுவதை உறுதி செய்யவும்.

காரணங்களுடன் முழுத் திட்டவரைபடம் →