Janino 2.7.8

ใบ อนุญาต: ฟรี ‎ขนาดแฟ้ม: 1.05 MB
‎คะแนนจากผู้ใช้: 2.7/5 - ‎6 ‎โหวต

Janino เป็นซุปเปอร์ขนาดเล็กซุปเปอร์ fastcompiler ที่อ่านนิพจน์ Java บล็อกหรือไฟล์ต้นฉบับและสร้าง Java bytecode ที่โหลดและดําเนินการโดยตรง ไม่ได้มีวัตถุประสงค์เพื่อเป็นเครื่องมือในการพัฒนา แต่เป็นคอมไพเลอร์ฝังตัวเพื่อวัตถุประสงค์ในการคอมไพล์รันไทม์เช่นตัวประเมินนิพจน์หรือ "server page" เอ็นจินเช่น JSP แห่ง เป้าหมายการออกแบบที่สําคัญคือการทําให้คอมไพเลอร์มีขนาดเล็กและเรียบง่ายในขณะที่เสียสละความสมบูรณ์บางส่วน ฉันไม่ชอบความคิดในการพกพาห้องสมุดขนาดใหญ่สําหรับการใช้งานที่เรียบง่าย ดู ตัวแยกวิเคราะห์ สําหรับรายการคุณลักษณะภาษาที่นําไปใช้และหายไป คุณต้องการตัวประเมินนิพจน์ที่มีประสิทธิภาพเมื่อใด สมมติว่าคุณสร้างระบบอีคอมเมิร์ซซึ่งจะคํานวณค่าจัดส่งสําหรับสินค้าที่ผู้ใช้ใส่ลงในรถเข็นซื้อของของเขา / เธอ เนื่องจากคุณไม่ทราบรูปแบบค่าจัดส่งของผู้ค้าในเวลาดําเนินการคุณสามารถใช้ชุดของรูปแบบค่าจัดส่งที่นึกถึง (ประจุแบนตามน้ําหนักตามจํานวนรายการ ... ) และเลือกหนึ่งในนั้นในเวลาทํางาน ในทางปฏิบัติคุณจะพบว่ารูปแบบค่าจัดส่งที่คุณนําไปใช้จะไม่ค่อยตรงกับสิ่งที่ผู้ขายต้องการดังนั้นคุณต้องเพิ่มโมเดลที่กําหนดเองซึ่งเป็นแบบเฉพาะของผู้ค้า หากโมเดลของผู้ขายเปลี่ยนแปลงในภายหลัง นิพจน์ค่าจัดส่งควรถูกระบุในขณะทํางาน ไม่ใช่เมื่อคอมไพล์เวลา นี่หมายความว่านิพจน์ต้องถูกสแกนแยกวิเคราะห์และประเมินในขณะทํางานซึ่งเป็นเหตุผลที่คุณต้องการตัวประเมินนิพจน์ ตัวประเมินนิพจน์อย่างง่ายจะแยกวิเคราะห์นิพจน์และสร้าง&แผนภูมิไวยากรณ์" ตัวอย่างเช่น นิพจน์ "a + b * c" จะคอมไพล์ลงในวัตถุ & quot;Sum" ที่เป็นตัวถูกดําเนินการแรกคือพารามิเตอร์ & quot;a" และใครคือตัวถูกดําเนินการตัวที่สองคือ & quot;Product" วัตถุที่เป็นตัวถูกดําเนินการเป็นพารามิเตอร์ & quot;b" และ quot;c" ต้นไม้ไวยากรณ์ดังกล่าวสามารถประเมินได้ค่อนข้างเร็ว อย่างไรก็ตามประสิทธิภาพในขณะทํางานเป็นเรื่องเกี่ยวกับปัจจัย 100 ที่แย่กว่ารหัส Java ดั้งเดิม

ประวัติรุ่น

  • เวอร์ชัน 2.5.7 โพสต์เมื่อ 2002-11-09
    อัพเดตหน้าภาพรวม

รายละเอียดหลักสูตร

Eula

EULA - ข้อตกลงสิทธิ์การใช้งานสําหรับผู้ใช้

Janino - คอมไพเลอร์ Java[TM] แบบฝังตัว ลิขสิทธิ์ (ค) 2001-2010, Arno Unkrig สงวน การกระจายซ้ําและใช้ในรูปแบบซอร์สและไบนารีโดยมีหรือไม่มี การปรับเปลี่ยนจะได้รับอนุญาตโดยมีเงื่อนไขต่อไปนี้ ตรงตาม: 1. การกระจายซอร์สโค้ดจะต้องคงลิขสิทธิ์ข้างต้นไว้ โปรดสังเกตว่ารายการเงื่อนไขและข้อจํากัดความรับผิดชอบต่อไปนี้ 2. การกระจายใหม่ในรูปแบบไบนารีจะต้องทําซ้ําข้างต้น ประกาศเกี่ยวกับลิขสิทธิ์, รายการเงื่อนไขนี้และต่อไปนี้ ข้อจํากัดความรับผิดชอบในเอกสารและ/หรือวัสดุอื่นๆ ให้มาพร้อมกับการกระจายของ 3. ชื่อของผู้เขียนไม่สามารถใช้เพื่อรับรองหรือส่งเสริม ผลิตภัณฑ์ที่ได้มาจากซอฟต์แวร์นี้โดยไม่ต้องเจาะจงมาก่อน สิทธิ์เป็นลายลักษณ์อักษร ซอฟต์แวร์นี้จัดทําโดยผู้เขียน ''ตามที่เป็นอยู่'' และด่วนหรือ การรับประกันโดยนัย รวมถึงแต่ไม่จํากัดเพียง การรับประกันความสามารถในการค้าและความเหมาะสมสําหรับวัตถุประสงค์เฉพาะ ถูกปฏิเสธ ผู้เขียนจะไม่รับผิดชอบต่อบุคคลใด ๆ ทางตรง ทางอ้อม โดยบังเอิญ พิเศษ เป็นแบบอย่าง หรือเป็นผลสืบเนื่อง ความเสียหาย (รวมถึง แต่ไม่ จํากัด เพียงการจัดหาสารทดแทน สินค้าหรือบริการ การสูญเสียการใช้งาน ข้อมูล หรือผลกําไร หรือธุรกิจ การหยุดชะงัก) แต่เกิดจากและในทฤษฎีความรับผิดใด ๆ ไม่ว่าจะเป็น ในสัญญาความรับผิดที่เข้มงวดหรือการทรมาน (รวมถึงความประมาทเลินเล่อหรือ มิฉะนั้น) ที่เกิดขึ้นในทางใดทางหนึ่งออกจากการใช้ซอฟต์แวร์นี้แม้ หากได้รับคําแนะนําเกี่ยวกับความเป็นไปได้ของความเสียหายดังกล่าว