当前位置: 首页>>代码示例>>Java>>正文


Java LList.Empty方法代码示例

本文整理汇总了Java中gnu.lists.LList.Empty方法的典型用法代码示例。如果您正苦于以下问题:Java LList.Empty方法的具体用法?Java LList.Empty怎么用?Java LList.Empty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在gnu.lists.LList的用法示例。


在下文中一共展示了LList.Empty方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: evaluate

import gnu.lists.LList; //导入方法依赖的package包/类
public Object evaluate(Object clauses, Translator tr) {
    while (clauses instanceof Pair) {
        Pair pclauses = (Pair) clauses;
        Object clause = pclauses.getCar();
        clauses = pclauses.getCdr();
        if (! (clause instanceof Pair))
            tr.errorWithPosition("cond-expand clauses is not a list",
                                 pclauses);
        Pair pclause = (Pair) clause;
        Object test = Translator.stripSyntax(pclause.getCar());
        if ((test == elseSymbol && clauses == LList.Empty)
            || evaluateConditionCar(pclause, tr))
            return pclause.getCdr();
    }
    tr.errorIfNonEmpty(clauses);
    return LList.Empty;
}
 
开发者ID:spurious,项目名称:kawa-mirror,代码行数:18,代码来源:IfFeature.java

示例2: deepCopyLList

import gnu.lists.LList; //导入方法依赖的package包/类
private static Serializable deepCopyLList(LList obj) {
	Object rest = obj;
	List<Serializable> l = new ArrayList<>();
	while (true) {
		if (rest == LList.Empty)
			break;
		if (rest instanceof Pair) {
			Pair pair = (Pair) rest;
			l.add(deepCopy(pair.getCar()));
			rest = pair.getCdr();
		} else {
			l.add(deepCopy(rest));
			break;
		}
	}
	return (Serializable) l;
}
 
开发者ID:MAGCruise,项目名称:magcruise-core,代码行数:18,代码来源:LiteralUtils.java

示例3: llistToLiteral

import gnu.lists.LList; //导入方法依赖的package包/类
private static String llistToLiteral(ToExpressionStyle style, LList obj) {
	if (obj == null) {
		return "#!null";
	}
	Object rest = obj;
	StringBuffer sbuf = new StringBuffer(100);
	sbuf.append("(list ");
	for (int i = 0;;) {
		if (rest == LList.Empty)
			break;
		if (i > 0)
			sbuf.append(' ');
		if (rest instanceof Pair) {
			Pair pair = (Pair) rest;
			sbuf.append(toLiteral(style, pair.getCar()));
			rest = pair.getCdr();
		} else {
			sbuf.append(". ");
			sbuf.append(toLiteral(style, rest));
			break;
		}
		i++;
	}
	sbuf.append(')');
	return sbuf.toString();
}
 
开发者ID:MAGCruise,项目名称:magcruise-core,代码行数:27,代码来源:LiteralUtils.java

示例4: readVector

import gnu.lists.LList; //导入方法依赖的package包/类
public static FVector readVector(LispReader lexer, InPort port, int count, char close, int sharingIndex)
   throws java.io.IOException, SyntaxException
 {
   char saveReadState = ' ';
   if (port instanceof InPort)
     {	
saveReadState = ((InPort) port).readState;
((InPort) port).readState = close == ']' ? '[' : '(';
     }
   int startLine = port.getLineNumber();
   int startColumn = port.getColumnNumber()-1;
    try
      {
        FVector result = new FVector();
        lexer.bindSharedObject(sharingIndex, result);

        ReadTable rtable = ReadTable.getCurrent();
        Pair head = new Pair(null, LList.Empty);
        Pair last = head;
 for (;;)
   {
     int ch = lexer.read();
     if (ch < 0)
       lexer.eofError("unexpected EOF in vector starting here",
		      startLine + 1, startColumn);
     if (ch == close)
       break;
            last = lexer.readValuesAndAppend(ch, rtable, last);
   }
        result.replaceAll(((LList) head.getCdr()).toArray());
        result.setReadOnly();
 return result;

      }
    finally
      {
 if (port instanceof InPort)
   ((InPort) port).readState = saveReadState;
      }
 }
 
开发者ID:spurious,项目名称:kawa-mirror,代码行数:41,代码来源:ReaderVector.java

示例5: readVector

import gnu.lists.LList; //导入方法依赖的package包/类
public static FVector readVector(LispReader lexer, InPort port, int count, char close, int sharingIndex)
   throws java.io.IOException, SyntaxException
 {
   char saveReadState = ' ';
   if (port instanceof InPort)
     {	
saveReadState = ((InPort) port).readState;
((InPort) port).readState = close == ']' ? '[' : '(';
     }
   int startLine = port.getLineNumber();
   int startColumn = port.getColumnNumber()-1;
    try
      {
        ConstVector result = new ConstVector();
        lexer.bindSharedObject(sharingIndex, result);

        ReadTable rtable = ReadTable.getCurrent();
        Pair head = new Pair(null, LList.Empty);
        Pair last = head;
 for (;;)
   {
     int ch = lexer.read();
     if (ch < 0)
       lexer.eofError("unexpected EOF in vector starting here",
		      startLine + 1, startColumn);
     if (ch == close)
       break;
            last = lexer.readValuesAndAppend(ch, rtable, last);
   }
        result.setDataBackDoor(((LList) head.getCdr()).toArray());
 return result;

      }
    finally
      {
 if (port instanceof InPort)
   ((InPort) port).readState = saveReadState;
      }
 }
 
开发者ID:maoueh,项目名称:kawa-fork,代码行数:40,代码来源:ReaderVector.java

示例6: readVector

import gnu.lists.LList; //导入方法依赖的package包/类
public static FVector readVector(LispReader lexer, LineBufferedReader port, int count, char close, int sharingIndex)
   throws java.io.IOException, SyntaxException
 {
   char saveReadState = ' ';
   if (port instanceof InPort)
     {	
saveReadState = ((InPort) port).readState;
((InPort) port).readState = close == ']' ? '[' : '(';
     }
   int startLine = port.getLineNumber();
   int startColumn = port.getColumnNumber()-1;
    try
      {
        ConstVector result = new ConstVector();
        lexer.bindSharedObject(sharingIndex, result);

        ReadTable rtable = ReadTable.getCurrent();
        Pair head = new Pair(null, LList.Empty);
        Pair last = head;
 for (;;)
   {
     int ch = lexer.read();
     if (ch < 0)
       lexer.eofError("unexpected EOF in vector starting here",
		      startLine + 1, startColumn);
     if (ch == close)
       break;
            last = lexer.readValuesAndAppend(ch, rtable, last);
   }
        result.setDataBackDoor(((LList) head.getCdr()).toArray());
 return result;

      }
    finally
      {
 if (port instanceof InPort)
   ((InPort) port).readState = saveReadState;
      }
 }
 
开发者ID:alain91,项目名称:kawa,代码行数:40,代码来源:ReaderVector.java

示例7: YailList

import gnu.lists.LList; //导入方法依赖的package包/类
/**
 * Create an empty YailList.
 */
public YailList() {
  super(YailConstants.YAIL_HEADER, LList.Empty);
}
 
开发者ID:mit-cml,项目名称:appinventor-extensions,代码行数:7,代码来源:YailList.java

示例8: startLogicalBlock

import gnu.lists.LList; //导入方法依赖的package包/类
public void startLogicalBlock (String prefix, boolean perLine, String suffix)
 {
   // If the queue is empty, it is a good time to check if line-length etc
   // have been changed.
   if (queueSize == 0 && bufferFillPointer == 0)
     {
       Object llen = lineLengthLoc.get(null);
       if (llen == null)
         lineLength = 80;
       else
         lineLength = Integer.parseInt(llen.toString());

       Object mwidth = miserWidthLoc.get(null);
       if (mwidth == null || mwidth == Boolean.FALSE
           // For Common Lisp nil.  Should we use Language.isTrue() FIXME.
           || mwidth == LList.Empty)
         miserWidth = -1;
       else
         miserWidth = Integer.parseInt(mwidth.toString());

       Object indent = indentLoc.get(null);
       // if (indent == null || indent ...
     }
   if (prefix != null && ! (perLine && isDomTerm()))
     write(prefix);
   if (prettyPrintingMode == 0)
     return;
   int start = enqueue (QITEM_BLOCK_START_TYPE,
		 QITEM_BLOCK_START_SIZE);
   queueInts[start + QITEM_SECTION_START_DEPTH] = pendingBlocksCount;
   queueStrings[start + QITEM_BLOCK_START_PREFIX]
     = perLine ? prefix : null;
   queueStrings[start + QITEM_BLOCK_START_SUFFIX] = suffix;
   pendingBlocksCount++;
   int outerBlock = currentBlock;
   if (outerBlock < 0)
     outerBlock = 0;
   else
     {
outerBlock -= start;
if (outerBlock > 0)
  outerBlock -= queueInts.length;
     }
   queueInts[start + QITEM_BLOCK_START_BLOCK_END] = outerBlock;
   queueInts[start + QITEM_SECTION_START_SECTION_END] = 0;
   currentBlock = start;
 }
 
开发者ID:spurious,项目名称:kawa-mirror,代码行数:48,代码来源:PrettyWriter.java

示例9: startLogicalBlock

import gnu.lists.LList; //导入方法依赖的package包/类
public void startLogicalBlock (String prefix, boolean perLine, String suffix)
 {
   // If the queue is empty, it is a good time to check if line-length etc
   // have been changed.
   if (queueSize == 0 && bufferFillPointer == 0)
     {
       Object llen = lineLengthLoc.get(null);
       if (llen == null)
         lineLength = 80;
       else
         lineLength = Integer.parseInt(llen.toString());

       Object mwidth = miserWidthLoc.get(null);
       if (mwidth == null || mwidth == Boolean.FALSE
           // For Common Lisp nil.  Should we use Language.isTrue() FIXME.
           || mwidth == LList.Empty)
         miserWidth = -1;
       else
         miserWidth = Integer.parseInt(mwidth.toString());

       Object indent = indentLoc.get(null);
       // if (indent == null || indent ...
     }
   if (prefix != null)
     write(prefix);
   if (prettyPrintingMode == 0)
     return;
   int start = enqueue (QITEM_BLOCK_START_TYPE,
		 QITEM_BLOCK_START_SIZE);
   queueInts[start + QITEM_SECTION_START_DEPTH] = pendingBlocksCount;
   queueStrings[start + QITEM_BLOCK_START_PREFIX]
     = perLine ? prefix : null;
   queueStrings[start + QITEM_BLOCK_START_SUFFIX] = suffix;
   pendingBlocksCount++;
   int outerBlock = currentBlock;
   if (outerBlock < 0)
     outerBlock = 0;
   else
     {
outerBlock -= start;
if (outerBlock > 0)
  outerBlock -= queueInts.length;
     }
   queueInts[start + QITEM_BLOCK_START_BLOCK_END] = outerBlock;
   queueInts[start + QITEM_SECTION_START_SECTION_END] = 0;
   currentBlock = start;
 }
 
开发者ID:maoueh,项目名称:kawa-fork,代码行数:48,代码来源:PrettyWriter.java


注:本文中的gnu.lists.LList.Empty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。