/usr/include/lttoolbox-3.1/lttoolbox/entry_token.h is in liblttoolbox3-3.1-0-dev 3.1.0-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 | /*
* Copyright (C) 2005 Universitat d'Alacant / Universidad de Alicante
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#ifndef _ENTRYTOKEN_
#define _ENTRYTOKEN_
#include <list>
#include <string>
using namespace std;
/**
* This is a "Compiler" helper class, to store the parts of each entry
* before combining it to build the transducer being "compiled".
*/
class EntryToken
{
/**
* Type of tokens, inner enum.
*/
enum Type {paradigm, single_transduction, regexp};
private:
/**
* Type of this token
*/
Type type;
/**
* Name of the paradigm (if it is of 'paradigm' 'type')
*/
wstring parName;
/**
* Left side of transduction (if 'single_transduction')
*/
list<int> leftSide;
/**
* Right side of transduction (if 'single_transduction')
*/
list<int> rightSide;
/**
* Regular expression (if 'regexp')
*/
wstring myregexp;
/**
* copy method
*/
void copy(EntryToken const &e);
/**
* destroy method
*/
void destroy();
public:
/**
* Non-parametric constructor
*/
EntryToken();
/**
* Destructor
*/
~EntryToken();
/**
* Copy constructor
*/
EntryToken(EntryToken const &e);
/**
* Operator assignment
*/
EntryToken & operator = (EntryToken const &e);
/**
* Sets the name of the paradigm.
* @param np the paradigm name
*/
void setParadigm(wstring const &np);
/**
* Set both parts of a single transduction.
* @param pi left part
* @param pd right part
*/
void setSingleTransduction(list<int> const &pi, list<int> const &pd);
/**
* Set regular expression.
* @param r the regular expression specification.
*/
void setRegexp(wstring const &r);
/**
* eTest EntryToken to detect if is a paradigm.
* @return true if it is a paradigm.
*/
bool isParadigm() const;
/**
* Test EntryToken to check if it is a single transduction.
* @return true if it is a single transduction.
*/
bool isSingleTransduction() const;
/**
* Test EntryToken to check if it is a single regular expression.
* @return true if it is a regular expression.
*/
bool isRegexp() const;
/**
* Retrieve the name of the paradigm.
* @return the name of the paradigm.
*/
wstring const & paradigmName() const;
/**
* Retrieve the left part of the paradigm.
* @return the left part of the paradigm.
*/
list<int> const & left() const;
/**
* Retrieve the right part of the paradigm.
* @return the right part of the paradigm.
*/
list<int> const & right() const;
/**
* Retrieve the regular expression specification.
* @return the regular expression specification.
*/
wstring const & regExp() const;
};
#endif
|