從0開始學習Lex&Yacc這個好用的編譯器設計工具。
本系列的範例主要使用C++搭配Lex&Yacc,適合已有C++程式基礎,但沒有接觸過Lex&Yacc的人。
本篇內容 介紹Yacc檔案格式 介紹Yacc的規則語法 範例 - 簡易計算機1 (2 of 3) Yacc檔案初探 - 格式介紹 我們已經完成Lex的部分了...
本篇內容 介紹Lex & Yacc程式的編譯與執行 範例 - 簡易計算機1 (3 of 3) 主程式 在前兩天的實作中,我們完成了lex &...
本篇內容 介紹Makefile Makefile 介紹 今天的內容跟Lex & Yacc比較沒關係。我們要來介紹Makefile(簡稱Make檔或製...
本篇內容 介紹Yacc中的OR語法 範例 - 簡易計算機2 Yacc語法介紹 - OR 我們在前幾天試著做出一個簡單的加法計算機。我們今天來試著擴充這個計算...
本篇內容 介紹Yacc的規則匹配 Shift Reduce Yacc的規則匹配 經過昨天的實作後,我們建立了加減乘除四個規則,讓計算機可以做兩個正整數...
本篇內容 介紹Yacc的遞迴規則(Recursion) 前言 在前面實作的簡易計算機範例中,我們只讀取了三個元素:兩個數字與一個運算符號(+號)。然而,若是...
本篇內容 範例 - 簡易計算機3 介紹 我們在昨天介紹了Recursion,並比較了左遞迴與右遞迴的差別。今天,我們將實際將recusion運用在parse...
本篇內容 介紹 Yacc語法中的Ambiguity and Conflicts 前言 我們昨天好不容易完成了連續加減法的計算機實作,編譯時卻出現以下的警告訊...
本篇內容 介紹 Yacc語法中的優先級: left & right 範例 - 簡易計算機4 優先級 我們從昨天的規則衝突中可以發現,部分衝突的發生原...
本篇內容 介紹 Yacc語法中的優先級: nonassoc & prec 範例 - 簡易計算機5 前言 我們昨天介紹了Yacc語法中的優先級left...