prompt:
Translate the following text from en to ar:
11.2.1 Available assignments . . . . . . . . . . . . . . . . . . . 233

completion: 11.2.1 المهام المتاحة . . . . . . . . . . . . . . . . . . . 233

source_lang: en

target_lang: ar

domain: technical

complexity: standard


prompt:
Translate the following text from ar to en:
البرامج المكتوبة بلغة عالية المستوى تميل إلى أن تكون أقصر من البرامج المكتوبة بلغة الآلة المكافئة.

completion: Programs written in a high-level language tend to be shorter than equivalent programs written in machine language.

source_lang: ar

target_lang: en


prompt:
Translate the following text from en to ar:
The first three phases are collectively called the frontend of the compiler and the last three phases are collectively called the backend.

completion: يُطلق على المراحل الثلاث الأولى مجتمعةً اسم "الواجهة الأمامية" للمُصرّف، بينما يُطلق على المراحل الثلاث الأخيرة اسم "الواجهة الخلفية".


prompt:
Translate the following text from en to ar:
First published 2000 This edition: August 20, 2010 ISBN 978-87-993154-0-6

completion: نُشرت الطبعة الأولى عام 2000. هذه الطبعة: 20 أغسطس 2010. رقم ISBN: 978-87-993154-0-6


prompt:
Translate the following text from ar to en:
1.  Introduction1 1.1 What is a compiler? . . . . . . . . . . . . . . . . . . . . . . . .1

completion: 1.  مقدمة 1 1.1 ما هو المترجم؟ . . . . . . . . . . . . . . . . . . . . . . . .1

complexity: simple


prompt:
Translate the following text from en to ar:
A finite automaton is, in the abstract sense, a machine that has a finite number of states and a finite number of transitions between these.

completion: الآلة الأوتوماتيكية المحدودة، بالمفهوم المجرد، هي آلة لديها عدد محدود من الحالات وعدد محدود من التحولات بين هذه الحالات.


prompt:
Translate the following text from ar to en:
निश्चित ऑटोमेटा, जैसा कि पहले उल्लेख किया गया है, 'मशीन' के करीब नहीं हैं जैसा हम चाहते हैं।

completion: Deterministic automata, as mentioned earlier, are not quite as close to “the machine” as we would like.


prompt:
Translate the following text from en to ar:
We now pick an unmarked element from the uncompletedS ′ . We have only one choice:s ′ 0 . We now mark this and calculate the transitions for it.

completion: الآن نختار عنصرًا غير مُعلّم من S ′ غير المكتملة. لدينا خيار واحد فقط: s ′ 0. نقوم الآن بتمييز هذا العنصر وحساب التحولات الخاصة به.


prompt:
Translate the following text from en to ar:
When the lexer finds an error, the consumer of the tokens that the lexer produces (e.g., the rest of the compiler) can not usually itself produce a valid result.

completion: عندما يجد المُحلل اللغوي خطأً، فإن مُستهلك الرموز التي ينتجها المُحلل اللغوي (مثل بقية المُترجم) لا يمكنه عادةً إنتاج نتيجة صحيحة.


prompt:
Translate the following text from ar to en:
एक लेक्सर जनरेटर आमतौर पर नियमित भावों के लिए एक संकेतन का उपयोग करेगा जो अनुभाग 2.1 में वर्णित के समान है, लेकिन वर्णमाला-वर्णों को नियमित भावों के निर्माण के लिए उपयोग किए जाने वाले प्रतीकों से अलग करने के लिए उद्धृत करने की आवश्यकता हो सकती है।

completion: A lexer generator will typically use a notation for regular expressions similar to the one described in section 2.1, but may require alphabet-characters to be quoted to distinguish them from the symbols used to build regular expressions.


prompt:
Translate the following text from en to ar:
Where lexical analysis splits the input into tokens, the purpose of syntax analysis (also known as parsing) is to recombine these tokens.

completion: حيث تقسم عملية التحليل المعجمي المدخلات إلى رموز، فإن الغرض من تحليل بناء الجملة (المعروف أيضًا باسم التحليل) هو إعادة تجميع هذه الرموز.


prompt:
Translate the following text from ar to en:
حيث تقسم عملية التحليل المعجمي المدخلات إلى رموز، فإن الغرض من تحليل بناء الجملة (المعروف أيضًا باسم التحليل) هو إعادة تجميع هذه الرموز.

completion: Where lexical analysis divides the input into tokens, the purpose of syntax analysis (also known as parsing) is to reassemble these tokens.


prompt:
Translate the following text from en to ar:
When there are no more symbols on the right-hand side, the function returns.

completion: عندما لا توجد رموز أخرى على الجانب الأيمن، تعود الدالة.


prompt:
Translate the following text from en to ar:
Hence, the productions for a nonterminal corresponding to a particular precedence level refers only to nonterminals that correspond to the same or higher precedence levels, un- less parentheses or similar bracketing constructs disambiguate the use of these.

completion: इसलिए, एक विशेष प्राथमिकता स्तर से संबंधित एक गैर-टर्मिनल के लिए उत्पादन केवल उन गैर-टर्मिनलों को संदर्भित करता है जो समान या उच्च प्राथमिकता स्तर से संबंधित हैं, जब तक कि कोष्ठक या इसी तरह के कोष्ठक निर्माण इनके उपयोग को स्पष्ट नहीं करते हैं।

complexity: complex


prompt:
Translate the following text from en to ar:
The syntax analysis phase of a compiler will take a string of tokens produced by the lexer, and from this construct a syntax tree for the string by finding a derivation of the string from the start symbol of the grammar.

completion: ستقوم مرحلة تحليل بناء الجملة الخاصة بالمترجم بتلقي سلسلة من الرموز المميزة التي ينتجها الماسح الضوئي، ومن هذا البناء شجرة بناء جملة للسلسلة عن طريق إيجاد اشتقاق للسلسلة من رمز بداية القواعد.


prompt:
Translate the following text from en to ar:
We must now convert this NFA into a DFA using the subset construc- tion shown in section 2.5.

completion: يجب علينا الآن تحويل هذه الآلة ذات الحالات المنتهية غير القطعية (NFA) إلى آلة ذات حالات منتهية قطعية (DFA) باستخدام بناء المجموعة الفرعية الموضح في القسم 2.5.


prompt:
Translate the following text from en to ar:
When a parser generator reports conflicts, it will tell in which state in the table these occur. This state can be written out in a (barely) human-readable form as a set of NFA-states.

completion: जब एक पार्सर जनरेटर संघर्षों की रिपोर्ट करता है, तो यह बताएगा कि तालिका में ये कहाँ होते हैं। इस स्थिति को एनएफए-राज्यों के एक समूह के रूप में (मुश्किल से) मानव-पठनीय रूप में लिखा जा सकता है।


prompt:
Translate the following text from en to ar:
Context-free grammars were first proposed as a notation for describing natural languages (e.g., English or French) by the linguist Noam Chomsky [14], who defined this as one of three grammar notations for this purpose.

completion: تم اقتراح القواعد النحوية الخالية من السياق لأول مرة كطريقة لوصف اللغات الطبيعية (مثل الإنجليزية أو الفرنسية) من قبل عالم اللغة نعوم تشومسكي [14]، الذي حددها كواحدة من ثلاث تدوينات نحوية لهذا الغرض.


prompt:
Translate the following text from ar to en:
بعد التحليل المعجمي والتحليل النحوي، لدينا شجرة بناء الجملة المجردة للبرنامج كهيكل بيانات في الذاكرة. ولكن يجب تنفيذ البرنامج، ولم نتعامل بعد مع

completion: After lexical analysis and parsing, we have the abstract syntax tree of the program as a data structure in memory. But the program needs to be executed, and we have not yet dealt with


prompt:
Translate the following text from en to ar:
The simplest way to execute a program is interpretation. Interpretation is done by a program called an interpreter, which takes the abstract syntax tree of a program and executes it by inspecting the syntax tree to see what needs to be done.

completion: أبسط طريقة لتنفيذ البرنامج هي التفسير. يتم التفسير بواسطة برنامج يسمى المترجم الفوري، والذي يأخذ شجرة بناء الجملة المجردة للبرنامج وينفذه عن طريق فحص شجرة بناء الجملة لمعرفة ما يجب القيام به.


prompt:
Translate the following text from ar to en:
أبسط طريقة لتنفيذ البرنامج هي التفسير. يتم التفسير بواسطة برنامج يسمى المترجم الفوري، والذي يأخذ شجرة بناء الجملة المجردة للبرنامج وينفذه عن طريق فحص شجرة بناء الجملة لمعرفة ما يجب القيام به.

completion: The simplest way to execute a program is interpretation. Interpretation is done by a program called an interpreter, which takes the abstract syntax tree of a program and executes it by inspecting the syntax tree to see what needs to be done.


prompt:
Translate the following text from en to ar:
We need to convert the numerical value returned by Trans Ex p into a choice between two labels, so we generate an IF instruction that does just that.

completion: ہمیں Trans Ex p کے ذریعے واپس کی جانے والی عددی قدر کو دو لیبلز کے درمیان انتخاب میں تبدیل کرنے کی ضرورت ہے، اس لیے ہم ایک IF انسٹرکشن تیار کرتے ہیں جو بالکل ایسا ہی کرتا ہے۔


prompt:
Translate the following text from ar to en:
ہمیں Trans Ex p کے ذریعے واپس کی جانے والی عددی قدر کو دو لیبلز کے درمیان انتخاب میں تبدیل کرنے کی ضرورت ہے، اس لیے ہم ایک IF انسٹرکشن تیار کرتے ہیں جو بالکل ایسا ہی کرتا ہے۔

completion: We need to convert the numerical value returned by Trans Ex p into a choice between two labels, so we generate an IF instruction that does just that.


prompt:
Translate the following text from en to ar:
If translation is done directly, the number of compilers is equal to the product of the number of languages and the number of machines.

completion: إذا تمت الترجمة مباشرةً، فإن عدد المترجمات يساوي حاصل ضرب عدد اللغات وعدد الآلات.


prompt:
Translate the following text from en to ar:
When the intermediate format is shared between many compilers, it makes sense to do as many optimisations as possible on the intermediate format.

completion: عندما تتم مشاركة التنسيق الوسيط بين العديد من المترجمات، فمن المنطقي إجراء أكبر عدد ممكن من التحسينات على التنسيق الوسيط.


prompt:
Translate the following text from ar to en:
عندما تتم مشاركة التنسيق الوسيط بين العديد من المترجمات، فمن المنطقي إجراء أكبر عدد ممكن من التحسينات على التنسيق الوسيط.

completion: When the intermediate format is shared among many compilers, it makes sense to perform as many optimizations as possible on the intermediate format.


prompt:
Translate the following text from en to ar:
Processors that divide registers into data and address registers or integer and floating-point registers can be handled in a similar way: Add instructions that copy to new registers before operations and let register allocation allocate these to the right type of registers (and eliminate as many of the moves as possible).

completion: يمكن التعامل مع المعالجات التي تقسم السجلات إلى سجلات بيانات وعناوين أو سجلات أعداد صحيحة ونقطة عائمة بطريقة مماثلة: أضف تعليمات تنسخ إلى سجلات جديدة قبل العمليات واترك تخصيص السجل يخصصها إلى النوع الصحيح من السجلات (ويزيل أكبر عدد ممكن من الحركات).


prompt:
Translate the following text from en to ar:
If a variable is live at the end of an instruction and that instruction does not assign a value to the variable, then the variable is also live at the start of the instruction.

completion: यदि कोई चर किसी निर्देश के अंत में जीवित है और वह निर्देश चर को कोई मान निर्दिष्ट नहीं करता है, तो चर निर्देश की शुरुआत में भी जीवित रहता है।


prompt:
Translate the following text from en to ar:
When a name (variable, label, type,etc.) is declared, the compiler must keep in the symbol-table entry for that name the information necessary for compiling any use of that name.

completion: عندما يتم الإعلان عن اسم (متغير، تسمية، نوع، إلخ)، يجب على المُصرّف الاحتفاظ في إدخال جدول الرموز الخاص بهذا الاسم بالمعلومات اللازمة لتجميع أي استخدام لهذا الاسم.


prompt:
Translate the following text from en to ar:
The intermediate language we have used in chapter 7 is quite low-level and similar to the type of machine code you can find on modern RISC processors, with a few exceptions.

completion: الفصل السابع الذي استخدمناه في اللغة الوسيطة منخفض المستوى إلى حد ما، وهو مشابه لنوع كود الآلة الذي يمكنك العثور عليه في معالجات RISC الحديثة، مع بعض الاستثناءات.


prompt:
Translate the following text from en to ar:
The simplest solution for generating machine code from intermediate code is to translate each intermediate-language instruction into one or more machine-code instructions.

completion: أبسط حل لتوليد كود الآلة من الكود الوسيط هو ترجمة كل تعليمات لغة وسيطة إلى تعليمات كود آلة واحدة أو أكثر.


prompt:
Translate the following text from en to ar:
The intermediate language allows arbitrary constants as operands to binary or unary operators.

completion: تسمح اللغة الوسيطة بثوابت عشوائية كعوامل تشغيل للمعاملات الثنائية أو الأحادية.


prompt:
Translate the following text from en to ar:
If the code is immediately followed by a GOTO statement, endlabel will hold the target of this GOTO rather than a label immediately preceding this.

completion: إذا تبع الكود على الفور عبارة GOTO، فسيحتفظ endlabel بهدف GOTO هذا بدلاً من تسمية تسبق هذا مباشرةً.


prompt:
Translate the following text from en to ar:
If there is a node with less than N edges, put this on the stack along with a list of the nodes it is connected to, and remove it and its edges from the graph.

completion: إذا كانت هناك عقدة بها عدد أقل من الحواف N، فضع هذه العقدة في المكدس مع قائمة بالعقد التي تتصل بها، وقم بإزالتها وإزالة حوافها من الرسم البياني.


prompt:
Translate the following text from en to ar:
When a function is called, all the live variables of the calling function (which we will refer to as thecaller) will be stored in memory so the registers will be free for use by the called function (thecallee).

completion: जब किसी फ़ंक्शन को कॉल किया जाता है, तो कॉलिंग फ़ंक्शन के सभी लाइव चर (जिसे हम कॉलर के रूप में संदर्भित करेंगे) को मेमोरी में संग्रहीत किया जाएगा ताकि रजिस्टर को कॉल किए गए फ़ंक्शन (कैलली) द्वारा उपयोग करने के लिए मुक्त किया जा सके।


prompt:
Translate the following text from ar to en:
إذا كانت هناك عقدة بها عدد أقل من الحواف N، فضع هذه العقدة في المكدس مع قائمة بالعقد التي تتصل بها، وقم بإزالتها وإزالة حوافها من الرسم البياني.

completion: If there is a node with less than N edges, put this on the stack along with a list of the nodes it is connected to, and remove it and its edges from the graph.


prompt:
Translate the following text from ar to en:
जब किसी फ़ंक्शन को कॉल किया जाता है, तो कॉलिंग फ़ंक्शन के सभी लाइव चर (जिसे हम कॉलर के रूप में संदर्भित करेंगे) को मेमोरी में संग्रहीत किया जाएगा ताकि रजिस्टर को कॉल किए गए फ़ंक्शन (कैलली) द्वारा उपयोग करने के लिए मुक्त किया जा सके।

completion: When a function is called, all the live variables of the calling function (which we will refer to as thecaller) will be stored in memory so the registers will be free for use by the called function (thecallee).


prompt:
Translate the following text from en to ar:
instructionx:=CALLf(a 1 ,...,a n ). First, all registers that can be used to hold variables are stored in the frame.

completion: تعليماتx:=CALLf(a 1 ,...,a n ). أولاً، يتم تخزين جميع المسجلات التي يمكن استخدامها للاحتفاظ بالمتغيرات في الإطار.


prompt:
Translate the following text from en to ar:
If a functionhwas declared locally insideg, it would need to follow two links to findy: F P g :=M[F P]Followh’s static link F P f :=M[F P g ]Followg’s static link address:=F P f +12Calculate address ofy y:=M[address]Gety’s value

completion: إذا تم الإعلان عن الدالة h محليًا داخل g، فستحتاج إلى اتباع رابطين للعثور على y: F P g :=M[F P] اتبع الرابط الثابت لـ h F P f :=M[F P g ] اتبع الرابط الثابت لـ g address:=F P f +12 احسب عنوان y y:=M[address] احصل على قيمة y


prompt:
Translate the following text from en to ar:
When we have an instruction sequence like LABELl 1 GOTOl 2 we would like to replace all jumps tol 1 by jumps tol 2 .

completion: عندما يكون لدينا تسلسل تعليمات مثل LABELl 1 GOTOl 2 ، نود استبدال جميع القفزات إلى l 1 بالقفزات إلى l 2.


prompt:
Translate the following text from en to ar:
11.6 Loop optimisations Since many programs spend most of their time in loops, it is worthwhile to study optimisations specific for loops.

completion: 11.6 تحسينات الحلقة نظرًا لأن العديد من البرامج تقضي معظم وقتها في الحلقات، فمن المفيد دراسة التحسينات الخاصة بالحلقات.


prompt:
Translate the following text from en to ar:
Since there are no live variables after the call tog, we can eliminate the saving and restoring of R0,...,Rk, yielding the following simplified code:

completion: بما أنه لا توجد متغيرات نشطة بعد استدعاء g، يمكننا التخلص من حفظ واستعادة R0,...,Rk، مما يؤدي إلى التعليمات البرمجية المبسطة التالية:


prompt:
Translate the following text from ar to en:
بما أن تخصيص الذاكرة يتضمن بحثًا عن كتلة كبيرة بما يكفي، فإن الوقت يمثل، في أسوأ الحالات، خطيًا في عدد الكتل في القائمة الحرة، وهو ما يتناسب مع عدد الاستدعاءات إلى free() التي قام بها البرنامج.

completion: Since memory allocation involves a search for a block that is large enough, the time is, in the worst case, linear in the number of blocks in the free list, which is proportional to the number of calls to free() that the program has made.


prompt:
Translate the following text from en to ar:
When freeing a block, we subtract one from the size, look that many bytes ahead to see if the size field stored in this word is even.

completion: عند تحرير كتلة، نطرح واحدًا من الحجم، وننظر إلى الأمام بعدد تلك البايتات لمعرفة ما إذا كان حقل الحجم المخزن في هذه الكلمة زوجيًا.


prompt:
Translate the following text from en to ar:
Manual memory management has two serious problems: Manually inserting calls to free() in the program is error-prone and a common source of errors.

completion: मैन्युअल मेमोरी प्रबंधन की दो गंभीर समस्याएँ हैं: प्रोग्राम में मुक्त () के लिए कॉल को मैन्युअल रूप से सम्मिलित करना त्रुटि-प्रवण है और त्रुटियों का एक सामान्य स्रोत है।


prompt:
Translate the following text from en to ar:
A common method is to write a QAD (“quick and dirty”) compiler using an existing language. This compiler needs not generate code for the desired target machine (as long as the generated code can be made to run on some existing plat- form), nor does it have to generate good code.

completion: एक सामान्य विधि मौजूदा भाषा का उपयोग करके एक QAD (“त्वरित और गंदा”) कंपाइलर लिखना है। इस कंपाइलर को वांछित लक्ष्य मशीन के लिए कोड उत्पन्न करने की आवश्यकता नहीं है (जब तक कि उत्पन्न कोड को कुछ मौजूदा प्लेटफ़ॉर्म पर चलाने के लिए बनाया जा सकता है), और न ही इसे अच्छा कोड उत्पन्न करने की आवश्यकता है।


prompt:
Translate the following text from ar to en:
The result of this is a compiler with the desired functionality, but it will probably run slowly. The reason is that it has been compiled by using the QAD compiler (in combination with the ML compiler).

completion: النتيجة هي مُصرّف له الوظيفة المطلوبة، ولكنه على الأرجح سيعمل ببطء. والسبب هو أنه تم تجميعه باستخدام مُصرّف QAD (بالاشتراك مع مُصرّف ML).


prompt:
Translate the following text from en to ar:
comments nested, 42 common subexpression elimination, 186, 233,237, 246 compilation, 129 compile-time, 152 compiling compilers, 283 conflict, 82, 87, 94, 97, 102 reduce-reduce, 94, 97 shift-reduce, 94, 97 consistent, 31 constant in operand, 181

completion: التعليقات متداخلة، 42 إزالة التعبيرات الفرعية الشائعة، 186، 233، 237، 246، الترجمة، 129 وقت الترجمة، 152، تجميع المترجمات، 283، التعارض، 82، 87، 94، 97، 102 تقليل-تقليل، 94، 97 تحويل-تقليل، 94، 97 متسق، 31 ثابت في المعامل، 181


prompt:
Translate the following text from ar to en:
التعليقات متداخلة، 42 إزالة التعبيرات الفرعية الشائعة، 186، 233، 237، 246، الترجمة، 129 وقت الترجمة، 152، تجميع المترجمات، 283، التعارض، 82، 87، 94، 97، 102 تقليل-تقليل، 94، 97 تحويل-تقليل، 94، 97 متسق، 31 ثابت في المعامل، 181

completion: Nested comments, 42 common subexpression elimination, 186, 233, 237, 246, compilation, 129 compile-time, 152 compiling compilers, 283 conflict, 82, 87, 94, 97, 102 reduce-reduce, 94, 97 shift-reduce, 94, 97 consistent, 31 constant in operand, 181