montepy.input_parser.syntax_node.CommentNode#

class montepy.input_parser.syntax_node.CommentNode(input)#

Bases: SyntaxNodeBase

Object to represent a comment in an MCNP problem.

Parameters:

input (Token) – the token from the lexer

Methods:

_convert_to_node(token)

Converts the token to a Syntax Node to store.

_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(token)

Append the comment token 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.

contents

The contents of the comments without delimiters (i.e., $/C).

is_dollar

Whether or not this CommentNode is a dollar sign ($) comment.

name

The name for the node.

nodes

The children nodes of this node.

_convert_to_node(token)#

Converts the token to a Syntax Node to store.

Parameters:

token (str) – the token to convert.

Returns:

the SyntaxNode of the Comment.

Return type:

SyntaxNode

_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(token)#

Append the comment token to this node.

Parameters:

token (str) – the comment token

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 contents#

The contents of the comments without delimiters (i.e., $/C).

Returns:

String of the contents

Return type:

str

property is_dollar#

Whether or not this CommentNode is a dollar sign ($) comment.

Returns:

True iff this is a dollar sign comment.

Return type:

bool

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