官术网_书友最值得收藏!

  • 自制編程語言
  • (日)前橋和彌
  • 438字
  • 2021-11-24 18:03:47

1.4 用什么語言來制作

如前文所述,本書將使用C語言作為語法處理器的編寫語言。

都什么年代了還用C語言?可能會有人這樣想吧。其實就連我自己也會這樣想。

但本書還是使用了C語言,其中一個理由是因為yacc/lex都是面向C語言的工具。

yacc/lex本身是很老的工具。老工具雖然都有一些歷史遺留問題,但也有其優點,即正是因為歷史悠久,所以會積累下更詳盡的技術文檔。如前文所述,目前的LL語言大多使用yacc。

另一個使用C語言的理由是:想要降低“依賴程度”的話,C語言是最適合的。

比如說用Java編寫軟件,運行環境中必須安裝JVM(Java虛擬機)。如果用C#則必須要安裝.NET Framework。在自制編程語言的理由中,我們曾經列舉了“可以用編程語言擴展應用程序”這一條,并且提到,如果能在編寫應用程序的時候從底層到擴展全部自己實現會更加放心,其目的就是為了不依賴JVM或.NET Framework。這樣在Java或.NET版本升級時也就無需操心了。

此外考慮到組合各種應用程序這個用途,C語言在眾多編程語言中可以說是最具通用性的。無論被組合的應用程序采用何種語言編寫,毫無疑問都可以調用C語言。

主站蜘蛛池模板: 台东县| 河北省| 布尔津县| 平远县| 灵丘县| 海安县| 株洲市| 西安市| 涿鹿县| 枣庄市| 长丰县| 张家界市| 来宾市| 娄底市| 绵阳市| 连平县| 广丰县| 申扎县| 三穗县| 长沙市| 南安市| 岫岩| 新蔡县| 瓮安县| 华安县| 黄陵县| 柳江县| 永春县| 玉龙| 驻马店市| 黄骅市| 金阳县| 马山县| 玛多县| 磐安县| 广南县| 诸城市| 青川县| 青铜峡市| 金山区| 上栗县|