Examples of BlockCnt


Examples of org.luaj.vm2.compiler.FuncState.BlockCnt


  void block () {
    /* block -> chunk */
    FuncState fs = this.fs;
    BlockCnt bl = new BlockCnt();
    fs.enterblock(bl, false);
    this.chunk();
    LuaC._assert(bl.breaklist.i == NO_JUMP);
    fs.leaveblock();
  }
View Full Code Here

Examples of org.luaj.vm2.compiler.FuncState.BlockCnt

  }


  void breakstat() {
    FuncState fs = this.fs;
    BlockCnt bl = fs.bl;
    boolean upval = false;
    while (bl != null && !bl.isbreakable) {
      upval |= bl.upval;
      bl = bl.previous;
    }
View Full Code Here

Examples of org.luaj.vm2.compiler.FuncState.BlockCnt

  void whilestat (int line) {
    /* whilestat -> WHILE cond DO block END */
    FuncState fs = this.fs;
    int whileinit;
    int condexit;
    BlockCnt bl = new BlockCnt();
    this.next()/* skip WHILE */
    whileinit = fs.getlabel();
    condexit = this.cond();
    fs.enterblock(bl, true);
    this.checknext(TK_DO);
View Full Code Here

Examples of org.luaj.vm2.compiler.FuncState.BlockCnt

  void repeatstat(int line) {
    /* repeatstat -> REPEAT block UNTIL cond */
    int condexit;
    FuncState fs = this.fs;
    int repeat_init = fs.getlabel();
    BlockCnt bl1 = new BlockCnt();
    BlockCnt bl2 = new BlockCnt();
    fs.enterblock(bl1, true); /* loop block */
    fs.enterblock(bl2, false); /* scope block */
    this.next(); /* skip REPEAT */
    this.chunk();
    this.check_match(TK_UNTIL, TK_REPEAT, line);
View Full Code Here

Examples of org.luaj.vm2.compiler.FuncState.BlockCnt

  }


  void forbody(int base, int line, int nvars, boolean isnum) {
    /* forbody -> DO block */
    BlockCnt bl = new BlockCnt();
    FuncState fs = this.fs;
    int prep, endfor;
    this.adjustlocalvars(3); /* control variables */
    this.checknext(TK_DO);
    prep = isnum ? fs.codeAsBx(Lua.OP_FORPREP, base, NO_JUMP) : fs.jump();
View Full Code Here

Examples of org.luaj.vm2.compiler.FuncState.BlockCnt

  void forstat(int line) {
    /* forstat -> FOR (fornum | forlist) END */
    FuncState fs = this.fs;
    LuaString varname;
    BlockCnt bl = new BlockCnt();
    fs.enterblock(bl, true); /* scope for loop and control variables */
    this.next(); /* skip `for' */
    varname = this.str_checkname(); /* first variable name */
    switch (this.t.token) {
    case '=':
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.