Package xscript.compiler.XTree

Examples of xscript.compiler.XTree.XStatement


        break;
      prefix.add(0, operator);
    }
    if(prefix.isEmpty())
      prefix = null;
    XStatement statement = makeNumRead(true);
    List<XOperator> suffix = new ArrayList<XOperator>();
    while(isOperator(token.kind)){
      operator = readOperator(Type.SUFFIX);
      if(operator==XOperator.NONE)
        break;
      suffix.add(operator);
    }
    if(suffix.isEmpty())
      suffix = null;
    if(prefix == null && suffix == null){
      endLineBlock();
    }else{
      statement = new XOperatorPrefixSuffix(endLineBlock(), prefix, statement, suffix);
    }
    while(token.kind==XTokenKind.LGROUP || token.kind==XTokenKind.LINDEX){
      startLineBlock();
      startLineBlock();
      if(token.kind==XTokenKind.LGROUP){
        List<XStatement> list = makeMethodCallParamList();
        statement = new XMethodCall(endLineBlock(), statement, list);
      }else if(token.kind==XTokenKind.LINDEX){
        nextToken();
        XStatement index = makeInnerStatement();
        expected(XTokenKind.RINDEX);
        statement = new XIndex(endLineBlock(), statement, index);
      }
      suffix = new ArrayList<XOperator>();
      while(isOperator(token.kind)){
View Full Code Here


      return new XOperatorStatement(line, left, o, right);
    }
  }
 
  public XStatement makeInnerStatement(){
    XStatement statement = makeStatementWithSuffixAndPrefix();
    XStatement between = null;
    while(isOperator(token.kind)){
      startLineBlock();
      between = null;
      XOperator o = readOperator(Type.INFIX);
      if(o==XOperator.IF){
View Full Code Here

    return statement;
  }
 
  public XStatement makeStatement(){
    String lable = null;
    XStatement block = null;
    XStatement block2 = null;
    XStatement statement = null;
    XStatement statement2 = null;
    XStatement statement3 = null;
    XToken oldtoken;
    startLineBlock();
    switch(token.kind){
    case SYNCHRONIZED:
      lexer.notSure();
View Full Code Here

  }

  private XStatement makeGroup() {
    startLineBlock();
    expected(XTokenKind.LGROUP);
    XStatement statement = makeInnerStatement();
    expected(XTokenKind.RGROUP);
    return new XGroup(endLineBlock(), statement);
  }
View Full Code Here

      arrayAdd++;
    }
    if(arrayAdd!=0){
      type = new XType(type.line, type.name, type.typeParam, type.array+arrayAdd);
    }
    XStatement init = null;
    if(token.kind==XTokenKind.EQUAL){
      nextToken();
      init = makeInnerStatement();
    }
    return new XVarDecl(line, modifier, name, type, init);
View Full Code Here

TOP

Related Classes of xscript.compiler.XTree.XStatement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.