อ่าน 3 นาที
เอลล่า (ภาษาโปรแกรม)
ELLAเป็นภาษาสำหรับการอธิบายฮาร์ดแวร์และชุดเครื่องมือสนับสนุน ซึ่งพัฒนาขึ้นในสหราชอาณาจักรโดยRoyal Signals and Radar Establishment (RSRE) ในช่วงทศวรรษ 1980 และ 1990...
เอลล่า (ภาษาโปรแกรม)
| เอลล่า | |
|---|---|
| นักพัฒนา | สถาบันสัญญาณและเรดาร์หลวง |
| ปล่อย | พ.ศ. 2529 |
| เขียนเป็น | อัลโกล 68อาร์เอส |
| ระบบปฏิบัติการ | วีเอ็มเอส |
| แพลตฟอร์ม | ICL 2900 ซีรีส์ , Multics , VAX |
| มีจำหน่ายใน | ภาษาอังกฤษ |
| พิมพ์ | ภาษาอธิบายฮาร์ดแวร์ |
| ใบอนุญาต | สาธารณสมบัติ (บางส่วน) |
ELLAเป็นภาษาสำหรับการอธิบายฮาร์ดแวร์และชุดเครื่องมือสนับสนุน ซึ่งพัฒนาขึ้นในสหราชอาณาจักรโดยRoyal Signals and Radar Establishment (RSRE) ในช่วงทศวรรษ 1980 และ 1990 ซึ่งเป็นผู้พัฒนาคอมไพเลอร์สำหรับภาษาโปรแกรม ALGOL 68RSที่ใช้เขียน ELLA ด้วย
ELLA มีเครื่องมือที่ใช้ในการดำเนินการดังต่อไปนี้:
- การเปลี่ยนแปลงการออกแบบ
- การจำลองเชิงสัญลักษณ์
- การตรวจสอบอย่างเป็นทางการ
ELLA เป็นผู้ได้รับรางวัล Queen's Award for Technological Achievement ประจำปี 1989
ตัวอย่าง
ตัวอย่างต้นฉบับมาจากftp://ftp.dra.hmg.gb/pub/ellaซึ่งเป็นเวอร์ชันเผยแพร่สู่สาธารณะ
โค้ดสำหรับตรวจสอบความถูกต้องของการออกแบบฮาร์ดแวร์การคูณเมทริกซ์:
MAC ZIP = ([INT n]TYPE t: vector1 vector2) -> [n][2]t: [INT k = 1..n](vector1[k], vector2[k]). MAC TRANSPOSE = ([INT n][INT m]TYPE t: matrix) -> [m][n]t: [INT i = 1..m] [INT j = 1..n] matrix[j][i]. MAC INNER_PRODUCT{FN * = [2]TYPE t -> TYPE s, FN + = [2]s -> s} = ([INT n][2]t: เวกเตอร์) -> s: ถ้า n = 1 แล้ว *เวกเตอร์[1] มิฉะนั้น *vector[1] + INNER_PRODUCT {*,+} vector[2..n] FI. MAC MATRIX_MULT {FN * = [2]TYPE t->TYPE s, FN + = [2]s->s} = ([INT n][INT m]t: matrix1, [m][INT p]t: matrix2) -> [n][p]s: เริ่ม LET transposed_matrix2 = TRANSPOSE matrix2. เอาต์พุต [INT i = 1..n][INT j = 1..p] INNER_PRODUCT{*,+}ZIP(matrix1[i],transposed_matrix2[j]) จบ. TYPE element = NEW elt/(1..20), ผลิตภัณฑ์ = ผลิตภัณฑ์ใหม่/(1..1200) FN PLUS = (ผลคูณ: จำนวนเต็ม1 จำนวนเต็ม2) -> ผลคูณ: ARITH จำนวนเต็ม1 + จำนวนเต็ม2 FN MULT = (element: integer1 integer2) -> product: ARITH จำนวนเต็ม1 * จำนวนเต็ม2 FN MULT_234 = ([2][3]element:matrix1, [3][4]element:matrix2) -> [2][4]ผลิตภัณฑ์: MATRIX_MULT{MULT,PLUS}(เมทริกซ์1, เมทริกซ์2) FN TEST = () -> [2][4]product: ( LET m1 = ((elt/2, elt/1, elt/1), (elt/3, elt/6, elt/9)) m2 = ((เอลต์/6, เอลต์/1, เอลต์/3, เอลต์/4), (elt/9, elt/2, elt/8, elt/3), (elt/6, elt/4, elt/1, elt/2)) เอาต์พุต MULT_234 (m1, m2) ) การทดสอบ COM: แสดงสัญญาณ MOC เท่านั้น ลิงก์ภายนอก
- ซอร์สโค้ดของ ELLAรวมถึงตัวแปลภาษาALGOL 68RS
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ เอลล่า (ภาษาโปรแกรม)
ELLAเป็นภาษาสำหรับการอธิบายฮาร์ดแวร์และชุดเครื่องมือสนับสนุน ซึ่งพัฒนาขึ้นในสหราชอาณาจักรโดยRoyal Signals and Radar Establishment (RSRE) ในช่วงทศวรรษ 1980 และ 1990...
ตัวอย่าง
ตัวอย่างต้นฉบับมาจากftp://ftp.dra.hmg.gb/pub/ellaซึ่งเป็นเวอร์ชันเผยแพร่สู่สาธารณะ
ลิงก์ภายนอก
ซอร์สโค้ดของ ELLAรวมถึงตัวแปลภาษา ALGOL 68RS บทความเกี่ยวกับ ภาษาโปรแกรม นี้ ยังเป็น เพียงบทความย่อคุณสามารถช่วยวิกิพีเดียได้โดยการเพิ่มข้อมูลที่ขาดหายไป วี ที อี ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?