Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

GenCaseFoldingCompare.cpp File Reference

#include "String.hpp"
#include "Array.hpp"
#include "StringStream.hpp"
#include "UTF8Utils.hpp"
#include <fstream>
#include <cctype>
#include <algorithm>
#include <vector>
#include <iostream>
#include <cassert>
#include <map>
#include <set>

Include dependency graph for GenCaseFoldingCompare.cpp:

Go to the source code of this file.

Classes

class  StateMachine
struct  StateMachine::transition_t
struct  StateMachine::state_t
struct  processLine
struct  isForInput

Defines

#define DEBUG(x)   cout << x

Typedefs

typedef std::multimap< String,
String
mmap_t
typedef mmap_t::const_iterator ci_t

Functions

int followOrAddTransition (int curTransition, UInt8 input, int aux)
void printStrings (const String &str1, const String &str2)
void buildTransitions (const String &str1, const String &str2)
void outputHeader ()
void outputTransitions (const StateMachine::state_t &state, int inputSelection, bool outputDefault)
void outputFirstState (const StateMachine::state_t &state)
void outputSwitch (const StateMachine::state_t &state, int inputSelection, bool outputDefault)
void outputCode ()
bool findDuplicateStates (int &state1, int &state2)
void minimizeStateMachine ()
void getEntriesFor (const String &key, set< String > &rval)
bool haveEntry (const String &key, const String &val)
void calculateTransitiveClosure ()
void buildStateMachine ()
int main (int argc, char **argv)

Variables

StateMachine stateMachine
std::multimap< String, StringcaseFoldingEntries


Define Documentation

#define DEBUG  )     cout << x
 

Definition at line 54 of file GenCaseFoldingCompare.cpp.

Referenced by buildTransitions(), calculateTransitiveClosure(), StateMachine::debug(), findDuplicateStates(), followOrAddTransition(), minimizeStateMachine(), processLine::operator()(), and printStrings().


Typedef Documentation

typedef mmap_t::const_iterator ci_t
 

Definition at line 173 of file GenCaseFoldingCompare.cpp.

typedef std::multimap<String, String> mmap_t
 

Definition at line 172 of file GenCaseFoldingCompare.cpp.


Function Documentation

void buildStateMachine  ) 
 

Definition at line 508 of file GenCaseFoldingCompare.cpp.

References buildTransitions(), and caseFoldingEntries.

Referenced by main().

void buildTransitions const String str1,
const String str2
 

Definition at line 219 of file GenCaseFoldingCompare.cpp.

References DEBUG, followOrAddTransition(), BLOCXX_NAMESPACE::String::length(), printStrings(), StateMachine::setStateAccept(), and StateMachine::start.

Referenced by buildStateMachine().

void calculateTransitiveClosure  ) 
 

Definition at line 482 of file GenCaseFoldingCompare.cpp.

References caseFoldingEntries, DEBUG, getEntriesFor(), and haveEntry().

Referenced by main().

bool findDuplicateStates int &  state1,
int &  state2
 

Definition at line 425 of file GenCaseFoldingCompare.cpp.

References DEBUG, i, and StateMachine::m_states.

Referenced by minimizeStateMachine().

int followOrAddTransition int  curTransition,
UInt8  input,
int  aux
 

Definition at line 176 of file GenCaseFoldingCompare.cpp.

References StateMachine::addState(), StateMachine::addTransition(), DEBUG, StateMachine::getStateStr(), StateMachine::getTransition(), and StateMachine::invalid.

Referenced by buildTransitions().

void getEntriesFor const String key,
set< String > &  rval
 

Definition at line 456 of file GenCaseFoldingCompare.cpp.

References caseFoldingEntries.

Referenced by calculateTransitiveClosure().

bool haveEntry const String key,
const String val
 

Definition at line 470 of file GenCaseFoldingCompare.cpp.

References caseFoldingEntries.

Referenced by calculateTransitiveClosure().

int main int  argc,
char **  argv
 

Definition at line 518 of file GenCaseFoldingCompare.cpp.

References BLOCXX_NAMESPACE::Array< T >::begin(), buildStateMachine(), calculateTransitiveClosure(), caseFoldingEntries, BLOCXX_NAMESPACE::Array< T >::end(), i, minimizeStateMachine(), outputCode(), BLOCXX_NAMESPACE::String::tokenize(), and BLOCXX_NAMESPACE::OStringStream::toString().

void minimizeStateMachine  ) 
 

Definition at line 443 of file GenCaseFoldingCompare.cpp.

References DEBUG, findDuplicateStates(), StateMachine::invalid, and StateMachine::removeDuplicateState().

Referenced by main().

void outputCode  ) 
 

Definition at line 346 of file GenCaseFoldingCompare.cpp.

References i, StateMachine::m_states, outputFirstState(), outputHeader(), and outputSwitch().

Referenced by main().

void outputFirstState const StateMachine::state_t state  ) 
 

Definition at line 332 of file GenCaseFoldingCompare.cpp.

References outputTransitions().

Referenced by outputCode().

void outputHeader  ) 
 

Definition at line 280 of file GenCaseFoldingCompare.cpp.

Referenced by outputCode().

void outputSwitch const StateMachine::state_t state,
int  inputSelection,
bool  outputDefault
 

Definition at line 340 of file GenCaseFoldingCompare.cpp.

References outputTransitions().

Referenced by outputCode().

void outputTransitions const StateMachine::state_t state,
int  inputSelection,
bool  outputDefault
 

Definition at line 316 of file GenCaseFoldingCompare.cpp.

References StateMachine::state_t::transitions.

Referenced by outputFirstState(), and outputSwitch().

void printStrings const String str1,
const String str2
 

Definition at line 203 of file GenCaseFoldingCompare.cpp.

References DEBUG, i, and BLOCXX_NAMESPACE::String::length().

Referenced by buildTransitions(), and main().


Variable Documentation

std::multimap<String, String> caseFoldingEntries
 

Definition at line 174 of file GenCaseFoldingCompare.cpp.

Referenced by buildStateMachine(), calculateTransitiveClosure(), getEntriesFor(), haveEntry(), main(), and processLine::operator()().

StateMachine stateMachine
 

Definition at line 171 of file GenCaseFoldingCompare.cpp.


Generated on Mon Sep 12 23:59:32 2005 for blocxx by  doxygen 1.4.4