|
Boost : |
From: Larry Evans (cppljevans_at_[hidden])
Date: 2004-05-28 10:35:14
On 05/27/2004 08:04 PM, Joel de Guzman wrote:
> Eric Niebler wrote:
[snip]
> and, yes, stored_rule(s) use shared_ptr. So, again, be wary of cycles.
> I was so eager when Lary Evans hinted at a shared_ptr implementatiion
> with GC. I'm still so eager!
I'm having problems with it. I could upload the files to sandbox;
however, I don't think anybody would be eager to debug it.
My reply to a private email from Eric contained:
> Well, after I read the recent mention of this problem, I started
> going back to work on managed_ptr which is Held's policy_ptr with
> cycle collection. Unfortunately, I'm having problems:
> <-----------------
> cd /home/evansl/prog_dev/boost-root.ln/development/libs/managed_ptr/test/
> make run
> /opt/intel_cc_80/bin/icc -c -MMD -g -I/home/evansl/prog_dev/boost-root.ln/development -I/home/evansl/prog_dev/boost-root.ln smart_ptr_test.cpp
>
> ...
> ===>Enter:<refcycle_counted_node_scalar_type>::refcycle_enum_children_test
> +owner::CTOR(void):overhead=0
> ===>Enter:sp_parent=i.as_basis_source()
> make: *** [run] Interrupt
>>-------------------
> I
I'm also working on the deterministic parser. I also described in that
reply to Eric the use of a symbol class:
class
exp_tree::
symbol
//Purpose:
// Represents "symbols", i.e.
// inputs and variables.
: public exp_tree::top
{
public:
typedef
unsigned
id_type
;
symbol(id_type a_id)
: my_id(a_id)
{}
...
};
to represent occurences of inputs(terminals) and variables
(non-terminals). The my_id serves as an index into a std:vector
of right-hand-sides for the variables and as argument to
bitset<NumInputs>::test in the case of inputs to test whether
the next input from the lexer belongs to the "direction set"
for a variable. Currently I'm trying to solve for the
first and follow sets which are used to determine the
direction set.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk