montepy.input_parser.syntax_node.ClassifierNode#

class montepy.input_parser.syntax_node.ClassifierNode#

Bases: SyntaxNodeBase

A node to represent the classifier for a montepy.data_input.DataInput

e.g., represents M4, F104:n,p, IMP:n,e.

Methods:

_delete_trailing_comment()

Deletes the trailing comment if any.

_grab_beginning_comment(extra_padding)

Consumes the provided comment, and moves it to the beginning of this node.

append(node)

Append the node to this node.

check_for_graveyard_comments([...])

Checks if there is a graveyard comment that is preventing information from being part of the tree, and handles them.

flatten()

Flattens this tree structure into a list of leaves.

format()

Generate a string representing the tree's current state.

get_trailing_comment()

Get the trailing c style comments if any.

Attributes:

comments

A generator of all comments contained in this tree.

modifier

The modifier for this classifier if any.

name

The name for the node.

nodes

The children nodes of this node.

number

The number if any for the classifier.

padding

The padding for this classifier.

particles

The particles if any tied to this classifier.

prefix

The prefix for the classifier.

_delete_trailing_comment()#

Deletes the trailing comment if any.

_grab_beginning_comment(extra_padding)#

Consumes the provided comment, and moves it to the beginning of this node.

Parameters:

extra_padding (list) – the padding comment to add to the beginning of this padding.

append(node)#

Append the node to this node.

Parameters:

node (SyntaxNodeBase, str, None) – node

check_for_graveyard_comments(has_following_input=False)#

Checks if there is a graveyard comment that is preventing information from being part of the tree, and handles them.

A graveyard comment is one that accidentally suppresses important information in the syntax tree.

For example:

imp:n=1 $ grave yard Vol=1

Should be:

imp:n=1 $ grave yard
Vol=1

These graveyards are handled by appending a new line, and the required number of continue spaces to the comment.

Added in version 0.4.0.

Parameters:

has_following_input (bool) – Whether there is another input (cell modifier) after this tree that should be continued.

Return type:

None

flatten()#

Flattens this tree structure into a list of leaves.

Added in version 0.4.0.

Returns:

a list of ValueNode and PaddingNode objects from this tree.

Return type:

list

format()#

Generate a string representing the tree’s current state.

Returns:

the MCNP representation of the tree’s current state.

Return type:

str

get_trailing_comment()#

Get the trailing c style comments if any.

Returns:

The trailing comments of this tree.

Return type:

list

property comments#

A generator of all comments contained in this tree.

Returns:

the comments in the tree.

Return type:

Generator

property modifier#

The modifier for this classifier if any.

A modifier is a prefix character that changes the inputs behavior, e.g.: * or +.

Returns:

the modifier

Return type:

ValueNode

property name#

The name for the node.

Returns:

the node’s name.

Return type:

str

property nodes#

The children nodes of this node.

Returns:

a list of the nodes.

Return type:

list

property number#

The number if any for the classifier.

Returns:

the number holder for this classifier.

Return type:

ValueNode

property padding#

The padding for this classifier.

Note

None of the ValueNodes in this object should have padding.

Returns:

the padding after the classifier.

Return type:

PaddingNode

property particles#

The particles if any tied to this classifier.

Returns:

the particles used.

Return type:

ParticleNode

property prefix#

The prefix for the classifier.

That is the string that tells what type of input this is.

E.g.: M in M4 or IMP in IMP:n.

Returns:

the prefix

Return type:

ValueNode