--- FormulaParser_1.1_7.java Mon May 27 01:26:50 2002 +++ D:\projects\poi\src\java\org\apache\poi\hssf\record\formula\FormulaParser.java Mon May 27 01:16:27 2002 @@ -70,7 +70,7 @@ * Lets Build a Compiler, by Jack Crenshaw * BNF for the formula expression is : * ::= [ ]* - * ::= [ ::= [ ]* * ::= | () | | * ::= ([expression [, expression]*]) * @@ -281,8 +281,13 @@ numArgs++; Expression(); } - while (Look == ',') { //TODO handle EmptyArgs - Match(','); + while (Look == ',' || Look == ';') { //TODO handle EmptyArgs + if(Look == ',') { + Match(','); + } + else { + Match(';'); + } Expression(); numArgs++; } @@ -299,7 +304,16 @@ return; } else if (IsAlpha(Look)){ Ident(); - }else{ + } else if(Look == '"') { + Match('"'); + StringBuffer s = new StringBuffer(); + while(Look != '"') { + s = s.append(Look); + GetChar(); + } + Match('"'); + tokens.add(new StringPtg(s.toString())); + } else { String number = GetNum(); if (Look=='.') { Match('.'); @@ -454,15 +468,19 @@ String[] operands; for (int i=0;i 0) { + o = (OperationPtg) ptgs[i]; + numOperands = o.getNumberOfOperands(); + operands = new String[numOperands]; + for (int j=0;j