Appendix B: Example Code B.1 Calculation.h void Calculation::compile(n การแปล - Appendix B: Example Code B.1 Calculation.h void Calculation::compile(n ไทย วิธีการพูด

Appendix B: Example Code B.1 Calcul

Appendix B: Example Code
B.1 Calculation.h
void Calculation::compile(node *g, Variables var) { Require(g != NULL, "The expression tree has a variable"); int T=0; if(leaf(g)) //case single leaf is our tree gencode(LOAD, g->value, var); else if(leaf(g->right) && leaf(g->left)) { gencode(LOAD, g->left->value, var); gencode(translate(g->value), g->right->value, var); } else if((g->left == NULL) && leaf(g->right)) { gencode(translate(g->value), g->right->value, var); } else if((g->left == NULL) && (!leaf(g->right) || g->right != NULL)) { while(T_lock[T] != 0.0001) T++; compile(g->right, var); gencode(STORE, ((char)145+T), var); gencode(translate(g->value), ((char)145+T), var); } //left branch is subexpression while right branch is just leaf else if((!leaf(g->left) || g->left != NULL) && leaf(g->right)) { compile(g->left, var); gencode(translate(g->value), g->right->value, var); } //right branch is subexpression while left branch is just leaf (need temporary registers) else if((!leaf(g->right) || g->right != NULL) && leaf(g->left)) { while(T_lock[T]!=0.0001) T++; //find next unused temp register compile(g->right, var); gencode(STORE, ((char)145+T), var); gencode(LOAD, g->left->value, var); gencode(translate(g->value), ((char)145+T), var); } //both right branch and left branch are subexpressions (need holder variables) else if((!leaf(g->left) || g->left != NULL) && (!leaf(g->right) || g->right != NULL)) { while(T_lock[T]!=0.0001) T++; //find next unused temp register compile(g->right, var); gencode(STORE, ((char)145+T), var); compile(g->left, var);
gencode(translate(g->value), ((char)145+T), var); } }
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
ภาคผนวก b:ตัวอย่างรหัส B.1 Calculation.h โมฆะ Calculation::compile (โหน * g ตัวแปร var) {ต้อง (g ! = NULL "แผนภูมิเป็นนิพจน์มีตัวแปร"); int T = 0; if(leaf(g)) //case ใบเดี่ยวเป็น gencode ของเราต้นไม้ (โหลด g -> ค่า var); เอา (ใบ (g -> ขวา) & & ใบ (ซ้าย -> g)) { gencode (โหลด g -> ซ้าย -> ค่า var); gencode (แปล (g -> ค่า), g -> ขวา -> ค่า , var); } เอา ((g -> ซ้าย== NULL) & & ใบ (g -> ขวา)) { gencode (แปล (g -> ค่า), g -> ขวา -> ค่า var); } เอา ((g -> ซ้าย== NULL) & & (! ใบ (g -> ขวา) || g -> ขวา! = NULL)) {ขณะ (T_lock [T] ! = 0.0001) T ++ คอมไพล์ (g -> ขวา var); gencode (ร้าน, ((อักขระ) 145 + T), var); gencode (แปล (g -> ค่า) , ((อักขระ) 145 + T), var); } //left สาขาเป็นนิพจน์ย่อยในขณะที่สาขาขวา เพียงใบอื่นถ้า ((! ใบ (g -> ซ้าย) || g -> ซ้าย! = NULL) & & ใบ (g -> ขวา)) {คอมไพล์ (g -> ซ้าย var); gencode (แปล (g -> ค่า), g -> ขวา -> ค่า var); } //right สาขาเป็นนิพจน์ย่อยในขณะที่ซ้ายสาขา อื่นเพียงใบ (ทะเบียนชั่วคราวจำเป็น) ถ้า ((! ใบ (g -> ขวา) || g -> ขวา! = NULL) & & ใบ (ซ้าย -> g)) { while(T_lock[T]!=0.0001) T ++ //find ถัดไปไม่ได้ใช้ คอมไพล์ทะเบียนชั่วคราว (g -> ขวา var); gencode (ร้าน, ((อักขระ) 145 + T), var); gencode (โหลด ซ้าย -> g -> ค่า var); gencode (แปล (g -> ค่า), ((อักขระ) 145 + T), var); } ซ้ายและสาขาด้านขวาของ //both เป็น subexpressions (ต้องใส่ตัวแปร) อื่น ๆ ((! ใบ (ซ้าย -> g) || g -> ซ้าย! = NULL) & & (! ใบ (g -> ขวา) || g -> ขวา! = NULL)) { while(T_lock[T]!=0.0001) T ++ //find ถัดไปทะเบียนชั่วคราวที่ไม่ได้ใช้คอมไพล์ (g -> ขวา var); gencode (ร้าน, ((อักขระ) 145 + T), var); คอมไพล์ (g -> ซ้าย var); gencode (แปล (g -> ค่า), ((อักขระ) 145 + T), var); } }
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
ภาคผนวก B: ตัวอย่างรหัส
B.1 Calculation.h
โมฆะคำนวณ :: รวบรวม (โหนด * G, ตัวแปร var) {require (g = โมฆะ "ต้นไม้แสดงออกมีตัวแปร!"); int T = 0; ถ้า (ใบ (g)) // กรณีใบเดี่ยวเป็น gencode ต้นไม้ของเรา (โหลด, G-> ค่า var); อื่นถ้า (ใบ (G-> ขวา) && ใบ (G-> ซ้าย)) {gencode (โหลด, G-> ซ้าย> ค่า var); gencode (แปล (G-> ค่า), G-> ขวา> ค่า var); } else if ((G-> ซ้าย == NULL) && ใบ (G-> ขวา)) {gencode (แปล (G-> ค่า), G-> ขวา> ค่า var); } else if ((G-> ซ้าย == NULL) && (ใบ (G-> ขวา) || G-> ขวา = NULL)!) {ในขณะที่ (T_lock [T] = 0.0001) T ++; รวบรวม (G-> ขวา var); gencode (เก็บ ((ถ่าน) 145 + T) var); gencode (แปล (G-> ค่า), ((ถ่าน) 145 + T) var); } // สาขาซ้าย subexpression ขณะที่สาขาที่เหมาะสมเป็นเพียงใบอื่นถ้า ((! ใบ (G-> ซ้าย) || G-> ซ้าย! = NULL) && ใบ (G-> ขวา)) {รวบรวม (G-> ซ้าย var); gencode (แปล (G-> ค่า), G-> ขวา> ค่า var); } // สาขาที่เหมาะสมเป็น subexpression ขณะที่สาขาซ้ายเป็นเพียงใบ (ต้องลงทะเบียนชั่วคราว) อื่นถ้า ((! ใบ (G-> ขวา) || G-> ถูกต้อง! = NULL) && ใบ (G-> ซ้าย)) { ในขณะที่ (T_lock [T] = 0.0001) T ++; // พบต่อไปที่ไม่ได้ใช้ชั่วคราวลงทะเบียนรวบรวม (G-> ขวา var); gencode (เก็บ ((ถ่าน) 145 + T) var); gencode (โหลด, G-> ซ้าย> ค่า var); gencode (แปล (G-> ค่า), ((ถ่าน) 145 + T) var); } // ทั้งสาขาที่เหมาะสมและสาขาด้านซ้ายจะ subexpressions (ตัวแปรถือจำเป็น) อื่นถ้า ((! ใบ (G-> ซ้าย) || G-> ซ้าย! = NULL) && (! ใบ (G-> ขวา) || G-> ขวา = NULL)) {ในขณะที่ (T_lock [T] = 0.0001) T ++!; // พบต่อไปที่ไม่ได้ใช้ชั่วคราวลงทะเบียนรวบรวม (G-> ขวา var); gencode (เก็บ ((ถ่าน) 145 + T) var); รวบรวม (G-> ซ้าย var);
gencode (แปล (G-> ค่า), ((ถ่าน) 145 + T) var); }}
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: