我目前正在学习编译器设计中的词法分析。为了学习一个词法分析器的工作原理,我试图自己创建一个。我打算用Java构建它。在Java中构建词法分析器
词法分析器的输入是一个.tex文件,其格式如下。
\begin{document}
\chapter{Introduction}
\section{Scope}
Arbitrary text.
\section{Relevance}
Arbitrary text.
\subsection{Advantages}
Arbitrary text.
\subsubsection{In Real life}
\subsection{Disadvantages}
\end{document}
词法分析器的输出应该是表的内容可能与在另一个文件中的页码。
1. Introduction 1
1.1 Scope 1
1.2 Relevance 2
1.2.1 Advantages 2
1.2.1.1 In Real Life 2
1.2.2 Disadvantages 3
我希望这个问题是词法分析的范围之内。
我的词法分析器会读取.tex文件并检查'\',然后查找是否继续读取以检查它是否确实是切分命令之一。标志变量被设置为指示切片的类型。根据类型和深度,在切分命令之后的花括号中的单词是按照前缀以数字(如1.2.1)作为前缀进行读取和写入的。
我希望上述方法可以用于构建词法分析器。如果可以在词法分析器的范围内添加页码,我该怎么办?
不是'1.2.1.1在真实生活中'而不是'1.2.1在真实生活中'? – 2010-06-23 14:53:57
谢谢。我做了更正。 – primpap 2010-06-23 15:04:37