All pastes #620949 Raw Edit

piromanas

public java v1 · immutable
·published 2007-07-15 20:44 UTC
rendered paste body
package analyze;import java.io.* ;import java.util.* ;public class Parser  {        static public output.lexer a = new output.lexer () ;    static private LinkedList<output.lexer.node> tokenList = a.tokenStream ;    static public void parser (LinkedList<output.lexer.node> input) {                int index1 = 0, index2, count = 0, first, middle ;        String str = new String("");        ListIterator<output.lexer.node> i, i1, i2 = input.listIterator ();        output.lexer.State state = output.lexer.State.UNARY ;        //output.lexer.node ob = new output.lexer.node(str,output.lexer.State.EMPTY) ;        i = input.listIterator (index1);        output.lexer.node element = returnElementAtIndex(index1), firstElement, middleElement ;        while (state != output.lexer.State.QUIT) {                    switch (state) {                                case UNARY :                    element = returnElementAtIndex(index1) ;                    System.out.println("luzta UNARY.state") ;                        if (i.hasNext () && element.type == output.lexer.State.OPERATION ) {                       i1 = i ;                       first = index1 ;                        firstElement = element ;                       ++index1 ;                       i.next () ;                       element = returnElementAtIndex(index1) ;                       System.out.println(i.next ()) ;                       System.out.println("luzta UNARY.state_1 ifas") ;                        if ( i.hasNext() && element.type == output.lexer.State.OPERATION && ( element.token == "+" || element.token == "-" )) {                           i2 = i ;                           i.next ();                           middleElement = element ;                           middle = index1 ;                           ++index1 ;                           element = returnElementAtIndex(index1) ;                           if ( i.hasNext() && (element.type == output.lexer.State.VALUE || element.type == output.lexer.State.EXPRESSION || element.type == output.lexer.State.ID )) {                               if ( first == input.indexOf (input.element ())) {                                   firstElement.right = middleElement ;                                   middleElement.right = element ;                                   firstElement.type = output.lexer.State.EXPRESSION ;                                   input.remove (middle);                                   input.remove (element);                                   System.out.println("luzta UNARY.state kirpimas") ;                                }                               else {                                   middleElement.right = element ;                                   middleElement.type = output.lexer.State.EXPRESSION ;                                   input.remove (index1);                                   ++count ;                                   System.out.println("luzta UNARY.state kirpimas1") ;                               }                               state = output.lexer.State.UNARY ;                           }                       }                    }                    if (i.hasNext ()) {                        state = output.lexer.State.UNARY ;                        i.next () ;                        ++index1 ;                        System.out.println("luzta UNARY.state ribos") ;                    }                                        else                        System.out.println (input.isEmpty ()) ;                        state = output.lexer.State.QUIT ;                    break ;        }    }}        static public output.lexer.node returnElementAtIndex (int i) {            output.lexer.node element;            return element = tokenList.get (i) ;    } }