removes parts of my former stuff in favor of aviks and adds concat operator

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352527 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andrew C. Oliver 2002-04-28 16:33:57 +00:00
parent cf24bbd7c6
commit 7aa28a6d00
5 changed files with 17 additions and 39 deletions

View File

@ -115,22 +115,7 @@ public class AddPtg
{
return "+";
}
public static boolean isNextStringToken(String formula, int pos) {
boolean retval = false;
while (pos < formula.length() && Character.isWhitespace(formula.charAt(pos))) {
pos++;
}
if (pos < formula.length()) {
if (formula.charAt(pos) == ADD.toCharArray()[0]) {
retval = true;
}
}
return retval;
}
public String toFormulaString(Ptg [] operands)
{
StringBuffer buffer = new StringBuffer();

View File

@ -310,11 +310,12 @@ public class FormulaParser {
/** Parse and Translate a Math Term */
private void Term(){
Factor();
while (Look == '*' || Look == '/' || Look == '^') {
while (Look == '*' || Look == '/' || Look == '^' || Look == '&') {
///TODO do we need to do anything here??
if (Look == '*') Multiply();
if (Look == '/') Divide();
if (Look == '^') Power();
if (Look == '&') Concat();
}
}
@ -325,6 +326,14 @@ public class FormulaParser {
tokens.add(new AddPtg());
}
/** Recognize and Translate an Add */
private void Concat() {
Match('&');
Term();
tokens.add(new ConcatPtg());
}
/** Recognize and Translate a Subtract */
private void Subtract() {

View File

@ -151,9 +151,6 @@ public class IntPtg
}
public static boolean isNextStringToken(String formula, int pos) {
return (parseString(formula,pos) != null);
}
public int getStringLength() {
return strlen;

View File

@ -139,23 +139,5 @@ public class MultiplyPtg
buffer.append("*");
buffer.append(operands[ 1 ]);
return buffer.toString();
}
public static boolean isNextStringToken(String formula, int pos) {
boolean retval = false;
while (pos < formula.length() && Character.isWhitespace(formula.charAt(pos))) {
pos++;
}
if (pos < formula.length()) {
if (formula.charAt(pos) == MULTIPLY.toCharArray()[0]) {
retval = true;
}
}
return retval;
}
}
}

View File

@ -188,6 +188,11 @@ public abstract class Ptg
case PowerPtg.sid :
retval = new PowerPtg(data, offset);
break;
case ConcatPtg.sid :
retval = new ConcatPtg(data, offset);
break;
case AreaPtg.sid :
retval = new AreaPtg(data, offset);