本文整理汇总了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;
}
示例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;
}
示例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();
}
示例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;
}
}
示例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;
}
}
示例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;
}
}
示例7: YailList
import gnu.lists.LList; //导入方法依赖的package包/类
/**
* Create an empty YailList.
*/
public YailList() {
super(YailConstants.YAIL_HEADER, LList.Empty);
}
示例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;
}
示例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;
}