/usr/include/freehdl/kernel-name-stack.hh is in libfreehdl0-dev 0.0.8-2.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 | #ifndef FREEHDL_KERNEL_NAME_STACK_H
#define FREEHDL_KERNEL_NAME_STACK_H
#include <string>
using namespace std;
#define NAME_STACK_INCREMENT 10
// Class used to store and maintain VHDL instance names
class name_stack {
string **stack;
int stack_pointer;
int size;
string buffer;
void set_stack_element(int i, const string str);
public:
name_stack();
~name_stack();
// Pushes a string at the top of the name stack
name_stack &push(const string str="");
// Pushes a string representation of i (enclosed in
// "()") on top of the name stack
name_stack &push(const int i);
// Removes top entry of the name stack
name_stack &pop();
// Replaces current top entry with str
name_stack &set(const string str);
// Replaces cuurent top entry with a string representation
// of i (enclosed in "()")
name_stack &set(const int i);
// Returns a string which is constructed by appending all
// stack entries
string &get_name();
// Returns the top stack elemement as a string
string &get_top();
};
// The name stack instance used to construct VHDL instance names
extern name_stack instance_name;
#endif
|