当前位置: 首页>>代码示例>>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;未经允许,请勿转载。