A Dynamic ParserAbove I mentioned that a GUI tool like MySQL Workbench การแปล - A Dynamic ParserAbove I mentioned that a GUI tool like MySQL Workbench ไทย วิธีการพูด

A Dynamic ParserAbove I mentioned t

A Dynamic Parser
Above I mentioned that a GUI tool like MySQL Workbench needs to support multiple server version. Additionally, it must be possible to switch behavior based on the SQL mode. All this is possible by use of socalled semantic predicates. These constructs allow to switch rules or alternatives off and on based on some condition (e.g. the server version). This will ensure a user will always get the right syntax check and proper code completion, regardless which server he actually connects to. This goes so far that we can easily toggle language parts that were only valid for a certain version range (e.g. the NONBLOCKING keyword, which was valid only between 5.7.0 and 5.7.6).

Though we not only use the generated files for standard parsing tasks, but also have a dedicated scanner (based on the lexer) that helps us in determining a context for the context sensitive help. This way we can even handle partially invalid SQL code easily.

In opposition to the server grammar and parser generation from it, our ANTLR parser is generated and compiled automatically during a build and only when there was a change in the grammar file. This allows for easy development of the parser grammar. A test tool exists that uses the same parser and allows to take a deeper look at a query and the parsing process, by printing the AST (abstract syntax tree) in a windows. Additionally it allows to run a subset of our parser unit tests and even can generate test result code we use to feed certain parser tests.

0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
ตัวแยกวิเคราะห์แบบไดนามิกข้างต้นฉันกล่าวว่า เครื่องมือ GUI เช่นปรับแต่ง MySQL ต้องสนับสนุนรุ่นของเซิร์ฟเวอร์หลาย นอกจากนี้ คุณต้องสามารถสลับค่า SQL ลักษณะการทำงาน ทั้งหมดนี้ได้ โดยใช้เพรดิเคตความหมาย socalled โครงสร้างเหล่านี้ช่วยให้สามารถเปลี่ยนกฎหรือแทนที่เข้าตามเงื่อนไขบางประการ (เช่นรุ่นของเซิร์ฟเวอร์) นี้จะช่วยให้ผู้ใช้จะเรียกตรวจสอบไวยากรณ์ถูกต้องและความสมบูรณ์ของรหัสที่เหมาะสม ไม่ที่เขาจะเชื่อมต่อกับเซิร์ฟเวอร์ นี่ไปไกลว่า เราสามารถสลับได้ส่วนภาษาที่ถูกต้องสำหรับรุ่นช่วง (เช่น NONBLOCKING คำสำคัญ ซึ่งใช้ได้เฉพาะระหว่าง 5.7.0 และ 5.7.6) เท่านั้นแม้ว่าเราไม่ใช้แฟ้มสร้างขึ้นสำหรับการแยกวิเคราะห์ภารกิจมาตรฐาน ได้มีสแกนเนอร์เฉพาะ (ตามที่ lexer) ที่ช่วยเราในการกำหนดบริบทสำหรับการคำอธิบายพึ่งบริบท วิธีนี้เรายังสามารถจัดการรหัส SQL ไม่ถูกต้องบางส่วนได้ในการเซิร์ฟเวอร์ไวยากรณ์และตัวแบ่งสร้างออก ตัวแยกวิเคราะห์ของเรา ANTLR ถูกสร้าง และคอมไพล์โดยอัตโนมัติใน ระหว่างการก่อสร้าง และ เมื่อมีการเปลี่ยนแปลงในแฟ้มไวยากรณ์ นี้ช่วยให้การพัฒนาง่ายของตัวแยกวิเคราะห์ไวยากรณ์ เครื่องมือทดสอบอยู่ที่ใช้ตัวแยกวิเคราะห์ที่เดียว และช่วยให้การมองลึกในแบบสอบถามและการแยกวิเคราะห์ โดยพิมพ์ AST (ต้นไม้ไวยากรณ์นามธรรม) ใน windows นอกจากนี้มันช่วยให้การทำงานย่อยของตัวแยกวิเคราะห์หน่วยทดสอบ และยังสามารถสร้างรหัสผลการทดสอบที่เราใช้เพื่อดึงข้อมูลบางตัวแยกวิเคราะห์ทดสอบ
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
ตัวแยกวิเคราะห์แบบไดนามิกข้างต้นที่ผมกล่าวถึงว่าเป็นเครื่องมือ GUI เช่น MySQL Workbench ต้องการที่จะสนับสนุนรุ่นเซิร์ฟเวอร์หลาย
นอกจากนี้จะต้องเป็นไปได้ที่จะเปลี่ยนพฤติกรรมขึ้นอยู่กับโหมด SQL ทั้งหมดนี้เป็นไปได้โดยการใช้ความหมายภาค socalled โครงสร้างเหล่านี้ช่วยให้ที่จะเปลี่ยนกฎหรือทางเลือกในการปิดและขึ้นอยู่กับเงื่อนไขบางอย่าง (เช่นรุ่นเซิร์ฟเวอร์) นี้จะช่วยให้ผู้ใช้ก็จะได้รับการตรวจสอบไวยากรณ์ที่ถูกต้องและเสร็จรหัสที่เหมาะสมโดยไม่คำนึงถึงเซิร์ฟเวอร์ซึ่งจริง ๆ แล้วเขาเชื่อมต่อกับ นี้ไปเพื่อให้ห่างไกลที่เราสามารถสลับชิ้นส่วนภาษาที่เป็นเพียงที่ถูกต้องสำหรับช่วงบางรุ่น (เช่นคำ nonblocking ซึ่งเป็นที่ถูกต้องเพียงอย่างเดียวระหว่าง 5.7.0 และ 5.7.6). แม้ว่าเราจะไม่เพียง แต่ใช้ไฟล์ที่สร้างขึ้นสำหรับมาตรฐาน งานแยก แต่ยังมีสแกนเนอร์โดยเฉพาะ (ตาม lexer) ที่ช่วยให้เราในการกำหนดบริบทสำหรับบริบทความช่วยเหลือที่มีความสำคัญ วิธีนี้เรายังสามารถจัดการกับ SQL รหัสไม่ถูกต้องบางส่วนได้อย่างง่ายดาย. ในการต่อสู้กับไวยากรณ์เซิร์ฟเวอร์และรุ่นตัวแยกวิเคราะห์จากมันแยกวิเคราะห์ ANTLR ของเราถูกสร้างขึ้นและเรียบเรียงโดยอัตโนมัติในระหว่างการสร้างและเมื่อมีการเปลี่ยนแปลงในแฟ้มไวยากรณ์ที่ นี้จะช่วยให้ง่ายสำหรับการพัฒนาของไวยากรณ์ตัวแยกวิเคราะห์ เครื่องมือทดสอบที่มีอยู่ที่ใช้ parser เดียวกันและช่วยให้การใช้เวลามองลึกลงไปในแบบสอบถามและขั้นตอนการแยกวิเคราะห์โดยการพิมพ์ AST (ต้นไม้ไวยากรณ์นามธรรม) ในหน้าต่าง นอกจากนี้ก็จะช่วยให้การทำงานส่วนหนึ่งของการทดสอบหน่วยแยกวิเคราะห์ของเราและยังสามารถสร้างผลการทดสอบรหัสที่เราใช้ในการทดสอบตัวแยกวิเคราะห์อาหารบางอย่าง





การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
แบบไดนามิก Parser
ข้างต้นที่ผมกล่าวถึงเครื่องมือ GUI เช่น MySQL Workbench ต้องสนับสนุนหลายเซิร์ฟเวอร์รุ่น นอกจากนี้ มีความเป็นไปได้ที่จะเปลี่ยนพฤติกรรมตามโหมด SQL ทั้งหมดนี้เป็นไปได้โดยการใช้ลากข้างความหมายภาคแสดง . โครงสร้างเหล่านี้อนุญาตให้เปลี่ยนกฎ หรือเลือกปิดและขึ้นอยู่กับเงื่อนไขบางอย่าง ( เช่นรุ่นของเซิร์ฟเวอร์ )นี้จะให้แน่ใจว่าผู้ใช้จะได้รับสิทธิในการตรวจสอบที่เหมาะสมและรหัสเสร็จ ไม่ว่าที่เขาเชื่อมต่อกับเซิร์ฟเวอร์ . นี้ไปไกลแล้ว เราสามารถสลับภาษาส่วนที่ใช้ได้สำหรับช่วงบางรุ่น ( เช่น nonblocking คำหลักที่ถูกต้องเท่านั้น และระหว่าง 5.7.0 5.7.6 )

แต่เราไม่เพียง แต่ใช้มาตรฐานการสร้างไฟล์งานแต่ก็มีเฉพาะสแกนเนอร์ ( ตาม lexer ) ที่ช่วยให้เราในการพิจารณาบริบทบริบทช่วยให้มีความละเอียดอ่อน . วิธีนี้เราสามารถจัดการบางส่วนไม่ถูกต้อง SQL รหัสง่าย

ในการต่อต้านการสร้างเซิร์ฟเวอร์และไวยากรณ์ parser parser จากมัน antlr ของเราถูกสร้างและเรียบเรียงโดยอัตโนมัติในระหว่างการสร้างเท่านั้น และเมื่อมีการเปลี่ยนแปลงในแฟ้มไวยากรณ์นี้จะช่วยให้สำหรับการพัฒนาง่ายของ parser ไวยากรณ์ เครื่องมือทดสอบที่มีอยู่นั้นใช้ parser เดียวกันและช่วยให้ใช้เวลามองลึกในแบบสอบถามและวิเคราะห์กระบวนการ โดยการพิมพ์ AST ( ค่าไถ่ตัว ) ใน Windows นอกจากนี้ยังช่วยให้การเรียกใช้บางส่วนของการทดสอบหน่วยแสดงผลการทดสอบของเราและยังสามารถสร้างรหัสที่เราใช้เพื่อดึงทดสอบ parser แน่นอน

การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: