[hmath-commits] org.hartmath.tex2mml/src/org/hartmath/tex2mml TeXParser.java,1.5,1.6
Status: Pre-Alpha
Brought to you by:
jsurfer
|
From: Klaus H. <js...@us...> - 2004-03-28 19:27:12
|
Update of /cvsroot/hmath/org.hartmath.tex2mml/src/org/hartmath/tex2mml In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15457/src/org/hartmath/tex2mml Modified Files: TeXParser.java Log Message: misc changes Index: TeXParser.java =================================================================== RCS file: /cvsroot/hmath/org.hartmath.tex2mml/src/org/hartmath/tex2mml/TeXParser.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** TeXParser.java 21 Mar 2004 16:58:58 -0000 1.5 --- TeXParser.java 28 Mar 2004 19:15:50 -0000 1.6 *************** *** 1,4 **** --- 1,6 ---- package org.hartmath.tex2mml; + import java.util.ArrayList; + /** * *************** *** 11,15 **** MML_FACTORY.init(); } ! public TeXParser(String s) { super(s); --- 13,17 ---- MML_FACTORY.init(); } ! public TeXParser(String s) { super(s); *************** *** 39,42 **** --- 41,45 ---- private Node createOperationNode(String str, Row stack) { Node temp; + ArrayList args=null; Node c = MML_FACTORY.getSymbol(str); if (c == null) { *************** *** 48,51 **** --- 51,75 ---- return c; case TeX2MathMLFactory.UNARY : + if (token == TT_ARGUMENTS_OPEN) { + getNextToken(); + if (token == TT_ARGUMENTS_CLOSE) { + getNextToken(); + } else { + args = new ArrayList(); + while (true) { + temp = createNextNode(null); + if (temp!=null) { + args.add(temp); + } + if (token != TT_COMMA) { + break; + } + getNextToken(); + } + if (token == TT_ARGUMENTS_CLOSE) { + getNextToken(); + } + } + } temp = createNextNode(null); if (temp == null) { *************** *** 53,56 **** --- 77,83 ---- } list = MML_FACTORY.getRow(c.getTeXSymbol()); + if (args!=null) { + list.setArgs(args); + } list.add(temp); return list; *************** *** 80,84 **** list = MML_FACTORY.getRow(c.getTeXSymbol()); } ! if (stack!=null&&stack.size() > 0) { prev = stack.remove(stack.size() - 1); list.add(prev); --- 107,111 ---- list = MML_FACTORY.getRow(c.getTeXSymbol()); } ! if (stack != null && stack.size() > 0) { prev = stack.remove(stack.size() - 1); list.add(prev); *************** *** 179,182 **** --- 206,210 ---- return MML_FACTORY.getIdentifier(str); case TT_AMPERSAND : + case TT_COMMA: case TT_CHARACTER : str = fOperatorString; *************** *** 256,260 **** } } ! public void parse2CSS(StringBuffer buffer, boolean noTags) { Node node = createNode(); --- 284,288 ---- } } ! public void parse2CSS(StringBuffer buffer, boolean noTags) { Node node = createNode(); *************** *** 265,277 **** private Node getBegin() { ! if (token==TT_LIST_OPEN) { getNextToken(); } String str; ! if (token==TT_IDENTIFIER) { str = getIdentifier(); getNextToken(); ! if (! str.equals("array")) { ! if (token==TT_LIST_CLOSE) { getNextToken(); } --- 293,305 ---- private Node getBegin() { ! if (token == TT_LIST_OPEN) { getNextToken(); } String str; ! if (token == TT_IDENTIFIER) { str = getIdentifier(); getNextToken(); ! if (!str.equals("array")) { ! if (token == TT_LIST_CLOSE) { getNextToken(); } *************** *** 279,295 **** } } ! if (token==TT_LIST_CLOSE) { getNextToken(); } ! if (token==TT_LIST_OPEN) { getNextToken(); ! } int numColumns = 0; ! if (token==TT_IDENTIFIER) { str = getIdentifier(); numColumns = str.length(); getNextToken(); } ! if (token==TT_LIST_CLOSE) { getNextToken(); } --- 307,323 ---- } } ! if (token == TT_LIST_CLOSE) { getNextToken(); } ! if (token == TT_LIST_OPEN) { getNextToken(); ! } int numColumns = 0; ! if (token == TT_IDENTIFIER) { str = getIdentifier(); numColumns = str.length(); getNextToken(); } ! if (token == TT_LIST_CLOSE) { getNextToken(); } *************** *** 298,316 **** private void getEnd() { ! if (token==TT_LIST_OPEN) { getNextToken(); } ! if (token==TT_IDENTIFIER) { String str = getIdentifier(); getNextToken(); } ! if (token==TT_LIST_CLOSE) { getNextToken(); } ! } public Node createArray(int numColumns) { Row rowList; ! if (numColumns==1) { rowList = MML_FACTORY.getRow("vector"); } else { --- 326,344 ---- private void getEnd() { ! if (token == TT_LIST_OPEN) { getNextToken(); } ! if (token == TT_IDENTIFIER) { String str = getIdentifier(); getNextToken(); } ! if (token == TT_LIST_CLOSE) { getNextToken(); } ! } public Node createArray(int numColumns) { Row rowList; ! if (numColumns == 1) { rowList = MML_FACTORY.getRow("vector"); } else { *************** *** 322,326 **** Row colList; ! if (numColumns==1) { colList = MML_FACTORY.getRow("vectorrow"); } else { --- 350,354 ---- Row colList; ! if (numColumns == 1) { colList = MML_FACTORY.getRow("vectorrow"); } else { *************** *** 328,343 **** } while (token != TT_END && token != TT_EOF) { ! if (token!=TT_DOUBLE_BACKSLASH&&token!=TT_AMPERSAND) { node1 = createNextNode(null); if (node1 != null) { colList.add(node1); ! } } ! if (token==TT_AMPERSAND) { getNextToken(); } ! if (token==TT_DOUBLE_BACKSLASH) { rowList.add(colList); ! if (numColumns==1) { colList = MML_FACTORY.getRow("vectorrow"); } else { --- 356,371 ---- } while (token != TT_END && token != TT_EOF) { ! if (token != TT_DOUBLE_BACKSLASH && token != TT_AMPERSAND) { node1 = createNextNode(null); if (node1 != null) { colList.add(node1); ! } } ! if (token == TT_AMPERSAND) { getNextToken(); } ! if (token == TT_DOUBLE_BACKSLASH) { rowList.add(colList); ! if (numColumns == 1) { colList = MML_FACTORY.getRow("vectorrow"); } else { *************** *** 348,352 **** } if (token == TT_END) { ! if (colList.size()!=0) { rowList.add(colList); } --- 376,380 ---- } if (token == TT_END) { ! if (colList.size() != 0) { rowList.add(colList); } |