• 编译器高级研究的理想平台


    在20世纪90年代,作为GNU项目或其它开放源代码项目标一部分,许多免费编译器和编译器开发工具被开发出来。这些工具可用来编译所有的计算机程序语言。它们中的一些项目被认为是高质量的,而且对现代编译理论感兴趣的人可以很容易的得到它们的免费源代码。

    大约在1999年,SGI公布了他们的一个工业化的并行化优化编译器Pro64的源代码,后被全世界多个编译器研究小组用来做研究平台,并命名为Open64。Open64的设计结构好,分析优化全面,是编译器高级研究的理想平台。

     

      1 package Com.Table;
      2 
      3 public abstract class TwelveTable {
      4     abstract int area();
      5     abstract int perimeter();
      6 }
      7  
      8 
      9 class Rect extends TwelveTable
     10 {
     11     int length;
     12     int wight;
     13     public int getLength() {
     14         return length;
     15     }
     16  
     17     public void setLength(int length) {
     18         this.length = length;
     19     }
     20  
     21     public int getWight() {
     22         return wight;
     23     }
     24  
     25     public void setWight(int wight) {
     26         this.wight = wight;
     27     }
     28  
     29     @Override
     30     int area() {
     31  
     32         return length * wight;
     33     }
     34  
     35     @Override
     36     int perimeter() {
     37         return (length + wight) * 2;
     38     }
     39 }
     40  
     41 
     42 class Trangle extends TwelveTable
     43 {
     44     int aSide;
     45     int bSide;
     46     int cSide;
     47  
     48     public int getaSide() {
     49         return aSide;
     50     }
     51  
     52     public void setaSide(int aSide) {
     53         this.aSide = aSide;
     54     }
     55  
     56     public int getbSide() {
     57         return bSide;
     58     }
     59  
     60     public void setbSide(int bSide) {
     61         this.bSide = bSide;
     62     }
     63  
     64     public int getcSide() {
     65         return cSide;
     66     }
     67  
     68     public void setcSide(int cSide) {
     69         this.cSide = cSide;
     70     }
     71  
     72     @Override
     73     int area() {
     74         int s = (aSide + bSide + cSide) / 2;
     75         double area = (double) (s * (s - aSide) * (s - bSide) * (s - cSide));
     76         return (int) Math.pow(area, 0.5);
     77     }
     78  
     79     @Override
     80     int perimeter() {
     81         return aSide + bSide + cSide;
     82     }
     83 }
     84 
     85 
     86  
     87 class Round extends TwelveTable
     88 {
     89     int Rides;
     90  
     91     public int getRides() {
     92         return Rides;
     93     }
     94  
     95     public void setRides(int rides) {
     96         Rides = rides;
     97     }
     98  
     99     @Override
    100     int area() {
    101         return (int) (Rides * Rides * 3.14);
    102     }
    103  
    104     @Override
    105     int perimeter() {
    106         return (int) (2 * Rides * 3.14);
    107     }
    108 }
    109  
    110 
    111 class ExObj
    112 {
    113     public static void main(String []args)
    114     {
    115         Rect rc = new Rect();
    116         rc.setLength(3);
    117         rc.setWight(4);
    118         System.out.println("矩形面积 = " + rc.area()
    119                 + ",矩形周长 = " + rc.perimeter());
    120  
    121         Trangle tg = new Trangle();
    122         tg.setaSide(3);
    123         tg.setbSide(4);
    124         tg.setcSide(5);
    125         System.out.println("三角形面积 = " + tg.area()
    126                 + ",三角形周长 = " + tg.perimeter());
    127  
    128         Round rd = new Round();
    129         rd.setRides(2);
    130         System.out.println("圆面积 = " + rd.area()
    131                 + ",圆周长 = " + rd.perimeter());
    132     }
    133 }
  • 相关阅读:
    整理用js实现tab标签页
    整理悬浮在列表中a元素时改变a元素上下边框颜色的问题。
    整理Javascript基础数据和引用数据复制值的问题
    这一周的学习整理
    关于变量作用域的一点整理
    Javascript 知识遗漏点梳理。
    安卓自定义TextView实现自动滚动
    解决 IntelliJ IDEA Tomcat 控制台中文输出乱码问题
    Tomcat 控制台UTF-8乱码问题
    java 实现hex文件转换bin保存至内存中
  • 原文地址:https://www.cnblogs.com/borter/p/9384334.html
Copyright © 2020-2023  润新知