《flex與bison(中文版)》是2011年東南大學出版社出版的一本圖書,作者是John Levine。
基本介紹
- 書名:flex與bison(中文版)
- 作者:John Levine
- 譯者:陸軍
- ISBN:9787564126056
- 出版社:東南大學出版社
- 出版時間:2011年3月
- 開本:16開
內容簡介,目錄,
內容簡介
如果你需要分析或處理linux或unix中的文本數據,這本有用的書籍就講解了如何使用flex和bison迅速解決問題。《flex與bison》被期待已久,是經典o'reilly系列書籍《lex & yacc》的續篇。在原書出版以來的近20年,flex和bison已被證明比原來的unix工具更可靠、更強大。
《flex與bison》一書涵蓋了linux和unix程式開發中相同的重要核心功能,以及一些重要的新主題。你會找到適用於新手的修訂教程和適用於高級用戶的參考資料,以及對每個程式的基本用法的解釋,並且運用它們創建簡單、獨立的應用程式。有了《flex與bison》,你會發現這些靈活的工具提供的廣泛用途。
目錄
前言
第1章 Flex和Bison簡介
詞法分析和語法分析
正則表達式和詞法分析
文法與語法分析
二義性文法:並不多見
添加更多的規則
Flex和Bison與手寫的詞法分析器和語法分析器的對比
練習
第2章 使用Flex
正則表達式
Flex詞法分析器中的檔案I/O操作
讀取多個檔案
Flex詞法分析器的I/O結構
起始狀態和嵌套輸入檔案
符號表和重要語彙索引生成器
C語言交叉引用
練習
第3章 使用Bison
Bison語法分析器如何匹配輸入
移進/歸約分析
Bison語法分析器
基於抽象語法樹的改進的計算器
移進/歸約衝突和操作符優先權
一個高級計算器
使用高級計算器
練習
第4章 分析SQL
SQL概述
關係操作
使用SQL的三種方法
從SQL到逆波蘭式(RPN)
詞法分析器
語法分析器
SQL分析器的Makefile
練習
第5章 Flex規範參考
Flex結構規範
BEGIN
C++詞法分析器
上下文相關性
定義(替換)
ECHO
輸入管理
Flex庫
互動模式和批處理模式的詞法分析器
行號和yylineno
文字塊
單一程式中的多重詞法分析器
編譯詞法分析器的選項
Flex詞法分析器的可移植性
可重入詞法分析器
正則表達式語法
REJECT
從yylex()返回值
起始狀態
unput()
yyinput() yyunput()
yyleng
yyless()
yylex()和YY_DECL
yymore()
yyrestart()
yy_scan_string和yy_scan_buffer
YY_USER_ACTION
yywrap()
第6章 Bison規範參考
Bison語法結構
二義性和衝突
Bison程式的問題
C++語法分析器
%code塊
結束標記
錯誤記號和錯誤恢復
繼承屬性($0)
詞法反饋
文字塊
文字記號
位置
%parse-param
Bison語法分析器的可移植性
優先權和結合性聲明
遞歸規則
規則
特殊字元
%start聲明
符號值
記號
可變語法和多重語法
多重語法分析器
y.output檔案
Bison庫檔案
YYABORT
YYACCEPT
YYBACKUP
yyclearin
yydebug和YYDEBUG
YYERROR
yyerror()
yyparse()
YYRECOVERING()
第7章 二義性和衝突
指針模型和衝突
衝突類型
語法分析器狀態
name.output的內容
歸約/歸約衝突
移進/歸約衝突
複習name.output中的衝突
常見的衝突例子
IF/THEN/ELSE
你如何解決衝突?
IF/THEN/ELSE(移進/歸約衝突)
嵌套循環(移進/歸約衝突)
表達式優先權(移進/歸約衝突)
總結
練習
第8章 錯誤報告和恢復
錯誤報告
錯誤恢復
Bison錯誤恢復
編譯器錯誤恢復
練習
第9章 Flex和Bison進階
純詞法分析器和純語法分析器
GLR分析
C++語法分析器
練習
附錄 SQL語法分析器文法和交叉引用
術語表