<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://159.203.101.162/w/index.php?action=history&amp;feed=atom&amp;title=Formula_Parser-JEP_removal</id>
	<title>Formula Parser-JEP removal - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://159.203.101.162/w/index.php?action=history&amp;feed=atom&amp;title=Formula_Parser-JEP_removal"/>
	<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Formula_Parser-JEP_removal&amp;action=history"/>
	<updated>2026-05-17T19:09:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Formula_Parser-JEP_removal&amp;diff=3542&amp;oldid=prev</id>
		<title>Tom Parker at 01:21, 26 March 2014</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Formula_Parser-JEP_removal&amp;diff=3542&amp;oldid=prev"/>
		<updated>2014-03-26T01:21:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 01:21, 26 March 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l9&quot; &gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Status==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Status==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This is a &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;proposal.&amp;#160; It is not finalized&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and &lt;/del&gt;is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;actively undergoing &lt;/del&gt;discussion&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;.&amp;#160; Please comment &lt;/del&gt;to &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the pcgen_developers list &lt;/del&gt;on &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;this issue/proposal&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Wiki &lt;/ins&gt;is a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;summary page&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;it &lt;/ins&gt;is &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;NOT intended to host the &lt;/ins&gt;discussion &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;- please do not use it &lt;/ins&gt;to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;carry &lt;/ins&gt;on &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;discussion&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;This Wiki is a summary &lt;/del&gt;page&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, it &lt;/del&gt;is &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;NOT intended to host the discussion - please do not use it to carry &lt;/del&gt;on &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;discussion.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;A detailed proposal (please don't discuss on this &lt;/ins&gt;page &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;EITHER) &lt;/ins&gt;is on &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Formula Parser Equip Vars Proposal]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Reasoning==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Reasoning==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tom Parker</name></author>
		
	</entry>
	<entry>
		<id>http://159.203.101.162/w/index.php?title=Formula_Parser-JEP_removal&amp;diff=1531&amp;oldid=prev</id>
		<title>Tom Parker: Created page with '{| align=&quot;right&quot;   | __TOC__   |}  ==Background==  From a code team discussion about tasks for PCGen 5.17, it was brought up that one project was additional work on formula proce...'</title>
		<link rel="alternate" type="text/html" href="http://159.203.101.162/w/index.php?title=Formula_Parser-JEP_removal&amp;diff=1531&amp;oldid=prev"/>
		<updated>2009-04-30T20:47:14Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;{| align=&amp;quot;right&amp;quot;   | __TOC__   |}  ==Background==  From a code team discussion about tasks for PCGen 5.17, it was brought up that one project was additional work on formula proce...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
==Background==&lt;br /&gt;
&lt;br /&gt;
From a code team discussion about tasks for PCGen 5.17, it was brought up that one project was additional work on formula processing, JEP, output sheets.  This discussion effectively starts in message [http://tech.groups.yahoo.com/group/pcgen_developers/message/2 DEV_2].  This discussion led to considering the removal of JEP from PCGen.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
This is a proposal.  It is not finalized, and is actively undergoing discussion.  Please comment to the pcgen_developers list on this issue/proposal.&lt;br /&gt;
&lt;br /&gt;
This Wiki is a summary page, it is NOT intended to host the discussion - please do not use it to carry on discussion.&lt;br /&gt;
&lt;br /&gt;
==Reasoning==&lt;br /&gt;
&lt;br /&gt;
The long-term discussion/proposal is around removing JEP from PCGen.  This is a result of&lt;br /&gt;
# JEP is now a closed source library, so we cannot continue to benefit from future releases/bug fixes&lt;br /&gt;
# JEP is a license exception in our code, which restricts our license flexibility&lt;br /&gt;
# JEP has more features than we need (some of which get in our way)&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
The following are the currently identified (proposed) requirements for a Formula Parser for PCGen:&lt;br /&gt;
&lt;br /&gt;
# Recognize the bits that make up a PCGEN formula&lt;br /&gt;
# Follow mathematical precedence for operators&lt;br /&gt;
# Do not involve tens (hundreds) of recursive calls every time we evaluate a formula.&lt;br /&gt;
# Have the ability to complain at LST load (vs at runtime) if a formula is invalid, which means it also has the ability to detect and warn at LST load for deprecated formula styles, e.g. 2MAXINT&lt;br /&gt;
&lt;br /&gt;
Potential Implementation Details/Future projects:&lt;br /&gt;
# Have a formula factory that can detect situations where a formula like 1+INT is used multiple places in the LST.  These should be reduced via a cache to a single Formula object (since a Formula is immutable) to save memory and hopefully reduce LST load time.&lt;br /&gt;
# Make formula terms/variables into plugins, so the Formula system can be extended without modifying the core.&lt;br /&gt;
&lt;br /&gt;
==Proposal==&lt;br /&gt;
&lt;br /&gt;
Being developed, please see pcgen_developers list for current status.&lt;/div&gt;</summary>
		<author><name>Tom Parker</name></author>
		
	</entry>
</feed>