Skip to content
6 changes: 3 additions & 3 deletions org.coreasm.engine/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<source>1.8</source>
<target>1.8</target>
<useIncrementalCompilation>false</useIncrementalCompilation>
</configuration>
</plugin>
Expand All @@ -128,7 +128,7 @@
<dependency>
<groupId>org.jparsec</groupId>
<artifactId>jparsec</artifactId>
<version>2.1</version>
<version>3.1</version>
</dependency>
<dependency>
<groupId>concurrent</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

import java.io.Serializable;

import org.codehaus.jparsec.Token;
import org.jparsec.Token;
import org.coreasm.engine.Specification;
import org.coreasm.engine.parser.CharacterPosition;
import org.coreasm.engine.parser.Parser;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.function.BinaryOperator;
import java.util.function.UnaryOperator;

import org.codehaus.jparsec.OperatorTable;
import org.codehaus.jparsec.Parser;
import org.codehaus.jparsec.functors.Binary;
import org.codehaus.jparsec.functors.Unary;
import org.jparsec.OperatorTable;
import org.jparsec.Parser;
import org.coreasm.engine.ControlAPI;
import org.coreasm.engine.EngineError;
import org.coreasm.engine.interpreter.ASTNode;
Expand Down Expand Up @@ -233,7 +233,7 @@ private Parser<UnaryMap> createUnaryParser(String opr, String pluginNames, OpTyp
private Parser<IndexMap> createIndexParser(String opr1, String opr2, String pluginNames) {
return ParserTools.seq(
ParserTools.getOprParser(opr1),
termParser.optional(),
termParser.optional(null),
ParserTools.getOprParser(opr2)
).map(new IndexParseMap(opr1, opr2, pluginNames, OpType.INDEX));
}
Expand Down Expand Up @@ -303,7 +303,7 @@ private void addOperator(Map<String, Integer> oprs, OperatorRule oprRule) {
}

/* Special unary map class */
public static class UnaryMap implements Unary<Node> {
public static class UnaryMap implements UnaryOperator<Node> {

//private String pluginNames;
private String opr;
Expand All @@ -329,7 +329,8 @@ public UnaryMap(String opr, String pluginNames, OpType type, Object[] nodes) {
/**
* Creates a tree for this operator with an {@link ASTNode} as its root.
*/
public Node map(Node child) {
@Override
public Node apply(Node child) {
Node node = null;
if (type == OpType.POSTFIX) {
node = new ASTNode(
Expand Down Expand Up @@ -364,14 +365,15 @@ public UnaryParseMap(String opr, String pluginName, OpType type) {
this.type = type;
}

public UnaryMap map(Object[] v) {
@Override
public UnaryMap apply(Object[] v) {
return new UnaryMap(opr, pluginName, type, v);
}

}

/* Special binary map class */
public static class BinaryMap implements Binary<Node> {
public static class BinaryMap implements BinaryOperator<Node> {

//private String pluginNames;
private String opr;
Expand All @@ -397,7 +399,8 @@ public BinaryMap(String opr, String pluginNames, OpType type, Object[] cnodes) {
/**
* Creates a tree for this operator with an {@link ASTNode} as its root.
*/
public Node map(Node o1, Node o2) {
@Override
public Node apply(Node o1, Node o2) {
Node node = new ASTNode(
null, ASTNode.BINARY_OPERATOR_CLASS, "", ((Node)cnodes[1]).getToken(), o1.getScannerInfo());
node.addChild(o1);
Expand All @@ -423,14 +426,15 @@ public BinaryParseMap(String opr, String pluginName, OpType type) {
this.type = type;
}

public BinaryMap map(Object[] v) {
@Override
public BinaryMap apply(Object[] v) {
return new BinaryMap(opr, pluginName, type, v);
}

}

/* Special index map class */
public static class IndexMap implements Unary<Node> {
public static class IndexMap implements UnaryOperator<Node> {

//private String pluginNames;
private String opr1;
Expand Down Expand Up @@ -458,9 +462,9 @@ public IndexMap(String opr1, String opr2, String pluginNames, OpType type, Objec
/**
* Creates a tree for this operator with an {@link ASTNode} as its root.
*/
public Node map(Node child) {
Node node = null;
node = new ASTNode(
@Override
public Node apply(Node child) {
Node node = new ASTNode(
null, ASTNode.INDEX_OPERATOR_CLASS, "", opr1 + OperatorRule.OPERATOR_DELIMITER + opr2, child.getScannerInfo());
node.addChild(child);
for (Object obj: cnodes)
Expand All @@ -484,7 +488,8 @@ public IndexParseMap(String opr1, String opr2, String pluginName, OpType type) {
this.type = type;
}

public IndexMap map(Object[] v) {
@Override
public IndexMap apply(Object[] v) {
return new IndexMap(opr1, opr2, pluginName, type, v);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ public ImportRuleParseMap() {
super(Kernel.PLUGIN_NAME);
}

public Node map(Object[] v) {
@Override
public Node apply(Object[] v) {
Node node = new ASTNode(
null,
ASTNode.RULE_CLASS,
Expand Down
57 changes: 33 additions & 24 deletions org.coreasm.engine/src/org/coreasm/engine/kernel/Kernel.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
import java.util.Map.Entry;
import java.util.Set;

import org.codehaus.jparsec.Parser;
import org.codehaus.jparsec.Parsers;
import org.jparsec.Parser;
import org.jparsec.Parsers;
import org.coreasm.compiler.interfaces.CompilerPlugin;
import org.coreasm.compiler.plugins.kernel.CompilerKernelPlugin;
import org.coreasm.engine.ControlAPI;
Expand Down Expand Up @@ -314,8 +314,9 @@ public Map<String, GrammarRule> getParsers() {
parserTools.getKeywParser("use", this.getName()),
idParser,
new ParseMap2(getName()) {

public Node map(Node a, Node b) {

@Override
public Node apply(Node a, Node b) {
Node node = new ASTNode(
pluginName,
ASTNode.DECLARATION_CLASS,
Expand All @@ -337,8 +338,9 @@ public Node map(Node a, Node b) {
parserTools.getKeywParser("init", this.getName()),
idParser,
new ParseMap2(getName()) {

public Node map(Node a, Node b) {

@Override
public Node apply(Node a, Node b) {
Node node = new ASTNode(
null,
null,
Expand All @@ -362,7 +364,7 @@ public Node map(Node a, Node b) {
parserTools.getOprParser("("),
parserTools.csplus(idParser),
parserTools.getOprParser(")")
).optional(),
).optional(null),
}).map(new ParserTools.RuleSignatureParseMap());
refRuleSignatureParser.set(rulesignParser);
parsers.put("RuleSignature", new GrammarRule("RuleSignature", "ID ( '(' ID (',' ID)* ')' )?", refRuleSignatureParser.lazy(), this.getName()));
Expand All @@ -386,14 +388,14 @@ public Node map(Node a, Node b) {
Parser<Node> coreASMParser = Parsers.array(new Parser[] {
parserTools.getKeywParser("CoreASM", this.getName()),
idParser,
parserTools.star(
Parsers.or(
useClauseParser,
refHeaderParser.lazy(),
initializationParser,
ruleDeclarationParser
)
)
parserTools.many(
Parsers.or(
useClauseParser,
refHeaderParser.lazy(),
initializationParser,
ruleDeclarationParser
)
)
}).map(new ParserTools.CoreASMParseMap())
.followedBy(Parsers.EOF);
parsers.put("CoreASM", new GrammarRule("CoreASM",
Expand Down Expand Up @@ -448,7 +450,8 @@ private void createRuleParser(Map<String, GrammarRule> parsers) {
// Rule : 'skip'
Parser<Node> skipRuleParser = parserTools.getKeywParser("skip", PLUGIN_NAME).map(
new ParseMap<Node, Node>(PLUGIN_NAME) {
public Node map(Node v) {
@Override
public Node apply(Node v) {
return new SkipRuleNode(v.getScannerInfo());
}});
parsers.put("SkipRule", new GrammarRule("SkipRule", "'skip'", skipRuleParser, PLUGIN_NAME));
Expand All @@ -471,7 +474,8 @@ public Node map(Node v) {
Parser<Node> macroCallRule = Parsers.array(refFuncRuleTermParser.lazy()).map(
new ParseMap<Object[], Node>(PLUGIN_NAME) {

public Node map(Object[] vals) {
@Override
public Node apply(Object[] vals) {
Node node = new MacroCallRuleNode(((Node)vals[0]).getScannerInfo());
node.addChild("alpha", (Node)vals[0]);
return node;
Expand Down Expand Up @@ -529,7 +533,7 @@ private Parser<Node> createTermParser(Map<String, GrammarRule> parsers) {
// TupleTerm: '(' ( Term ( ',' Term )* )? ')'
Parser<Node> ttParser = Parsers.array( //parserTools.seq(
parserTools.getOprParser("("),
parserTools.csplus(refTermParser.lazy()).optional(),
parserTools.csplus(refTermParser.lazy()).optional(null),
parserTools.getOprParser(")")
).map(new TupleTermParseMap());
refTupleTermParser.set(ttParser);
Expand Down Expand Up @@ -561,7 +565,7 @@ private void createFunctionRuleTermParser() {
Parser<Node> basicFunctionRuleTermParser = Parsers.array(
new Parser[] {
idParser,
refTupleTermParser.lazy().optional()
refTupleTermParser.lazy().optional(null)
}).map(new ParserTools.FunctionRuleTermParseMap());
parsers.put("BasicFunctionRuleTerm",
new GrammarRule("BasicFunctionRuleTerm",
Expand Down Expand Up @@ -613,7 +617,8 @@ private Parser<Node> createExpressionParser() {
parserTools.getKeywParser("undef", PLUGIN_NAME),
parserTools.getKeywParser("self", PLUGIN_NAME)).map(
new ParseMap<Node, Node>(PLUGIN_NAME) {
public Node map(Node v) {
@Override
public Node apply(Node v) {
Node node = new ASTNode(
pluginName,
ASTNode.EXPRESSION_CLASS,
Expand All @@ -633,7 +638,8 @@ public Node map(Node v) {
parserTools.getKeywParser("true", PLUGIN_NAME),
parserTools.getKeywParser("false", PLUGIN_NAME)).map(
new ParseMap<Node, Node>(PLUGIN_NAME) {
public Node map(Node v) {
@Override
public Node apply(Node v) {
Node node = new ASTNode(
pluginName,
ASTNode.EXPRESSION_CLASS,
Expand All @@ -659,7 +665,8 @@ public Node map(Node v) {
parserTools.getOprParser(")")
).map(new ParseMap<Object[], Node>(PLUGIN_NAME){

public Node map(Object[] v) {
@Override
public Node apply(Object[] v) {
Node node = new EnclosedTermNode(((Node)v[0]).getScannerInfo());
for (Object o:v) node.addChild((Node)o);
return node;
Expand Down Expand Up @@ -739,7 +746,8 @@ private void createBasicTerm(Parser<Node> functionRuleTermParser) {

new ParseMap2(PLUGIN_NAME) {

public Node map(Node a, Node b) {
@Override
public Node apply(Node a, Node b) {
Node node = new ASTNode(
pluginName,
ASTNode.EXPRESSION_CLASS,
Expand All @@ -764,7 +772,8 @@ public Node map(Node a, Node b) {
idParser,
new ParseMap2(PLUGIN_NAME) {

public Node map(Node a, Node d) {
@Override
public Node apply(Node a, Node d) {
Node node = new RuleOrFuncElementNode(a.getScannerInfo());
node.addChild(a);
node.addChild("alpha", d);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

package org.coreasm.engine.kernel;

import org.codehaus.jparsec.Parser;
import org.jparsec.Parser;

import org.coreasm.engine.interpreter.Node;
import org.coreasm.engine.plugin.PluginServiceInterface;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ public class TupleTermParseMap extends ParseMap<Object[], Node> {
public TupleTermParseMap() {
super(Kernel.PLUGIN_NAME);
}

public Node map(Object[] v) {

@Override
public Node apply(Object[] v) {
Node node = new ASTNode(
null,
"",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ public UpdateRuleParseMap() {
super(Kernel.PLUGIN_NAME);
}

public Node map(Object[] v) {
@Override
public Node apply(Object[] v) {
Node node = new UpdateRuleNode(((Node)v[0]).getScannerInfo());

for (int i=0; i < v.length; i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import java.util.Hashtable;
import java.util.Iterator;

import org.codehaus.jparsec.Parser;
import org.jparsec.Parser;
import org.coreasm.engine.interpreter.Node;
import org.coreasm.engine.parser.GrammarRule.GRType;
import org.coreasm.util.CoreASMGlobal;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@

import org.coreasm.engine.interpreter.Node;

import org.codehaus.jparsec.Parser;
import org.jparsec.Parser;

/**
* A structure to hold a grammar rule, and a {@link jfun.parsec.Parser} instance
* A structure to hold a grammar rule, and a {@link org.jparsec.Parser} instance
* for that grammar rule.
*
* @author Roozbeh Farahbod
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public class JParsecParser implements Parser {
private boolean headerParsed = false;

/** the actual parser -- a JParsec parser */
private org.codehaus.jparsec.Parser<Node> parser;
private org.jparsec.Parser<Node> parser;

/** the root grammar rule */
private GrammarRule rootGrammarRule;
Expand Down Expand Up @@ -167,11 +167,11 @@ public void parseSpecification() throws ParserException {
this.rootGrammarRule = ((ParserPlugin)kernel).getParsers().get("CoreASM");
this.parser = rootGrammarRule.parser;
try {
org.codehaus.jparsec.Parser<Node> _parser = parser.from(parserTools.getTokenizer(), parserTools.getIgnored());
org.jparsec.Parser<Node> _parser = parser.from(parserTools.getTokenizer(), parserTools.getIgnored());
rootNode = (ASTNode) _parser.parse(specification.getText());
} catch (Throwable e) {
if (e instanceof org.codehaus.jparsec.error.ParserException) {
org.codehaus.jparsec.error.ParserException pe = (org.codehaus.jparsec.error.ParserException) e;
if (e instanceof org.jparsec.error.ParserException) {
org.jparsec.error.ParserException pe = (org.jparsec.error.ParserException) e;
Throwable cause = pe.getCause();
String msg = pe.getMessage();
msg = msg.substring(msg.indexOf("\n")+1);
Expand All @@ -185,8 +185,7 @@ public void parseSpecification() throws ParserException {
}
logger.error(errorLogMsg);

throw new ParserException(msg,
new CharacterPosition(pe.getLocation().line, pe.getLocation().column));
throw new ParserException(msg, new CharacterPosition(pe.getLine(), pe.getColumn()));
}
throw new ParserException(e);
}
Expand Down
Loading