Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

atomparser_node Struct Reference

Each node of the parse tree contains all data needed for that description. More...

#include <AtomParser.h>

List of all members.

Public Methods

 atomparser_node (int nnode_t, int nextra_t=-1)
 constructor. More...

 ~atomparser_node (void)
 destructor XXX The original recursive implementation will fail on massive selection strings, e.g. a list of 500,000 residue names can blow the stack: for { set i 0 } { $i < 500000 } { incr i } { lappend long $i } atomselect macro huge "index $long". More...


Public Attributes

int node_type
 these are token types, e.g. 'AND', 'WITHIN', defined in AtomParser.y/y.tab.h. More...

int extra_type
 for weird things like distinguishing 'index 5 to 7' from 'index 5 7'. More...

double dval
 floating point value (if any). More...

int ival
 integer value (if any). More...

atomparser_string sele
 if this is a string, what kind of string? More...

atomparser_node * left
 link to left branch of parse tree. More...

atomparser_node * right
 link to right branch of parse tree. More...


Detailed Description

Each node of the parse tree contains all data needed for that description.

Definition at line 40 of file AtomParser.h.


Constructor & Destructor Documentation

atomparser_node::atomparser_node int    nnode_t,
int    nextra_t = -1
[inline]
 

constructor.

Definition at line 52 of file AtomParser.h.

References extra_type, node_type, and NULL.

atomparser_node::~atomparser_node void    [inline]
 

destructor XXX The original recursive implementation will fail on massive selection strings, e.g. a list of 500,000 residue names can blow the stack: for { set i 0 } { $i < 500000 } { incr i } { lappend long $i } atomselect macro huge "index $long".

Definition at line 70 of file AtomParser.h.

References NULL.


Member Data Documentation

double atomparser_node::dval
 

floating point value (if any).

Definition at line 45 of file AtomParser.h.

Referenced by yyparse.

int atomparser_node::extra_type
 

for weird things like distinguishing 'index 5 to 7' from 'index 5 7'.

Definition at line 43 of file AtomParser.h.

Referenced by atomparser_node.

int atomparser_node::ival
 

integer value (if any).

Definition at line 46 of file AtomParser.h.

Referenced by yyparse.

atomparser_node* atomparser_node::left
 

link to left branch of parse tree.

Definition at line 48 of file AtomParser.h.

Referenced by yyparse.

int atomparser_node::node_type
 

these are token types, e.g. 'AND', 'WITHIN', defined in AtomParser.y/y.tab.h.

Definition at line 41 of file AtomParser.h.

Referenced by atomparser_node, and yyparse.

atomparser_node* atomparser_node::right
 

link to right branch of parse tree.

Definition at line 49 of file AtomParser.h.

Referenced by yyparse.

atomparser_string atomparser_node::sele
 

if this is a string, what kind of string?

Definition at line 47 of file AtomParser.h.


The documentation for this struct was generated from the following file:
Generated on Thu Mar 28 02:45:01 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002