Skip to content

Commit

Permalink
use of boost spirit instead of flex
Browse files Browse the repository at this point in the history
  • Loading branch information
jose-rZM committed Jan 5, 2025
1 parent 6e6522f commit 8a8405a
Show file tree
Hide file tree
Showing 47 changed files with 1,039 additions and 619 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CXX = g++
CXXFLAGS = -std=c++20 -O3
BOOST_LIB_DIR ?= .
LIBS = -L$(BOOST_LIB_DIR) -lboost_system -lboost_filesystem
LIBS = -L$(BOOST_LIB_DIR)
SRC_DIR = src
HPP_DIR = include
OBJ_DIR = out
Expand Down
6 changes: 4 additions & 2 deletions docs/html/annotated.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,12 @@
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<table class="directory">
<div class="levels">[detail level <span onclick="javascript:dynsection.toggleLevel(1);">1</span><span onclick="javascript:dynsection.toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structgrammar.html" target="_self">grammar</a></td><td class="desc"></td></tr>
<tr id="row_1_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classGrammarError.html" target="_self">GrammarError</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlexer.html" target="_self">lexer</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="dynsection.toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classlexer.html" target="_self">lexer</a></td><td class="desc"></td></tr>
<tr id="row_2_0_" class="odd"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlexer_1_1add.html" target="_self">add</a></td><td class="desc">Functor for adding tokens to the token list during tokenization </td></tr>
<tr id="row_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structlexer_1_1parse__input.html" target="_self">parse_input</a></td><td class="desc">Lexer functor for defining tokenization rules using Boost Spirit Lex </td></tr>
<tr id="row_3_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classLexerError.html" target="_self">LexerError</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classLL1Parser.html" target="_self">LL1Parser</a></td><td class="desc"></td></tr>
<tr id="row_5_" class="odd"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structsymbol__table.html" target="_self">symbol_table</a></td><td class="desc"></td></tr>
Expand Down
10 changes: 8 additions & 2 deletions docs/html/classes.html
Original file line number Diff line number Diff line change
Expand Up @@ -75,14 +75,20 @@
<div class="headertitle"><div class="title">Class Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a></div>
<div class="qindex"><a class="qindex" href="#letter_A">A</a>&#160;|&#160;<a class="qindex" href="#letter_G">G</a>&#160;|&#160;<a class="qindex" href="#letter_L">L</a>&#160;|&#160;<a class="qindex" href="#letter_P">P</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_A" name="letter_A">A</a></dt>
<dd><a class="el" href="structlexer_1_1add.html">lexer::add</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_G" name="letter_G">G</a></dt>
<dd><a class="el" href="structgrammar.html">grammar</a></dd><dd><a class="el" href="classGrammarError.html">GrammarError</a></dd></dl>
<dl class="classindex odd">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_L" name="letter_L">L</a></dt>
<dd><a class="el" href="classlexer.html">lexer</a></dd><dd><a class="el" href="classLexerError.html">LexerError</a></dd><dd><a class="el" href="classLL1Parser.html">LL1Parser</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_P" name="letter_P">P</a></dt>
<dd><a class="el" href="structlexer_1_1parse__input.html">lexer::parse_input</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
<dd><a class="el" href="structsymbol__table.html">symbol_table</a></dd></dl>
Expand Down
15 changes: 3 additions & 12 deletions docs/html/classlexer-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -78,21 +78,12 @@

<p>This is the complete list of members for <a class="el" href="classlexer.html">lexer</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>c_file_path_</b> (defined in <a class="el" href="classlexer.html">lexer</a>)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classlexer.html#a402a51fab7d9e42f4eac91830ca033de">cleanup</a>() const</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classlexer.html#a5b3e68f82c3b249115d5ac4c4307e669">compile</a>() const</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classlexer.html#ad66d20383f014d678314335bcf04dedc">create_temp_files</a>()</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>current_</b> (defined in <a class="el" href="classlexer.html">lexer</a>)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>filename_</b> (defined in <a class="el" href="classlexer.html">lexer</a>)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>lex_file_path_</b> (defined in <a class="el" href="classlexer.html">lexer</a>)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classlexer.html#ae2720ff7c4dde918a3637b26c4493d56">lexer</a>(std::string filename)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classlexer.html#a226db4396e781e3c078641aeca67900d">make_lexer</a>() const</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classlexer.html#ae2720ff7c4dde918a3637b26c4493d56">lexer</a>(std::string filename)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classlexer.html#a8d5f23f1f5ff3ebdf46d1909f8c42be2">next</a>()</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>o_file_path_</b> (defined in <a class="el" href="classlexer.html">lexer</a>)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>so_file_path_</b> (defined in <a class="el" href="classlexer.html">lexer</a>)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>temp_dir_</b> (defined in <a class="el" href="classlexer.html">lexer</a>)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classlexer.html#a6f83d4c72f91f5ca96f24d24e2c82f11">tokenize</a>()</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>tokens_</b> (defined in <a class="el" href="classlexer.html">lexer</a>)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classlexer.html#a6f83d4c72f91f5ca96f24d24e2c82f11">tokenize</a>()</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>tokens_</b> (defined in <a class="el" href="classlexer.html">lexer</a>)</td><td class="entry"><a class="el" href="classlexer.html">lexer</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Expand Down
Loading

0 comments on commit 8a8405a

Please sign in to comment.