பீன் மெஷின் ரெட்ரோஸ்பெக்டிவ், பகுதி 8

பீன் மெஷின் ரெட்ரோஸ்பெக்டிவ், பகுதி 8


எனது காம்பினேட்டரால் ஈர்க்கப்பட்ட சோர்ஸ் கோட் டிரான்ஸ்ஃபர்மேஷன் சிஸ்டம் எவ்வாறு செயல்படுகிறது என்பதைப் பற்றிய விவரங்களைப் பெறுவதற்கு முன், நான் முதலில் சொல்ல வேண்டும், கணினியின் பொதுவான கண்ணோட்டம் என்ன? இரண்டாவதாக, நான் அதை ஏன் கட்டினேன்? எனது அனுபவத்தில், ஒரு பொதுவான கம்பைலரின் AST ரீரைட்டர், இணைப்பான் அடிப்படையிலான அணுகுமுறையைப் பயன்படுத்துவதில்லை. எடுத்துக்காட்டாக, ரோஸ்லின் பார்வையாளர் வடிவத்தை மறுபதிப்பாளர்களை உருவாக்க பிரத்தியேகமாகப் பயன்படுத்தினார், அது மிகவும் பொதுவானது.


அடிப்படைக் கண்ணோட்டம்: AST மாற்றத்திற்கான செயல்பாட்டு நிரலாக்க அணுகுமுறையைப் பயன்படுத்துகிறோம்.

  • முறை AST இலிருந்து bool வரை ஒரு செயல்பாட்டைக் குறிக்கிறது. இது நாம் மாற்ற விரும்பும் AST முனையா?
  • ஆட்சி AST இலிருந்து AST வரையிலான “பகுதி” செயல்பாட்டைக் குறிக்கிறது. “பகுதி” என்பதன் அர்த்தம் என்னவென்றால், AST கொடுக்கப்படும்போது, ​​அதே AST, வேறு AST அல்லது கொடுக்கப்பட்ட உள்ளீட்டிற்கு விதி பொருந்தாது என்பதைக் குறிக்கும் தோல்விக் குறியீட்டை வழங்க ஒரு விதி அனுமதிக்கப்படுகிறது.
  • இணைப்பான் சில விதிகள் மற்றும் வடிவங்களை எடுத்து ஒரு விதி அல்லது ஒரு வடிவத்தை வழங்கும் ஒரு செயல்பாடாகும்.

அது மிகவும் ஹைஃபாலுடின், எனக்குத் தெரியும். அடுத்த முறை மாதிரிகளின் சில எடுத்துக்காட்டுகளையும், எளிமையானவற்றைப் பிரதிநிதித்துவப்படுத்துவதற்கான சுருக்கமான வழியையும் பார்ப்போம்.


பீன்-மெஷின்-டு-பிஎம்ஜி கம்பைலரான பீன்ஸ்டாக்கிற்கான காம்பினேட்டர் அணுகுமுறையை ஏன் தேர்வு செய்ய வேண்டும்? எனக்கு பல காரணங்கள் இருந்தன:

  • இந்த அணுகுமுறை நிறைய கொடுக்கிறது சுருக்கம் பல விதிகள் மற்றும் வடிவங்களுக்கு. எளிமையான குறியீடு எளிமையானதாகத் தெரிகிறது, படிக்க எளிதானது, மிக முக்கியமாக, அதன் சரியான தன்மையைப் பற்றி நியாயப்படுத்துவது எளிது. சரியாகச் சொல்வதானால், இந்த நன்மை ஓரளவு மிகவும் சிக்கலான சில மாற்றங்களை புரிந்துகொள்வது கொஞ்சம் தந்திரமானதாக மாற்றுவதன் மூலம் ஈடுசெய்யப்பட்டது, ஆனால் நான் அவற்றை மட்டுப்படுத்த முயற்சித்தேன்.
  • மீண்டும் எழுதும் தர்க்கத்தின் எந்தப் பகுதியும் மிக எளிதாக இருக்கும் சுயாதீனமாக சோதிக்கப்பட்டது. நீங்கள் எந்த முன்னறிவிப்பு, ஏதேனும் மாற்றம் விதி அல்லது அவற்றின் கலவையை சோதிக்க விரும்பினால், சோதனை நிகழ்வுகளை உருவாக்குவது நேரடியானது.
  • பரிசோதனை செய்தல் பல்வேறு மாற்றி எழுதும் உத்திகள் அற்பமானதாகிறது. எடுத்துக்காட்டாக, பல AST மாற்றங்கள் “மேலிருந்து கீழ்” வேலை செய்கின்றன – அதாவது, அவை ரூட் முனையை மாற்றுகின்றன, பின்னர் குழந்தைகளை மாற்றுகின்றன, மற்றும் பல, இலைகளை நோக்கிச் செல்கின்றன என்பதை பின்னர் பார்ப்போம். கீழே இருந்து மேல் மீண்டும் எழுதுபவர் மிகவும் திறமையானவரா, அங்கு நாம் இலைகளை மாற்றி வேர் வரை நகர்த்துகிறோம்? ஒரு வழக்கமான கம்பைலரில், ஒரு அல்காரிதத்தை மேலிருந்து கீழாக இருந்து கீழாக மாற்றுவது கணிசமான மாற்றமாக இருக்கலாம், ஆனால் நாம் பார்ப்பது போல், மேல்-கீழ் டிராவர்சலை பாட்டம்-அப் டிராவர்சலாக மாற்றுவது ஒற்றை செயல்பாட்டு அழைப்பை மாற்றுவதாகும்.
    • மேலும், கவர்ச்சியான உத்திகள் எளிதாக சோதனை செய்ய வேண்டும். “மேலிருந்து கீழாக, பின்னர் மீண்டும் கீழே இருந்து மீண்டும் எழுதப்பட்டவற்றைப் பயன்படுத்துங்கள், ஒரு ஃபிக்ஸ்பாயிண்ட் அடையும் வரை முன்னும் பின்னுமாகச் சென்று கொண்டே இருங்கள்” என்று நாம் முயற்சி செய்ய விரும்பினால் எளிதாக இருக்கும். ஆப்டிமைசேஷன் காம்பினேட்டர் – “இந்த n வெவ்வேறு மாற்றங்களை முயற்சிக்கவும், பின்னர் சில செலவு செயல்பாட்டைக் குறைக்கும் ஒன்றைத் தேர்ந்தெடுக்கவும்” – நான் எழுதுவதை முடிக்கவில்லை, ஆனால் நான் நிச்சயமாக விரும்பினேன்.
  • எனது கணினியில் உருமாற்ற விதிகள் செயல்பாடுகள் மட்டுமல்ல, அவை சுயமாக விவரிக்கும் பொருள்கள். இது சில சுவாரசியங்களுக்கு வழிவகுக்கும் பிழைத்திருத்த நன்மைகள். எடுத்துக்காட்டாக, சில விதிகள் எப்போதும் வெற்றி பெறும் என்று அறியப்படுகிறது, மேலும் சில இணைப்பாளர்கள் அது தோல்வியடையும் வரை ஒரு விதியைப் பயன்படுத்துகின்றனர். எப்பொழுதும் வெற்றிபெறும் ஒரு உருமாற்றத்தை அது தோல்வியடையும் வரை அதை இயக்கும் ஒரு இணைப்பாளருக்கு அனுப்புவது ஒரு எல்லையற்ற வளையத்தை உருவாக்கப் போகிறது. ஆனால் தோல்வி வரை தனது ஆட்சியை இயக்கும் இணைப்பான் “ஒருபோதும் தோல்வியடையாத விதிகளில் நீங்களும் ஒருவரா?” என்று கேட்கலாம். மற்றும் உடனடியாக வலியுறுத்துங்கள், பிழையை முன்கூட்டியே கண்டுபிடித்துவிடுங்கள். (அந்த அம்சத்தை தூண்டியது எது என்பதை நீங்கள் யூகிக்க முடியும்!)
  • வேடிக்கையாக இருக்கிறது! தொகுப்பாளர்களுக்கான “நானோபாஸ்” கட்டமைப்புகளின் சாத்தியக்கூறுகள் மற்றும் Stratego போன்ற மொழிகளை மீண்டும் எழுதுவதன் மூலம் நான் எப்போதும் ஆர்வமாக இருந்தேன். நான் ஸ்ட்ராடெகோவைச் சார்ந்து இருக்க விரும்பவில்லை (பைதான் அடிப்படையிலான கம்பைலரில் இருந்து அவ்வாறு செய்வது சிரமமாக இருந்திருக்கும்) ஆனால் மறுபரிசீலனை செய்பவரின் முக்கிய பகுதிகளை செயல்படுத்துவது மிகவும் எளிமையானது, எனவே இந்த யோசனைகளை இறுதியாக நடைமுறைக்குக் கொண்டுவருவதற்கான வாய்ப்பைப் பெற்றேன்.

அடுத்த முறை FAIC இல்: நாங்கள் கணினி புரோகிராமர்கள் என்பதால், சிக்கலை இன்னும் சிறிய துணைப் பிரச்சனைகளாகப் பிரிப்போம். பைத்தானில் சுருக்கமாக AST களைப் பற்றிய முன்னறிவிப்புகளை எவ்வாறு பிரதிநிதித்துவப்படுத்துவது, பின்னர் அவற்றை இணைப்பான்களுடன் எவ்வாறு உருவாக்குவது?

இந்த இடுகை ericlippert ஆல் வகைப்படுத்தப்படவில்லை. பெர்மாலிங்கை புக்மார்க் செய்யவும்.



Source link

Postagens Similares

  • sphinxcontrib-sqltable 2.1.0 – SQLAlchemy 2.0 支持 · Doug Hellmann

    2024 年 5 月 5 日 sphinxcontrib-sqltable 是一个 Sphinx 扩展,允许作者在源文档中嵌入 SQL 语句并在呈现的文档中生成表格输出。 项目详情 2.1.0 是 PyPI 2.1.0 有什么新功能? 更新包装以使用 pyproject.toml 更新 sqltable.py 以支持 SQLAlchemy 2.0(Gabriel Gaona 贡献) 固定 SQLAlchemy>=2.0 以防止因查询执行接口的更改而向后不兼容。 (加布里埃尔·高纳供稿) 修复python版本支持列表 修复 bitbucket 的过时链接(kbaikov 贡献) 根据 sphinx 的调用方式查找示例架构文件 将 rtd.org 的示例数据库移至 /tmp Source link

  • 個人的なAPIの構築|ダニエル・ミスラー

    の(非常に早い)最初のバージョンを起動するのに超宣伝されています デーモン 今日! 2014年以来、私はすべてがAPIを持っているというこの考えに夢中になっています。私は2016年に私の(ちょっと安っぽいが素晴らしいアイデアを持って)本物のモノのインターネットで最初にそれについて話しました。 したがって、これは最初のビルディングブロックです。すべてのオブジェクトにはデーモンがあります。他のすべてのオブジェクトが理解している世界へのAPIです。コンピューター、システム、または適切なアクセスを持つ人間でさえ、他のオブジェクトのデーモンを見て、それとどのように対話するか、そのステータスが何であるか、何ができるかを正確に知ることができます。 The Real Thingのインターネット、2016年 アイデアは、車やレストランのようなオブジェクトだけでなく、デーモンズ/アピスだけでなく、人々でもあるということでした。 最も重要なことは、人間自身もデーモンを持っていることであり、私たちは他のデーモンでいっぱいの世界を移動することです。 Human Daemonsは、タイプ、感度、アクセス制限などに基づいて区分化された人物に関するすべての情報を保持し、そのデータを使用して、私たちの周りのDaemonsに超個人化された要求を送信します。 The Real Thingのインターネット、2016年 デジタルアシスタントと組み合わせる そして、それは他の主要な概念でクリックしました。つまり、人間としてそれを行う方法がないので、常に「私たちの周りに」常に「私たちの周り」にあるこれらの何千ものAPIを常に処理するAIを搭載したデジタルアシスタント(DA)があります。 私はこの文脈に永遠に夢中になっています。 合成インテリジェンスが近い将来に果たす最も目に見える重要な役割は、人間と世界の間のインターフェースとして機能することです。 明確にするために、私は非常に多くのサイエンスフィクションが基づいているSIの絶えず推奨され、意識的で自己改善されたブランドを意味するものではありません。 私が言及しているSIは、人間のコンテキスト、意図、コマンドを監視し、それらを解釈してから、(人間の)プロのパーソナルアシスタント以上の行動をとることができるコンピューターシステムです。 The Real Thingのインターネット、2016年 したがって、DASはTechを使用して私たちの周りのものと根本的にどのように相互作用するかを根本的に変えるという考えでした。私たちのデバイスを使用してそれを行う代わりに、それはスケーリングしない、私たちのDASは私たちのためにそれをしているでしょう。 テクノロジーと直接対話する代わりに、DAと対話し、DAは必要なデーモンで詳細を解決します。私たちは話します、物事が起こります。私たちはジェスチャーします、物事が起こります。私たちはテキストで、物事が起こります。新しい技術を見つけたり、理解したり、習得したりする必要はありません。それは、サービスとDAが自分自身の間でうまくいくためです。 The Real Thingのインターネット、2016年 実際にはうまくいくと思います したがって、具体的には、私がいつも考えているユースケースは、あなたが独身であるコーヒーショップであり、あなたのDAはあなたが関係を探していることを知っており、あなたが歩いて、それは店のすべてのデーモンを読みます。 あなたはスターバックスで並んで待っています、そして、カイ(あなたのDA)はあなたの周りのすべての公共のデーモン(物)とオーラ(人々)を継続的に読んでいます。彼女は非常に多くのことに合わせているので、カイはあなたの前の女の子を照らします。 7/9お気に入りの読書マッチ 恥ずかしがり屋であるが、関係は愛情深い 犬>猫 😍彼女は大声で噛む人々を殺すことは合法であるべきだと信じています カイは話し始めます 彼女 ダ、タラ、そして今、彼とタラはあなたが部屋の向こうからお互いを見るように、どこを見るべきかをあなたに伝えようとしています。 日常のオブジェクトでさえ、独自のオーラを持っています 私はまだデータコンテンツについて多くのことをしていません。 したがって、デーモンは私の初期バージョンです。これは、人間とAIの両方が使用できる形式で私に関する最新の情報を提供するパブリックエンドポイントです。 建築 CloudFlare MCPのデーモンアーキテクチャ そして、これが相互作用の仕組みの大まかな内訳です​​。 CloudFlareワーカーのデーモンMCPアーキテクチャ(フルサイズのためにクリック) それを使用する方法 デーモンはMCP(モデルコンテキストプロトコル)サーバーとして実行されます https://daemon.danielmiessler.com。これと対話する方法は次のとおりです。 利用可能なツールを取得します まず、使用可能なエンドポイントをご覧ください。 バッシュ curl -X…

  • Chi non viene licenziato?

    Chi è non essere licenziato? Questa è la mia domanda. Sto pensando a tutti questi licenziamenti e sto cercando di capire se c’è qualcosa che possiamo imparare sul futuro della tecnologia guardando chi viene licenziato e chi no. Ecco cosa mi chiedo: Sono principalmente persone con gradi di cui si stanno sbarazzando? Sono le persone…

  • Ufichuaji wa Jalada la Kipekee: Nipende Kama Wimbo wa Rock wa Shelly Jay Shore

    Leo kwenye tovuti ninayofuraha kumkaribisha tena Shelly Jay Shore ili kufichua jalada la Mapenzi yao yanayokuja, Nipende Kama Wimbo Wa Mwambaikitoa Agosti 25, 2026 kutoka kwa Dell! Hii ndio hadithi: Delilah ni mtunzi wa nyimbo anayetafuta jumba la kumbukumbu. Emmett ni golem iliyo tayari kutengenezwa. Kutoka kwa mwandishi anayeuza zaidi Kanuni za Ghosting inakuja riwaya…

  • Nous confondons deux types d’AGI

    Je pense que le plus gros problème du débat sur l’AGI est que nous confondons deux types d’AGI. Je propose de les réfléchir et d’en discuter comme deux choses différentes : AGI douce: Un système d’IA implémenté en tant que projet produit/OSS qui émule suffisamment bien la généralité de l’apprentissage pour remplacer les travailleurs du savoir….

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *