Skip to content

Commit 2a798eb

Browse files
committed
Merge branch 'prepost-WIP' into prepost
2 parents 563c6b5 + 404372a commit 2a798eb

File tree

11 files changed

+465
-724
lines changed

11 files changed

+465
-724
lines changed

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ include_directories(${Boost_INCLUDE_DIR})
1717
add_executable(aalwines ${HEADER_FILES} main.cpp model/builders/JuniperBuilder.cpp model/builders/PRexBuilder.cpp
1818
model/Router.cpp model/RoutingTable.cpp model/Query.cpp model/Network.cpp model/filter.cpp model/NetworkPDAFactory.cpp
1919
${BISON_bparser_OUTPUTS} ${FLEX_flexer_OUTPUTS} query/QueryBuilder.cpp
20-
pdaaal/model/PDA.cpp pdaaal/engine/Moped.cpp pdaaal/engine/UntypedPAutomaton.cpp
20+
pdaaal/model/PDA.cpp pdaaal/engine/Moped.cpp pdaaal/engine/PAutomaton.cpp
2121
utils/parsing.cpp utils/system.cpp)
2222
add_dependencies(aalwines ptrie-ext rapidxml-ext)
2323
target_link_libraries(aalwines PRIVATE ${Boost_LIBRARIES})

src/main.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@
3434
#include "query/parsererrors.h"
3535
#include "pdaaal/model/PDAFactory.h"
3636
#include "pdaaal/engine/Moped.h"
37-
#include "pdaaal/engine/PostStar.h"
38-
#include "pdaaal/engine/PreStar.h"
37+
#include "pdaaal/engine/Solver.h"
3938

4039
#include "utils/stopwatch.h"
4140
#include "utils/outcome.h"
@@ -246,8 +245,7 @@ int main(int argc, const char** argv)
246245
std::cout << "\t\"answers\":{\n";
247246
}
248247
Moped moped;
249-
PostStar post_star;
250-
PreStar pre_star;
248+
Solver solver;
251249

252250
for(auto& q : builder._result)
253251
{
@@ -286,6 +284,7 @@ int main(int argc, const char** argv)
286284
verification_time.start();
287285
bool engine_outcome;
288286
bool need_trace = was_dual || get_trace;
287+
Solver::res_type solver_result;
289288
switch(engine)
290289
{
291290
case 1:
@@ -299,21 +298,23 @@ int main(int argc, const char** argv)
299298
}
300299
break;
301300
case 2:
302-
engine_outcome = post_star.verify(pda, need_trace);
301+
solver_result = solver.post_star(pda, need_trace);
302+
engine_outcome = solver_result.first;
303303
verification_time.stop();
304304
if(need_trace && engine_outcome)
305305
{
306-
trace = post_star.get_trace(pda);
306+
trace = solver.get_trace(pda, std::move(solver_result.second));
307307
if(factory->write_json_trace(proof, trace))
308308
result = utils::YES;
309309
}
310310
break;
311311
case 3:
312-
engine_outcome = pre_star.verify(pda, need_trace);
312+
solver_result = solver.pre_star(pda, need_trace);
313+
engine_outcome = solver_result.first;
313314
verification_time.stop();
314315
if(need_trace && engine_outcome)
315316
{
316-
trace = pre_star.get_trace(pda);
317+
trace = solver.get_trace(pda, std::move(solver_result.second));
317318
if(factory->write_json_trace(proof, trace))
318319
result = utils::YES;
319320
}

src/model/Network.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@ namespace aalwines
358358
for(auto& r : _routers)
359359
{
360360
if(r->is_null()) continue;
361+
if(r->interfaces().empty()) continue;
361362
s << " <router name=\"" << r->name() << "\">\n";
362363
s << " <interfaces>\n";
363364
for(auto& inf : r->interfaces())

src/model/Query.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ namespace aalwines {
5252
uint8_t _mask = 0;
5353
uint64_t _value = 0;
5454
public:
55-
friend class ptrie::byte_iterator<label_t>;
55+
friend struct ptrie::byte_iterator<label_t>;
5656
label_t()
5757
{
5858
_type = NONE;
Lines changed: 67 additions & 143 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)