662 lines
48 KiB
HTML
662 lines
48 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.13.2"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>musrfit: musrfit::grammar Namespace Reference</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<script type="text/javascript" src="clipboard.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="cookie.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">musrfit<span id="projectnumber"> 1.10.0</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.13.2 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() { codefold.init(0); });
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',false,false,'search.php','Search',true);
|
|
});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function(){initNavTree('namespacemusrfit_1_1grammar.html',''); initResizable(true); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#nested-classes">Classes</a> |
|
|
<a href="#var-members">Variables</a> </div>
|
|
<div class="headertitle"><div class="title">musrfit::grammar Namespace Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Boost.Spirit X3 grammar definitions for parsing function expressions.
|
|
<a href="#details">More...</a></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structmusrfit_1_1grammar_1_1additive__op__.html">additive_op_</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Symbol table for additive operators (+ and -). <a href="structmusrfit_1_1grammar_1_1additive__op__.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structmusrfit_1_1grammar_1_1const__tok__.html">const_tok_</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Symbol table for named constants. <a href="structmusrfit_1_1grammar_1_1const__tok__.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structmusrfit_1_1grammar_1_1fun__tok__.html">fun_tok_</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Symbol table for mathematical function names. <a href="structmusrfit_1_1grammar_1_1fun__tok__.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structmusrfit_1_1grammar_1_1multiplicative__op__.html">multiplicative_op_</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Symbol table for multiplicative operators (* and /). <a href="structmusrfit_1_1grammar_1_1multiplicative__op__.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
|
|
Variables</h2></td></tr>
|
|
<tr class="memitem:a6ec98dadb7ff29a012855d37fb2c052c" id="r_a6ec98dadb7ff29a012855d37fb2c052c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmusrfit_1_1grammar_1_1additive__op__.html">additive_op_</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6ec98dadb7ff29a012855d37fb2c052c">additive_op</a></td></tr>
|
|
<tr class="memdesc:a6ec98dadb7ff29a012855d37fb2c052c"><td class="mdescLeft"> </td><td class="mdescRight">Global instance of additive operator symbol table. <br /></td></tr>
|
|
<tr class="separator:a6ec98dadb7ff29a012855d37fb2c052c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a128eaba4dd8ec7d0ef390706612402e7" id="r_a128eaba4dd8ec7d0ef390706612402e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmusrfit_1_1grammar_1_1multiplicative__op__.html">multiplicative_op_</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a128eaba4dd8ec7d0ef390706612402e7">multiplicative_op</a></td></tr>
|
|
<tr class="memdesc:a128eaba4dd8ec7d0ef390706612402e7"><td class="mdescLeft"> </td><td class="mdescRight">Global instance of multiplicative operator symbol table. <br /></td></tr>
|
|
<tr class="separator:a128eaba4dd8ec7d0ef390706612402e7"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a10c2b5e23b1eec8be38882f7bfceab99" id="r_a10c2b5e23b1eec8be38882f7bfceab99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmusrfit_1_1grammar_1_1fun__tok__.html">fun_tok_</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#a10c2b5e23b1eec8be38882f7bfceab99">fun_tok</a></td></tr>
|
|
<tr class="memdesc:a10c2b5e23b1eec8be38882f7bfceab99"><td class="mdescLeft"> </td><td class="mdescRight">Global instance of function name symbol table. <br /></td></tr>
|
|
<tr class="separator:a10c2b5e23b1eec8be38882f7bfceab99"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:add09a0dc76b217ce5ef743c5f287f663" id="r_add09a0dc76b217ce5ef743c5f287f663"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structmusrfit_1_1grammar_1_1const__tok__.html">const_tok_</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="#add09a0dc76b217ce5ef743c5f287f663">const_tok</a></td></tr>
|
|
<tr class="memdesc:add09a0dc76b217ce5ef743c5f287f663"><td class="mdescLeft"> </td><td class="mdescRight">Global instance of constant name symbol table. <br /></td></tr>
|
|
<tr class="separator:add09a0dc76b217ce5ef743c5f287f663"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a73dc56e5176492df440c5b8aaaa943b4" id="r_a73dc56e5176492df440c5b8aaaa943b4"><td class="memItemLeft" align="right" valign="top">x3::rule< class assignment, ast::assignment > const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a73dc56e5176492df440c5b8aaaa943b4">assignment</a> = "assignment"</td></tr>
|
|
<tr class="memdesc:a73dc56e5176492df440c5b8aaaa943b4"><td class="mdescLeft"> </td><td class="mdescRight">Top-level rule: FUN# = expression. <br /></td></tr>
|
|
<tr class="separator:a73dc56e5176492df440c5b8aaaa943b4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ad05a136058c97109382fd1eb12cb754f" id="r_ad05a136058c97109382fd1eb12cb754f"><td class="memItemLeft" align="right" valign="top">x3::rule< class expression, ast::expression > const </td><td class="memItemRight" valign="bottom"><a class="el" href="#ad05a136058c97109382fd1eb12cb754f">expression</a> = "expression"</td></tr>
|
|
<tr class="memdesc:ad05a136058c97109382fd1eb12cb754f"><td class="mdescLeft"> </td><td class="mdescRight">Expression with addition/subtraction (lowest precedence) <br /></td></tr>
|
|
<tr class="separator:ad05a136058c97109382fd1eb12cb754f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a484e24dd215d6a820da00af12a6f716f" id="r_a484e24dd215d6a820da00af12a6f716f"><td class="memItemLeft" align="right" valign="top">x3::rule< class term, ast::expression > const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a484e24dd215d6a820da00af12a6f716f">term</a> = "term"</td></tr>
|
|
<tr class="memdesc:a484e24dd215d6a820da00af12a6f716f"><td class="mdescLeft"> </td><td class="mdescRight">Term with multiplication/division (higher precedence) <br /></td></tr>
|
|
<tr class="separator:a484e24dd215d6a820da00af12a6f716f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abd6867450459ac38a7cc9fe49e631d7f" id="r_abd6867450459ac38a7cc9fe49e631d7f"><td class="memItemLeft" align="right" valign="top">x3::rule< class factor, ast::operand > const </td><td class="memItemRight" valign="bottom"><a class="el" href="#abd6867450459ac38a7cc9fe49e631d7f">factor</a> = "factor"</td></tr>
|
|
<tr class="memdesc:abd6867450459ac38a7cc9fe49e631d7f"><td class="mdescLeft"> </td><td class="mdescRight">Factor: literal, constant, parameter, function, or parenthesized expression (highest precedence) <br /></td></tr>
|
|
<tr class="separator:abd6867450459ac38a7cc9fe49e631d7f"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:abe5e4701b1f4dab1309a32d898dbb2db" id="r_abe5e4701b1f4dab1309a32d898dbb2db"><td class="memItemLeft" align="right" valign="top">x3::rule< class constant, ast::constant > const </td><td class="memItemRight" valign="bottom"><a class="el" href="#abe5e4701b1f4dab1309a32d898dbb2db">constant</a> = "constant"</td></tr>
|
|
<tr class="memdesc:abe5e4701b1f4dab1309a32d898dbb2db"><td class="mdescLeft"> </td><td class="mdescRight">Constant: PI, GAMMA_MU, B, EN, or T#. <br /></td></tr>
|
|
<tr class="separator:abe5e4701b1f4dab1309a32d898dbb2db"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3868a98f843039e101720b05986ae7f8" id="r_a3868a98f843039e101720b05986ae7f8"><td class="memItemLeft" align="right" valign="top">x3::rule< class parameter, ast::parameter > const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3868a98f843039e101720b05986ae7f8">parameter</a> = "parameter"</td></tr>
|
|
<tr class="memdesc:a3868a98f843039e101720b05986ae7f8"><td class="mdescLeft"> </td><td class="mdescRight">Parameter reference: PAR# or -PAR#. <br /></td></tr>
|
|
<tr class="separator:a3868a98f843039e101720b05986ae7f8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a724dff9af4b292b88699e1ca713c3715" id="r_a724dff9af4b292b88699e1ca713c3715"><td class="memItemLeft" align="right" valign="top">x3::rule< class map_ref, ast::map_ref > const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a724dff9af4b292b88699e1ca713c3715">map</a> = "map"</td></tr>
|
|
<tr class="memdesc:a724dff9af4b292b88699e1ca713c3715"><td class="mdescLeft"> </td><td class="mdescRight">Map reference: MAP# or -MAP#. <br /></td></tr>
|
|
<tr class="separator:a724dff9af4b292b88699e1ca713c3715"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a52474f586db8a544fceb42ef27dacd19" id="r_a52474f586db8a544fceb42ef27dacd19"><td class="memItemLeft" align="right" valign="top">x3::rule< class function_call, ast::function_call > const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a52474f586db8a544fceb42ef27dacd19">function</a> = "function"</td></tr>
|
|
<tr class="memdesc:a52474f586db8a544fceb42ef27dacd19"><td class="mdescLeft"> </td><td class="mdescRight">Function call: FUNC(expression) <br /></td></tr>
|
|
<tr class="separator:a52474f586db8a544fceb42ef27dacd19"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:af898d0d1af392a246084d962ab4ad5e2" id="r_af898d0d1af392a246084d962ab4ad5e2"><td class="memItemLeft" align="right" valign="top">x3::rule< class power_call, ast::power_call > const </td><td class="memItemRight" valign="bottom"><a class="el" href="#af898d0d1af392a246084d962ab4ad5e2">power</a> = "power"</td></tr>
|
|
<tr class="memdesc:af898d0d1af392a246084d962ab4ad5e2"><td class="mdescLeft"> </td><td class="mdescRight">Power operation: POW(base, exponent) <br /></td></tr>
|
|
<tr class="separator:af898d0d1af392a246084d962ab4ad5e2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a004a9e720e323c4d9fe84f47860012ca" id="r_a004a9e720e323c4d9fe84f47860012ca"><td class="memItemLeft" align="right" valign="top">auto const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a004a9e720e323c4d9fe84f47860012ca">assignment_def</a></td></tr>
|
|
<tr class="memdesc:a004a9e720e323c4d9fe84f47860012ca"><td class="mdescLeft"> </td><td class="mdescRight">Assignment rule: FUN# = expression. <br /></td></tr>
|
|
<tr class="separator:a004a9e720e323c4d9fe84f47860012ca"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3667a52188ff1e1450bdd6fba6ba13d8" id="r_a3667a52188ff1e1450bdd6fba6ba13d8"><td class="memItemLeft" align="right" valign="top">auto const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3667a52188ff1e1450bdd6fba6ba13d8">expression_def</a></td></tr>
|
|
<tr class="memdesc:a3667a52188ff1e1450bdd6fba6ba13d8"><td class="mdescLeft"> </td><td class="mdescRight">Expression rule: term ((+|-) term)*. <br /></td></tr>
|
|
<tr class="separator:a3667a52188ff1e1450bdd6fba6ba13d8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a966d453a3bc18914cbc5c3ea2bc2eaa8" id="r_a966d453a3bc18914cbc5c3ea2bc2eaa8"><td class="memItemLeft" align="right" valign="top">auto const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a966d453a3bc18914cbc5c3ea2bc2eaa8">term_def</a></td></tr>
|
|
<tr class="memdesc:a966d453a3bc18914cbc5c3ea2bc2eaa8"><td class="mdescLeft"> </td><td class="mdescRight">Term rule: factor ((*|/) factor)*. <br /></td></tr>
|
|
<tr class="separator:a966d453a3bc18914cbc5c3ea2bc2eaa8"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5fb19d90f97b08c2567ba3b0d0e466ab" id="r_a5fb19d90f97b08c2567ba3b0d0e466ab"><td class="memItemLeft" align="right" valign="top">auto const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5fb19d90f97b08c2567ba3b0d0e466ab">factor_def</a></td></tr>
|
|
<tr class="memdesc:a5fb19d90f97b08c2567ba3b0d0e466ab"><td class="mdescLeft"> </td><td class="mdescRight">Factor rule: the atomic elements of expressions. <br /></td></tr>
|
|
<tr class="separator:a5fb19d90f97b08c2567ba3b0d0e466ab"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a669d35f59b1f04db285cb21bd96e95c3" id="r_a669d35f59b1f04db285cb21bd96e95c3"><td class="memItemLeft" align="right" valign="top">auto const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a669d35f59b1f04db285cb21bd96e95c3">constant_def</a></td></tr>
|
|
<tr class="memdesc:a669d35f59b1f04db285cb21bd96e95c3"><td class="mdescLeft"> </td><td class="mdescRight">Constant rule: PI | GAMMA_MU | B | -B | EN | -EN | T# | -T#. <br /></td></tr>
|
|
<tr class="separator:a669d35f59b1f04db285cb21bd96e95c3"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a99570603e86376d6e731f13838497963" id="r_a99570603e86376d6e731f13838497963"><td class="memItemLeft" align="right" valign="top">auto const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a99570603e86376d6e731f13838497963">parameter_def</a></td></tr>
|
|
<tr class="memdesc:a99570603e86376d6e731f13838497963"><td class="mdescLeft"> </td><td class="mdescRight">Parameter rule: PAR# | -PAR#. <br /></td></tr>
|
|
<tr class="separator:a99570603e86376d6e731f13838497963"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab2a4a9f75dc4c630b806bf7b83b38d88" id="r_ab2a4a9f75dc4c630b806bf7b83b38d88"><td class="memItemLeft" align="right" valign="top">auto const </td><td class="memItemRight" valign="bottom"><a class="el" href="#ab2a4a9f75dc4c630b806bf7b83b38d88">map_def</a></td></tr>
|
|
<tr class="memdesc:ab2a4a9f75dc4c630b806bf7b83b38d88"><td class="mdescLeft"> </td><td class="mdescRight">Map rule: MAP# | -MAP#. <br /></td></tr>
|
|
<tr class="separator:ab2a4a9f75dc4c630b806bf7b83b38d88"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5c7af99c7b0d207b27fa6d8e00e8d387" id="r_a5c7af99c7b0d207b27fa6d8e00e8d387"><td class="memItemLeft" align="right" valign="top">auto const </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5c7af99c7b0d207b27fa6d8e00e8d387">function_def</a></td></tr>
|
|
<tr class="memdesc:a5c7af99c7b0d207b27fa6d8e00e8d387"><td class="mdescLeft"> </td><td class="mdescRight">Function rule: FUNC(expression) <br /></td></tr>
|
|
<tr class="separator:a5c7af99c7b0d207b27fa6d8e00e8d387"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac6c8cc1dfd8568f925b5c5fed59219d4" id="r_ac6c8cc1dfd8568f925b5c5fed59219d4"><td class="memItemLeft" align="right" valign="top">auto const </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac6c8cc1dfd8568f925b5c5fed59219d4">power_def</a></td></tr>
|
|
<tr class="memdesc:ac6c8cc1dfd8568f925b5c5fed59219d4"><td class="mdescLeft"> </td><td class="mdescRight">Power rule: POW(base, exponent) <br /></td></tr>
|
|
<tr class="separator:ac6c8cc1dfd8568f925b5c5fed59219d4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p>Boost.Spirit X3 grammar definitions for parsing function expressions. </p>
|
|
<p>This namespace contains the complete grammar for parsing msr-file FUNCTION block entries. The grammar supports arithmetic expressions with operator precedence, mathematical functions, constants, and parameter/map references.</p>
|
|
<p>The grammar is header-only for maximum portability and uses X3's modern attribute propagation system to automatically build the AST during parsing. </p>
|
|
</div><h2 class="groupheader">Variable Documentation</h2>
|
|
<a id="a6ec98dadb7ff29a012855d37fb2c052c" name="a6ec98dadb7ff29a012855d37fb2c052c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6ec98dadb7ff29a012855d37fb2c052c">◆ </a></span>additive_op</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structmusrfit_1_1grammar_1_1additive__op__.html">additive_op_</a> musrfit::grammar::additive_op</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Global instance of additive operator symbol table. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00084">84</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a73dc56e5176492df440c5b8aaaa943b4" name="a73dc56e5176492df440c5b8aaaa943b4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a73dc56e5176492df440c5b8aaaa943b4">◆ </a></span>assignment</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">x3::rule<class assignment, ast::assignment> const musrfit::grammar::assignment = "assignment"</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Top-level rule: FUN# = expression. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00156">156</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
<p class="reference">Referenced by <a class="el" href="PFunctionGrammar_8h_source.html#l00322">musrfit::function_grammar()</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a004a9e720e323c4d9fe84f47860012ca" name="a004a9e720e323c4d9fe84f47860012ca"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a004a9e720e323c4d9fe84f47860012ca">◆ </a></span>assignment_def</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto const musrfit::grammar::assignment_def</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
|
|
<div class="line"> lit(<span class="stringliteral">"FUN"</span>) >> int_ >> <span class="charliteral">'='</span> >> <a class="code hl_variable" href="#ad05a136058c97109382fd1eb12cb754f">expression</a></div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_ad05a136058c97109382fd1eb12cb754f"><div class="ttname"><a href="#ad05a136058c97109382fd1eb12cb754f">musrfit::grammar::expression</a></div><div class="ttdeci">x3::rule< class expression, ast::expression > const expression</div><div class="ttdoc">Expression with addition/subtraction (lowest precedence)</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00159">PFunctionGrammar.h:159</a></div></div>
|
|
</div><!-- fragment -->
|
|
<p>Assignment rule: FUN# = expression. </p>
|
|
<p>Parses a function assignment statement, extracting the function number and the expression to evaluate. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00192">192</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="add09a0dc76b217ce5ef743c5f287f663" name="add09a0dc76b217ce5ef743c5f287f663"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#add09a0dc76b217ce5ef743c5f287f663">◆ </a></span>const_tok</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structmusrfit_1_1grammar_1_1const__tok__.html">const_tok_</a> musrfit::grammar::const_tok</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Global instance of constant name symbol table. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00149">149</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abe5e4701b1f4dab1309a32d898dbb2db" name="abe5e4701b1f4dab1309a32d898dbb2db"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abe5e4701b1f4dab1309a32d898dbb2db">◆ </a></span>constant</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">x3::rule<class constant, ast::constant> const musrfit::grammar::constant = "constant"</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Constant: PI, GAMMA_MU, B, EN, or T#. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00168">168</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a669d35f59b1f04db285cb21bd96e95c3" name="a669d35f59b1f04db285cb21bd96e95c3"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a669d35f59b1f04db285cb21bd96e95c3">◆ </a></span>constant_def</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto const musrfit::grammar::constant_def</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
|
|
<div class="line"> (<a class="code hl_variable" href="#add09a0dc76b217ce5ef743c5f287f663">const_tok</a> >> attr(<span class="keyword">false</span>) >> attr(0))</div>
|
|
<div class="line"> | (lit(<span class="stringliteral">"B"</span>) >> attr(ast::constant::field) >> attr(<span class="keyword">false</span>) >> attr(0))</div>
|
|
<div class="line"> | (lit(<span class="stringliteral">"-B"</span>) >> attr(ast::constant::field) >> attr(<span class="keyword">true</span>) >> attr(0))</div>
|
|
<div class="line"> | (lit(<span class="stringliteral">"EN"</span>) >> attr(ast::constant::energy) >> attr(<span class="keyword">false</span>) >> attr(0))</div>
|
|
<div class="line"> | (lit(<span class="stringliteral">"-EN"</span>) >> attr(ast::constant::energy) >> attr(<span class="keyword">true</span>) >> attr(0))</div>
|
|
<div class="line"> | (lit(<span class="charliteral">'T'</span>) >> attr(ast::constant::temp) >> attr(<span class="keyword">false</span>) >> int_)</div>
|
|
<div class="line"> | (lit(<span class="stringliteral">"-T"</span>) >> attr(ast::constant::temp) >> attr(<span class="keyword">true</span>) >> int_)</div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_add09a0dc76b217ce5ef743c5f287f663"><div class="ttname"><a href="#add09a0dc76b217ce5ef743c5f287f663">musrfit::grammar::const_tok</a></div><div class="ttdeci">const_tok_ const_tok</div><div class="ttdoc">Global instance of constant name symbol table.</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00149">PFunctionGrammar.h:149</a></div></div>
|
|
</div><!-- fragment -->
|
|
<p>Constant rule: PI | GAMMA_MU | B | -B | EN | -EN | T# | -T#. </p>
|
|
<p>Parses symbolic constants, optionally with negation. Temperature constants include an index number (T0, T1, T2, etc.). </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00235">235</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ad05a136058c97109382fd1eb12cb754f" name="ad05a136058c97109382fd1eb12cb754f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ad05a136058c97109382fd1eb12cb754f">◆ </a></span>expression</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">x3::rule<class expression, ast::expression> const musrfit::grammar::expression = "expression"</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Expression with addition/subtraction (lowest precedence) </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00159">159</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3667a52188ff1e1450bdd6fba6ba13d8" name="a3667a52188ff1e1450bdd6fba6ba13d8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3667a52188ff1e1450bdd6fba6ba13d8">◆ </a></span>expression_def</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto const musrfit::grammar::expression_def</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
|
|
<div class="line"> <a class="code hl_variable" href="#a484e24dd215d6a820da00af12a6f716f">term</a> >> *(<a class="code hl_variable" href="#a6ec98dadb7ff29a012855d37fb2c052c">additive_op</a> >> <a class="code hl_variable" href="#a484e24dd215d6a820da00af12a6f716f">term</a>)</div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_a484e24dd215d6a820da00af12a6f716f"><div class="ttname"><a href="#a484e24dd215d6a820da00af12a6f716f">musrfit::grammar::term</a></div><div class="ttdeci">x3::rule< class term, ast::expression > const term</div><div class="ttdoc">Term with multiplication/division (higher precedence)</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00162">PFunctionGrammar.h:162</a></div></div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_a6ec98dadb7ff29a012855d37fb2c052c"><div class="ttname"><a href="#a6ec98dadb7ff29a012855d37fb2c052c">musrfit::grammar::additive_op</a></div><div class="ttdeci">additive_op_ additive_op</div><div class="ttdoc">Global instance of additive operator symbol table.</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00084">PFunctionGrammar.h:84</a></div></div>
|
|
</div><!-- fragment -->
|
|
<p>Expression rule: term ((+|-) term)*. </p>
|
|
<p>Handles addition and subtraction with left-associative evaluation. Lower precedence than multiplication/division. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00201">201</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="abd6867450459ac38a7cc9fe49e631d7f" name="abd6867450459ac38a7cc9fe49e631d7f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#abd6867450459ac38a7cc9fe49e631d7f">◆ </a></span>factor</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">x3::rule<class factor, ast::operand> const musrfit::grammar::factor = "factor"</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Factor: literal, constant, parameter, function, or parenthesized expression (highest precedence) </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00165">165</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5fb19d90f97b08c2567ba3b0d0e466ab" name="a5fb19d90f97b08c2567ba3b0d0e466ab"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5fb19d90f97b08c2567ba3b0d0e466ab">◆ </a></span>factor_def</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto const musrfit::grammar::factor_def</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
|
|
<div class="line"> double_</div>
|
|
<div class="line"> | <a class="code hl_variable" href="#abe5e4701b1f4dab1309a32d898dbb2db">constant</a></div>
|
|
<div class="line"> | <a class="code hl_variable" href="#a3868a98f843039e101720b05986ae7f8">parameter</a></div>
|
|
<div class="line"> | <a class="code hl_variable" href="#a724dff9af4b292b88699e1ca713c3715">map</a></div>
|
|
<div class="line"> | <a class="code hl_variable" href="#a52474f586db8a544fceb42ef27dacd19">function</a></div>
|
|
<div class="line"> | <a class="code hl_variable" href="#af898d0d1af392a246084d962ab4ad5e2">power</a></div>
|
|
<div class="line"> | (<span class="charliteral">'('</span> >> <a class="code hl_variable" href="#ad05a136058c97109382fd1eb12cb754f">expression</a> >> <span class="charliteral">')'</span>)</div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_a3868a98f843039e101720b05986ae7f8"><div class="ttname"><a href="#a3868a98f843039e101720b05986ae7f8">musrfit::grammar::parameter</a></div><div class="ttdeci">x3::rule< class parameter, ast::parameter > const parameter</div><div class="ttdoc">Parameter reference: PAR# or -PAR#.</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00171">PFunctionGrammar.h:171</a></div></div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_a52474f586db8a544fceb42ef27dacd19"><div class="ttname"><a href="#a52474f586db8a544fceb42ef27dacd19">musrfit::grammar::function</a></div><div class="ttdeci">x3::rule< class function_call, ast::function_call > const function</div><div class="ttdoc">Function call: FUNC(expression)</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00177">PFunctionGrammar.h:177</a></div></div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_a724dff9af4b292b88699e1ca713c3715"><div class="ttname"><a href="#a724dff9af4b292b88699e1ca713c3715">musrfit::grammar::map</a></div><div class="ttdeci">x3::rule< class map_ref, ast::map_ref > const map</div><div class="ttdoc">Map reference: MAP# or -MAP#.</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00174">PFunctionGrammar.h:174</a></div></div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_abe5e4701b1f4dab1309a32d898dbb2db"><div class="ttname"><a href="#abe5e4701b1f4dab1309a32d898dbb2db">musrfit::grammar::constant</a></div><div class="ttdeci">x3::rule< class constant, ast::constant > const constant</div><div class="ttdoc">Constant: PI, GAMMA_MU, B, EN, or T#.</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00168">PFunctionGrammar.h:168</a></div></div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_af898d0d1af392a246084d962ab4ad5e2"><div class="ttname"><a href="#af898d0d1af392a246084d962ab4ad5e2">musrfit::grammar::power</a></div><div class="ttdeci">x3::rule< class power_call, ast::power_call > const power</div><div class="ttdoc">Power operation: POW(base, exponent)</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00180">PFunctionGrammar.h:180</a></div></div>
|
|
</div><!-- fragment -->
|
|
<p>Factor rule: the atomic elements of expressions. </p>
|
|
<p>Matches numeric literals, constants, parameters, maps, function calls, power operations, or parenthesized sub-expressions. Parentheses allow overriding operator precedence. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00220">220</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a10c2b5e23b1eec8be38882f7bfceab99" name="a10c2b5e23b1eec8be38882f7bfceab99"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a10c2b5e23b1eec8be38882f7bfceab99">◆ </a></span>fun_tok</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structmusrfit_1_1grammar_1_1fun__tok__.html">fun_tok_</a> musrfit::grammar::fun_tok</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Global instance of function name symbol table. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00133">133</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a52474f586db8a544fceb42ef27dacd19" name="a52474f586db8a544fceb42ef27dacd19"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a52474f586db8a544fceb42ef27dacd19">◆ </a></span>function</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">x3::rule<class function_call, ast::function_call> const musrfit::grammar::function = "function"</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Function call: FUNC(expression) </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00177">177</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a5c7af99c7b0d207b27fa6d8e00e8d387" name="a5c7af99c7b0d207b27fa6d8e00e8d387"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5c7af99c7b0d207b27fa6d8e00e8d387">◆ </a></span>function_def</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto const musrfit::grammar::function_def</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
|
|
<div class="line"> <a class="code hl_variable" href="#a10c2b5e23b1eec8be38882f7bfceab99">fun_tok</a> >> <span class="charliteral">'('</span> >> <a class="code hl_variable" href="#ad05a136058c97109382fd1eb12cb754f">expression</a> >> <span class="charliteral">')'</span></div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_a10c2b5e23b1eec8be38882f7bfceab99"><div class="ttname"><a href="#a10c2b5e23b1eec8be38882f7bfceab99">musrfit::grammar::fun_tok</a></div><div class="ttdeci">fun_tok_ fun_tok</div><div class="ttdoc">Global instance of function name symbol table.</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00133">PFunctionGrammar.h:133</a></div></div>
|
|
</div><!-- fragment -->
|
|
<p>Function rule: FUNC(expression) </p>
|
|
<p>Parses mathematical function calls. The function name is matched by fun_tok and the argument is a full expression. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00271">271</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a724dff9af4b292b88699e1ca713c3715" name="a724dff9af4b292b88699e1ca713c3715"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a724dff9af4b292b88699e1ca713c3715">◆ </a></span>map</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">x3::rule<class map_ref, ast::map_ref> const musrfit::grammar::map = "map"</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Map reference: MAP# or -MAP#. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00174">174</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ab2a4a9f75dc4c630b806bf7b83b38d88" name="ab2a4a9f75dc4c630b806bf7b83b38d88"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ab2a4a9f75dc4c630b806bf7b83b38d88">◆ </a></span>map_def</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto const musrfit::grammar::map_def</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
|
|
<div class="line"> (lexeme[lit(<span class="stringliteral">"-MAP"</span>) >> int_] >> attr(<span class="keyword">true</span>))</div>
|
|
<div class="line"> | (lit(<span class="stringliteral">"MAP"</span>) >> int_ >> attr(<span class="keyword">false</span>))</div>
|
|
</div><!-- fragment -->
|
|
<p>Map rule: MAP# | -MAP#. </p>
|
|
<p>Parses map references for indirect parameter lookup with 1-based indexing. The lexeme directive for -MAP# ensures the minus sign is part of the token. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00261">261</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a128eaba4dd8ec7d0ef390706612402e7" name="a128eaba4dd8ec7d0ef390706612402e7"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a128eaba4dd8ec7d0ef390706612402e7">◆ </a></span>multiplicative_op</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="mlabels">
|
|
<tr>
|
|
<td class="mlabels-left">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="structmusrfit_1_1grammar_1_1multiplicative__op__.html">multiplicative_op_</a> musrfit::grammar::multiplicative_op</td>
|
|
</tr>
|
|
</table>
|
|
</td>
|
|
<td class="mlabels-right">
|
|
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Global instance of multiplicative operator symbol table. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00100">100</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a3868a98f843039e101720b05986ae7f8" name="a3868a98f843039e101720b05986ae7f8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3868a98f843039e101720b05986ae7f8">◆ </a></span>parameter</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">x3::rule<class parameter, ast::parameter> const musrfit::grammar::parameter = "parameter"</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Parameter reference: PAR# or -PAR#. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00171">171</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a99570603e86376d6e731f13838497963" name="a99570603e86376d6e731f13838497963"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a99570603e86376d6e731f13838497963">◆ </a></span>parameter_def</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto const musrfit::grammar::parameter_def</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
|
|
<div class="line"> (lexeme[lit(<span class="stringliteral">"-PAR"</span>) >> int_] >> attr(<span class="keyword">true</span>))</div>
|
|
<div class="line"> | (lit(<span class="stringliteral">"PAR"</span>) >> int_ >> attr(<span class="keyword">false</span>))</div>
|
|
</div><!-- fragment -->
|
|
<p>Parameter rule: PAR# | -PAR#. </p>
|
|
<p>Parses parameter references with 1-based indexing. The lexeme directive for -PAR# ensures the minus sign is treated as part of the token, not as a separate operator. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00251">251</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="af898d0d1af392a246084d962ab4ad5e2" name="af898d0d1af392a246084d962ab4ad5e2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#af898d0d1af392a246084d962ab4ad5e2">◆ </a></span>power</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">x3::rule<class power_call, ast::power_call> const musrfit::grammar::power = "power"</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Power operation: POW(base, exponent) </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00180">180</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac6c8cc1dfd8568f925b5c5fed59219d4" name="ac6c8cc1dfd8568f925b5c5fed59219d4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac6c8cc1dfd8568f925b5c5fed59219d4">◆ </a></span>power_def</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto const musrfit::grammar::power_def</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
|
|
<div class="line"> lit(<span class="stringliteral">"POW"</span>) >> <span class="charliteral">'('</span> >> <a class="code hl_variable" href="#ad05a136058c97109382fd1eb12cb754f">expression</a> >> <span class="charliteral">','</span> >> <a class="code hl_variable" href="#ad05a136058c97109382fd1eb12cb754f">expression</a> >> <span class="charliteral">')'</span></div>
|
|
</div><!-- fragment -->
|
|
<p>Power rule: POW(base, exponent) </p>
|
|
<p>Parses power operations with two expression arguments separated by comma. Both base and exponent can be arbitrary expressions. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00280">280</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a484e24dd215d6a820da00af12a6f716f" name="a484e24dd215d6a820da00af12a6f716f"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a484e24dd215d6a820da00af12a6f716f">◆ </a></span>term</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">x3::rule<class term, ast::expression> const musrfit::grammar::term = "term"</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Term with multiplication/division (higher precedence) </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00162">162</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a966d453a3bc18914cbc5c3ea2bc2eaa8" name="a966d453a3bc18914cbc5c3ea2bc2eaa8"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a966d453a3bc18914cbc5c3ea2bc2eaa8">◆ </a></span>term_def</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">auto const musrfit::grammar::term_def</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
|
|
<div class="line"> <a class="code hl_variable" href="#abd6867450459ac38a7cc9fe49e631d7f">factor</a> >> *(<a class="code hl_variable" href="#a128eaba4dd8ec7d0ef390706612402e7">multiplicative_op</a> >> <a class="code hl_variable" href="#abd6867450459ac38a7cc9fe49e631d7f">factor</a>)</div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_a128eaba4dd8ec7d0ef390706612402e7"><div class="ttname"><a href="#a128eaba4dd8ec7d0ef390706612402e7">musrfit::grammar::multiplicative_op</a></div><div class="ttdeci">multiplicative_op_ multiplicative_op</div><div class="ttdoc">Global instance of multiplicative operator symbol table.</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00100">PFunctionGrammar.h:100</a></div></div>
|
|
<div class="ttc" id="anamespacemusrfit_1_1grammar_html_abd6867450459ac38a7cc9fe49e631d7f"><div class="ttname"><a href="#abd6867450459ac38a7cc9fe49e631d7f">musrfit::grammar::factor</a></div><div class="ttdeci">x3::rule< class factor, ast::operand > const factor</div><div class="ttdoc">Factor: literal, constant, parameter, function, or parenthesized expression (highest precedence)</div><div class="ttdef"><b>Definition</b> <a href="PFunctionGrammar_8h_source.html#l00165">PFunctionGrammar.h:165</a></div></div>
|
|
</div><!-- fragment -->
|
|
<p>Term rule: factor ((*|/) factor)*. </p>
|
|
<p>Handles multiplication and division with left-associative evaluation. Higher precedence than addition/subtraction. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="PFunctionGrammar_8h_source.html#l00210">210</a> of file <a class="el" href="PFunctionGrammar_8h_source.html">PFunctionGrammar.h</a>.</p>
|
|
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="namespacemusrfit.html">musrfit</a></li><li class="navelem"><a class="el" href="namespacemusrfit_1_1grammar.html">grammar</a></li>
|
|
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|