Content-Based Networking Simulation Library Documentation (v. 1.2.1) |
Class to parse a workload created by cbnwlgen
.
More...
#include <WorkloadParser.h>
Public Types | |
enum | TOK { AMP, BOOL, COMMA, DOUBLE, END, ID, INTEGER, LINK, NODE, OP, PIPE, SEMICOLON, SIM_LENGTH, STRING, TIME_UNIT, TOK_COUNT } |
Public Member Functions | |
void | add (WorkloadEventParser *ep) |
void | advance () throw ( parse_exception ) |
void | eat (TOK tok) throw ( parse_exception ) |
bool | eat_bool () throw ( parse_exception ) |
std::string | eat_id () throw ( parse_exception ) |
int | eat_integer () throw ( parse_exception ) |
double | eat_double () throw ( parse_exception ) |
siena::operator_id | eat_op () throw ( parse_exception ) |
std::string | eat_string () throw ( parse_exception ) |
const std::set< std::pair < unsigned int, unsigned int > > & | get_links () const |
unsigned int | get_link_weight (unsigned int from, unsigned int to) const |
unsigned int | get_node_count () const |
unsigned int | get_node_x (unsigned int id) const |
unsigned int | get_node_y (unsigned int id) const |
unsigned int | get_sim_length () const |
double | get_time_unit () const |
bool | isbool () const |
bool | isdouble () const |
bool | isid () const |
bool | isinteger () const |
bool | isop () const |
bool | isstring () const |
unsigned int | get_link_count () const |
const WorkloadEvent * | next_event () throw ( parse_exception ) |
void | parse_topology () throw ( parse_exception ) |
void | set_istream (std::istream &in) |
TOK | tok () |
const std::string & | val () |
Class to parse a workload created by cbnwlgen
.
This is implemented as a simple recursive-descent parser which makes it amenable to doing an inline parse.
Copyright © 2001-2004 University of Colorado.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". This documentation is authored and maintained by Matthew J. Rutherford |