\hypertarget{class_lexer}{}\doxysection{Lexer Class Reference}
\label{class_lexer}\index{Lexer@{Lexer}}


{\ttfamily \#include $<$Lexer.\+h$>$}

\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_lexer_ad26a84af23d8d303723e36e83fc4e556}{$\sim$\+Lexer}} ()
\item 
\mbox{\hyperlink{_lexer_8h_a43f892d4a347a32f8602cfbcff2e237e}{Token\+Stream}} \mbox{\hyperlink{class_lexer_ac53b63f829071be755cc785084126afe}{lex}} (const std\+::string \&text)
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{class_lexer}{Lexer}} $>$ \mbox{\hyperlink{class_lexer_a6d24d823847b6d5f7e497d78f5b612d4}{make\+\_\+lexer}} (const std\+::string \&fname)
\item 
static void \mbox{\hyperlink{class_lexer_a8f5d1d9281b44e287d7db2ef0c0dff09}{assign\+\_\+parent\+\_\+location}} (std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{class_lexer}{Lexer}} $>$ \&lexer, const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{struct_location}{Location}} $>$ \&loc)
\end{DoxyCompactItemize}
\doxysubsection*{Static Public Attributes}
\begin{DoxyCompactItemize}
\item 
static const std\+::array$<$ std\+::string, \mbox{\hyperlink{_lexer_8h_a5aa140c2c2e64a57331d450a98077834}{TYPE\+\_\+\+COUNT}} $>$ \mbox{\hyperlink{class_lexer_a8956f4484cb2a477bea5d09e96ea6c8d}{types}}
\end{DoxyCompactItemize}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_lexer_ad26a84af23d8d303723e36e83fc4e556}\label{class_lexer_ad26a84af23d8d303723e36e83fc4e556}} 
\index{Lexer@{Lexer}!````~Lexer@{$\sim$Lexer}}
\index{````~Lexer@{$\sim$Lexer}!Lexer@{Lexer}}
\doxysubsubsection{\texorpdfstring{$\sim$Lexer()}{~Lexer()}}
{\footnotesize\ttfamily Lexer\+::$\sim$\+Lexer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_lexer_a8f5d1d9281b44e287d7db2ef0c0dff09}\label{class_lexer_a8f5d1d9281b44e287d7db2ef0c0dff09}} 
\index{Lexer@{Lexer}!assign\_parent\_location@{assign\_parent\_location}}
\index{assign\_parent\_location@{assign\_parent\_location}!Lexer@{Lexer}}
\doxysubsubsection{\texorpdfstring{assign\_parent\_location()}{assign\_parent\_location()}}
{\footnotesize\ttfamily void Lexer\+::assign\+\_\+parent\+\_\+location (\begin{DoxyParamCaption}\item[{std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{class_lexer}{Lexer}} $>$ \&}]{lexer,  }\item[{const std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{struct_location}{Location}} $>$ \&}]{loc }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}

\mbox{\Hypertarget{class_lexer_ac53b63f829071be755cc785084126afe}\label{class_lexer_ac53b63f829071be755cc785084126afe}} 
\index{Lexer@{Lexer}!lex@{lex}}
\index{lex@{lex}!Lexer@{Lexer}}
\doxysubsubsection{\texorpdfstring{lex()}{lex()}}
{\footnotesize\ttfamily \mbox{\hyperlink{_lexer_8h_a43f892d4a347a32f8602cfbcff2e237e}{Token\+Stream}} Lexer\+::lex (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{text }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_lexer_a6d24d823847b6d5f7e497d78f5b612d4}\label{class_lexer_a6d24d823847b6d5f7e497d78f5b612d4}} 
\index{Lexer@{Lexer}!make\_lexer@{make\_lexer}}
\index{make\_lexer@{make\_lexer}!Lexer@{Lexer}}
\doxysubsubsection{\texorpdfstring{make\_lexer()}{make\_lexer()}}
{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{class_lexer}{Lexer}} $>$ Lexer\+::make\+\_\+lexer (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{fname }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{class_lexer_a8956f4484cb2a477bea5d09e96ea6c8d}\label{class_lexer_a8956f4484cb2a477bea5d09e96ea6c8d}} 
\index{Lexer@{Lexer}!types@{types}}
\index{types@{types}!Lexer@{Lexer}}
\doxysubsubsection{\texorpdfstring{types}{types}}
{\footnotesize\ttfamily const std\+::array$<$ std\+::string, \mbox{\hyperlink{_lexer_8h_a5aa140c2c2e64a57331d450a98077834}{TYPE\+\_\+\+COUNT}} $>$ Lexer\+::types\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{\textcolor{stringliteral}{"{}void"{}}, \textcolor{stringliteral}{"{}bool"{}}, \textcolor{stringliteral}{"{}str"{}}, \textcolor{stringliteral}{"{}i8"{}},  \textcolor{stringliteral}{"{}i16"{}}, \textcolor{stringliteral}{"{}i32"{}}, \textcolor{stringliteral}{"{}i64"{}},}
\DoxyCodeLine{                                                          \textcolor{stringliteral}{"{}u8"{}},   \textcolor{stringliteral}{"{}u16"{}},  \textcolor{stringliteral}{"{}u32"{}}, \textcolor{stringliteral}{"{}u64"{}}, \textcolor{stringliteral}{"{}f32"{}}, \textcolor{stringliteral}{"{}f64"{}}, \textcolor{stringliteral}{"{}f128"{}}\}}

\end{DoxyCode}


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
src/\mbox{\hyperlink{_lexer_8h}{Lexer.\+h}}\item 
src/\mbox{\hyperlink{_lexer_8cpp}{Lexer.\+cpp}}\end{DoxyCompactItemize}
