當前位置: 首頁>>代碼示例>>Java>>正文


Java TokenList.accept方法代碼示例

本文整理匯總了Java中org.kaivos.nept.parser.TokenList.accept方法的典型用法代碼示例。如果您正苦於以下問題:Java TokenList.accept方法的具體用法?Java TokenList.accept怎麽用?Java TokenList.accept使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.kaivos.nept.parser.TokenList的用法示例。


在下文中一共展示了TokenList.accept方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: parseMap

import org.kaivos.nept.parser.TokenList; //導入方法依賴的package包/類
private static JSONMap parseMap(TokenList tl, Stack<JSONKey> path) {
	Map<JSONKeyString, JSONElement> map = new HashMap<>();
	tl.accept("{");
	int i = 0;
	while (!tl.isNext("}")) {
		if (i != 0) tl.accept(",");
		tl.accept("\"");
		JSONKeyString key = new JSONKeyString(tl.nextString());
		tl.accept("\"");
		tl.accept(":");
		path.push(key);
		map.put(key, parse(tl, path));
		path.pop();
		i++;
	}
	tl.accept("}");
	return new JSONMap(new ArrayList<>(path), map);
}
 
開發者ID:fergusq,項目名稱:roda,代碼行數:19,代碼來源:JSON.java

示例2: proceed

import org.kaivos.nept.parser.TokenList; //導入方法依賴的package包/類
@Override
public void proceed(@NonNull TokenList tl, @NonNull FortobEnvironment env) {
	env.putLocal("?", tokenListObj(tl, env));
	
	if (tl.isNext("\\")) {
		tl.accept("\\");
		return;
	}
	
	while (tl.hasNext() ? commandMap.containsKey(tl.seekString()) : false) {
		proceedOnce(tl, env);
		if (tl.isNext("\\")) {
			tl.accept("\\");
			break;
		}
	}
}
 
開發者ID:fergusq,項目名稱:fortob,代碼行數:18,代碼來源:FortobReadcom.java

示例3: acceptIfNext

import org.kaivos.nept.parser.TokenList; //導入方法依賴的package包/類
private static boolean acceptIfNext(TokenList tl, String... keywords) {
	if (isNext(tl, keywords)) {
		skipNewlines(tl);
		tl.accept(keywords);
		return true;
	}
	return false;
}
 
開發者ID:fergusq,項目名稱:roda,代碼行數:9,代碼來源:Parser.java

示例4: parse

import org.kaivos.nept.parser.TokenList; //導入方法依賴的package包/類
private static JSONElement parse(TokenList tl, Stack<JSONKey> path) {
	if (tl.isNext("[")) {
		return parseList(tl, path);
	}
	if (tl.isNext("{")) {
		return parseMap(tl, path);
	}
	if (tl.isNext("\"")) {
		tl.accept("\"");
		String text = tl.nextString();
		tl.accept("\"");
		return new JSONString(new ArrayList<>(path), text);
	}
	if (tl.seekString().matches("-?[0-9]+")) {
		long integer = Long.parseLong(tl.nextString());
		return new JSONInteger(new ArrayList<>(path), integer);
	}
	if (tl.seekString().matches(NUMBER_REGEX)) {
		double doubling = Double.parseDouble(tl.nextString());
		return new JSONDouble(new ArrayList<>(path), doubling);
	}
	for (JSONConstants constant : JSONConstants.values()) {
		if (tl.seekString().equals(constant.getName())) {
			tl.next();
			return new JSONConstant(new ArrayList<>(path), constant);
		}
	}
	throw new ParsingException(TokenList.expected("[", "{", "true", "false", "null", "<number>", "<string>"), tl.next());
}
 
開發者ID:fergusq,項目名稱:roda,代碼行數:30,代碼來源:JSON.java

示例5: parseList

import org.kaivos.nept.parser.TokenList; //導入方法依賴的package包/類
private static JSONList parseList(TokenList tl, Stack<JSONKey> path) {
	List<JSONElement> list = new ArrayList<>();
	tl.accept("[");
	int i = 0;
	while (!tl.isNext("]")) {
		if (i != 0) tl.accept(",");
		path.push(new JSONKeyInteger(i));
		list.add(parse(tl, path));
		path.pop();
		i++;
	}
	tl.accept("]");
	return new JSONList(new ArrayList<>(path), list);
}
 
開發者ID:fergusq,項目名稱:roda,代碼行數:15,代碼來源:JSON.java

示例6: parsePrimary

import org.kaivos.nept.parser.TokenList; //導入方法依賴的package包/類
private int parsePrimary(TokenList tl) {
	if (tl.isNext("-")) {
		tl.accept("-");
		return -parsePrimary(tl);
	}
	if (tl.isNext("(")) {
		tl.accept("(");
		int i = parseExpression(tl);
		tl.accept(")");
		return i;
	}
	else return Integer.parseInt(tl.nextString());
}
 
開發者ID:fergusq,項目名稱:nept,代碼行數:14,代碼來源:OPPExample.java

示例7: accept

import org.kaivos.nept.parser.TokenList; //導入方法依賴的package包/類
private static void accept(TokenList tl, String... keywords) {
	skipNewlines(tl);
	tl.accept(keywords);
}
 
開發者ID:fergusq,項目名稱:roda,代碼行數:5,代碼來源:Parser.java


注:本文中的org.kaivos.nept.parser.TokenList.accept方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。