# HG changeset patch # User Michael Van De Vanter # Date 1402102307 25200 # Node ID 915ebb306fccb79bf67655ccef0bab465631af14 # Parent f59498d6e8b12f4df322df91b1a9888b2f6540a0 Truffle/Source: major API revision - All source-related classes now in com.oracle.truffle.api.source - SourceFactory replaced with factory methods on Source - Revision, renaming, and documentation to methods on Source and SourceSection - NullSourceSection is now a utility class diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java --- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/TruffleCompilerImpl.java Fri Jun 06 17:51:47 2014 -0700 @@ -50,6 +50,7 @@ import com.oracle.graal.truffle.nodes.*; import com.oracle.truffle.api.*; import com.oracle.truffle.api.nodes.*; +import com.oracle.truffle.api.source.*; /** * Implementation of the Truffle compiler using Graal. diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/ExecutionContext.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/ExecutionContext.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/ExecutionContext.java Fri Jun 06 17:51:47 2014 -0700 @@ -120,7 +120,7 @@ * Returns all existing probes with first character on a specified line; empty collection if no * probes found. */ - public final Collection findProbesByLine(SourceLineLocation lineLocation) { + public final Collection findProbesByLine(LineLocation lineLocation) { return probeManager.findProbesByLine(lineLocation); } diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Probe.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Probe.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/Probe.java Fri Jun 06 17:51:47 2014 -0700 @@ -24,7 +24,7 @@ */ package com.oracle.truffle.api.instrument; -import com.oracle.truffle.api.*; +import com.oracle.truffle.api.source.*; /** * A collector of {@link ExecutionEvents} at a specific site (node) in a Truffle AST (generated by a diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ProbeListener.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ProbeListener.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/ProbeListener.java Fri Jun 06 17:51:47 2014 -0700 @@ -24,10 +24,14 @@ */ package com.oracle.truffle.api.instrument; -import com.oracle.truffle.api.*; +import com.oracle.truffle.api.source.*; /** * Client for receiving events relate to {@link Probe} management. Does not report AST copying. + *

+ * Disclaimer: experimental interface under development. + * + * @See Instrumentation */ public interface ProbeListener { diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/SourceCallback.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/SourceCallback.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/SourceCallback.java Fri Jun 06 17:51:47 2014 -0700 @@ -24,7 +24,7 @@ */ package com.oracle.truffle.api.instrument; -import com.oracle.truffle.api.*; +import com.oracle.truffle.api.source.*; /** * Instrumentation callback for guest language source-related events. diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/SourceListener.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/SourceListener.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/SourceListener.java Fri Jun 06 17:51:47 2014 -0700 @@ -24,7 +24,7 @@ */ package com.oracle.truffle.api.instrument; -import com.oracle.truffle.api.*; +import com.oracle.truffle.api.source.*; /** * A client of the instrumentation framework that requests event notifications from the language diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/DefaultASTPrinter.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/DefaultASTPrinter.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/DefaultASTPrinter.java Fri Jun 06 17:51:47 2014 -0700 @@ -27,12 +27,12 @@ import java.io.*; import java.util.*; -import com.oracle.truffle.api.*; import com.oracle.truffle.api.instrument.*; import com.oracle.truffle.api.nodes.*; import com.oracle.truffle.api.nodes.NodeUtil.NodeClass; import com.oracle.truffle.api.nodes.NodeUtil.NodeField; import com.oracle.truffle.api.nodes.NodeUtil.NodeFieldKind; +import com.oracle.truffle.api.source.*; /** * A language-agnostic for printing out various pieces of a Truffle AST. diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/DefaultVisualizer.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/DefaultVisualizer.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/DefaultVisualizer.java Fri Jun 06 17:51:47 2014 -0700 @@ -28,6 +28,7 @@ import com.oracle.truffle.api.frame.*; import com.oracle.truffle.api.instrument.*; import com.oracle.truffle.api.nodes.*; +import com.oracle.truffle.api.source.*; public class DefaultVisualizer implements Visualizer { diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/InstrumentationNode.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/InstrumentationNode.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/InstrumentationNode.java Fri Jun 06 17:51:47 2014 -0700 @@ -31,6 +31,7 @@ import com.oracle.truffle.api.frame.*; import com.oracle.truffle.api.instrument.*; import com.oracle.truffle.api.nodes.*; +import com.oracle.truffle.api.source.*; /** * Abstract implementation of Truffle {@link Node} to be used for AST probes and instruments. diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/ProbeManager.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/ProbeManager.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/instrument/impl/ProbeManager.java Fri Jun 06 17:51:47 2014 -0700 @@ -26,7 +26,6 @@ import java.util.*; -import com.oracle.truffle.api.*; import com.oracle.truffle.api.instrument.*; import com.oracle.truffle.api.instrument.impl.InstrumentationNode.ProbeCallback; import com.oracle.truffle.api.instrument.impl.InstrumentationNode.ProbeImpl; @@ -47,7 +46,7 @@ /** * Map: Source line ==> probes associated with source sections starting on the line. */ - private final Map> lineToProbes = new HashMap<>(); + private final Map> lineToProbes = new HashMap<>(); private final List probeListeners = new ArrayList<>(); @@ -104,7 +103,7 @@ // Register new probe by source line, there may be more than one // Create line location for map key - final SourceLineLocation lineLocation = new SourceLineLocation(sourceSection.getSource(), sourceSection.getStartLine()); + final LineLocation lineLocation = sourceSection.getLineLocation(); Collection probes = lineToProbes.get(lineLocation); if (probes == null) { @@ -130,7 +129,7 @@ return probes; } - public Collection findProbesByLine(SourceLineLocation lineLocation) { + public Collection findProbesByLine(LineLocation lineLocation) { final Collection probes = lineToProbes.get(lineLocation); if (probes == null) { return Collections.emptyList(); diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/Node.java Fri Jun 06 17:51:47 2014 -0700 @@ -30,6 +30,7 @@ import java.util.concurrent.*; import com.oracle.truffle.api.*; +import com.oracle.truffle.api.source.*; /** * Abstract base class for all Truffle nodes. diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/NodeUtil.java Fri Jun 06 17:51:47 2014 -0700 @@ -34,6 +34,7 @@ import com.oracle.truffle.api.*; import com.oracle.truffle.api.nodes.Node.Child; import com.oracle.truffle.api.nodes.Node.Children; +import com.oracle.truffle.api.source.*; /** * Utility class that manages the special access methods for node instances. diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RootNode.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RootNode.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/RootNode.java Fri Jun 06 17:51:47 2014 -0700 @@ -26,6 +26,7 @@ import com.oracle.truffle.api.*; import com.oracle.truffle.api.frame.*; +import com.oracle.truffle.api.source.*; /** * A root node is a node with a method to execute it given only a frame as a parameter. Therefore, a diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/serial/PostOrderDeserializer.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/serial/PostOrderDeserializer.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/serial/PostOrderDeserializer.java Fri Jun 06 17:51:47 2014 -0700 @@ -29,11 +29,11 @@ import sun.misc.*; -import com.oracle.truffle.api.*; import com.oracle.truffle.api.nodes.*; import com.oracle.truffle.api.nodes.NodeUtil.NodeClass; import com.oracle.truffle.api.nodes.NodeUtil.NodeField; import com.oracle.truffle.api.nodes.NodeUtil.NodeFieldKind; +import com.oracle.truffle.api.source.*; /** * Experimental API. May change without notice. @@ -61,12 +61,12 @@ /** * Deserializes the byte stream and returns the deserialized Truffle AST node. - * + * * @param bytes the trimmed byte array containing the serialized data * @param expectedType the expected root node type. Throws an exception if the root node is not * assignable from this type. * @return the deserialized Truffle AST represented by the root Node. - * + * * @throws UnsupportedConstantPoolTypeException thrown if a type is encountered that is not * supported by the constant pool implementation. */ diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/serial/PostOrderSerializer.java --- a/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/serial/PostOrderSerializer.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.api/src/com/oracle/truffle/api/nodes/serial/PostOrderSerializer.java Fri Jun 06 17:51:47 2014 -0700 @@ -29,11 +29,11 @@ import sun.misc.*; -import com.oracle.truffle.api.*; import com.oracle.truffle.api.nodes.*; import com.oracle.truffle.api.nodes.NodeUtil.NodeClass; import com.oracle.truffle.api.nodes.NodeUtil.NodeField; import com.oracle.truffle.api.nodes.NodeUtil.NodeFieldKind; +import com.oracle.truffle.api.source.*; /** * Experimental API. May change without notice. @@ -59,10 +59,10 @@ /** * Serializes the node AST and returns the serialized data as byte array. - * + * * @param node the root node that represents the Truffle AST that should be serialized. * @return a trimmed byte array that contains the serialized data. - * + * * @throws UnsupportedConstantPoolTypeException thrown if a type is encountered that is not * supported by the constant pool implementation. */ diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/TruffleTypes.java --- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/TruffleTypes.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/TruffleTypes.java Fri Jun 06 17:51:47 2014 -0700 @@ -36,6 +36,7 @@ import com.oracle.truffle.api.nodes.*; import com.oracle.truffle.api.nodes.Node.Child; import com.oracle.truffle.api.nodes.Node.Children; +import com.oracle.truffle.api.source.*; /** * THIS IS NOT PUBLIC API. diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/SLTestRunner.java --- a/graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/SLTestRunner.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.sl.test/src/com/oracle/truffle/sl/test/SLTestRunner.java Fri Jun 06 17:51:47 2014 -0700 @@ -36,7 +36,6 @@ import org.junit.runners.*; import org.junit.runners.model.*; -import com.oracle.truffle.api.*; import com.oracle.truffle.api.source.*; import com.oracle.truffle.sl.*; import com.oracle.truffle.sl.runtime.*; @@ -156,7 +155,7 @@ PrintStream printer = new PrintStream(out); try { SLContext context = new SLContext(new BufferedReader(new StringReader(repeat(testCase.testInput, REPEATS))), printer); - final Source source = SourceFactory.fromText(readAllLines(testCase.path), testCase.sourceName); + final Source source = Source.fromText(readAllLines(testCase.path), testCase.sourceName); SLMain.run(context, source, null, REPEATS); String actualOutput = new String(out.toByteArray()); diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/SLMain.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/SLMain.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/SLMain.java Fri Jun 06 17:51:47 2014 -0700 @@ -123,9 +123,9 @@ Source source; if (args.length == 0) { - source = SourceFactory.fromReader(new InputStreamReader(System.in), "stdin"); + source = Source.fromReader(new InputStreamReader(System.in), "stdin"); } else { - source = SourceFactory.fromFile(args[0]); + source = Source.fromFileName(args[0]); } int repeats = 1; diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLDefineFunctionBuiltin.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLDefineFunctionBuiltin.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/builtins/SLDefineFunctionBuiltin.java Fri Jun 06 17:51:47 2014 -0700 @@ -23,7 +23,6 @@ package com.oracle.truffle.sl.builtins; import com.oracle.truffle.api.CompilerDirectives.SlowPath; -import com.oracle.truffle.api.*; import com.oracle.truffle.api.dsl.*; import com.oracle.truffle.api.nodes.*; import com.oracle.truffle.api.source.*; @@ -45,7 +44,7 @@ @SlowPath private static void doDefineFunction(SLContext context, String code) { - Source source = SourceFactory.fromText(code, "[defineFunction]"); + Source source = Source.fromText(code, "[defineFunction]"); /* The same parsing code as for parsing the initial source. */ Parser.parseSL(context, source); } diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/Parser.frame --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/Parser.frame Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/Parser.frame Fri Jun 06 17:51:47 2014 -0700 @@ -30,7 +30,7 @@ import java.util.*; -import com.oracle.truffle.api.*; +import com.oracle.truffle.api.source.*; import com.oracle.truffle.sl.*; import com.oracle.truffle.sl.nodes.*; import com.oracle.truffle.sl.runtime.*; diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/Parser.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/Parser.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/Parser.java Fri Jun 06 17:51:47 2014 -0700 @@ -27,7 +27,7 @@ import java.util.*; -import com.oracle.truffle.api.*; +import com.oracle.truffle.api.source.*; import com.oracle.truffle.sl.*; import com.oracle.truffle.sl.nodes.*; import com.oracle.truffle.sl.runtime.*; @@ -52,7 +52,7 @@ public final Scanner scanner; public final Errors errors; private final SLNodeFactory factory; - + public Parser(SLContext context, Source source) { this.scanner = new Scanner(source.getInputStream()); this.factory = new SLNodeFactory(context, source); @@ -133,39 +133,39 @@ void Function() { Expect(4); Expect(1); - factory.startFunction(t); + factory.startFunction(t); Expect(5); if (la.kind == 1) { Get(); - factory.addFormalParameter(t); + factory.addFormalParameter(t); while (la.kind == 6) { Get(); Expect(1); - factory.addFormalParameter(t); + factory.addFormalParameter(t); } } Expect(7); SLStatementNode body = Block(false); - factory.finishFunction(body); + factory.finishFunction(body); } SLStatementNode Block(boolean inLoop) { SLStatementNode result; factory.startBlock(); - List body = new ArrayList<>(); + List body = new ArrayList<>(); Expect(8); while (StartOf(1)) { SLStatementNode s = Statement(inLoop); - body.add(s); + body.add(s); } Expect(9); - result = factory.finishBlock(body); + result = factory.finishBlock(body); return result; } SLStatementNode Statement(boolean inLoop) { SLStatementNode result; - result = null; + result = null; switch (la.kind) { case 13: { result = WhileStatement(); @@ -173,13 +173,13 @@ } case 10: { Get(); - if (inLoop) { result = factory.createBreak(t); } else { SemErr("break used outside of loop"); } + if (inLoop) { result = factory.createBreak(t); } else { SemErr("break used outside of loop"); } Expect(11); break; } case 12: { Get(); - if (inLoop) { result = factory.createContinue(t); } else { SemErr("continue used outside of loop"); } + if (inLoop) { result = factory.createContinue(t); } else { SemErr("continue used outside of loop"); } Expect(11); break; } @@ -205,11 +205,11 @@ SLStatementNode result; Expect(13); Expect(5); - Token whileToken = t; + Token whileToken = t; SLExpressionNode condition = Expression(); Expect(7); SLStatementNode body = Block(true); - result = factory.createWhile(whileToken, condition, body); + result = factory.createWhile(whileToken, condition, body); return result; } @@ -217,16 +217,16 @@ SLStatementNode result; Expect(14); Expect(5); - Token ifToken = t; + Token ifToken = t; SLExpressionNode condition = Expression(); Expect(7); SLStatementNode thenPart = Block(inLoop); - SLStatementNode elsePart = null; + SLStatementNode elsePart = null; if (la.kind == 15) { Get(); elsePart = Block(inLoop); } - result = factory.createIf(ifToken, condition, thenPart, elsePart); + result = factory.createIf(ifToken, condition, thenPart, elsePart); return result; } @@ -234,11 +234,11 @@ SLStatementNode result; Expect(16); Token returnToken = t; - SLExpressionNode value = null; + SLExpressionNode value = null; if (StartOf(2)) { value = Expression(); } - result = factory.createReturn(returnToken, value); + result = factory.createReturn(returnToken, value); Expect(11); return result; } @@ -248,9 +248,9 @@ result = LogicTerm(); while (la.kind == 17) { Get(); - Token op = t; + Token op = t; SLExpressionNode right = LogicTerm(); - result = factory.createBinary(op, result, right); + result = factory.createBinary(op, result, right); } return result; } @@ -260,9 +260,9 @@ result = LogicFactor(); while (la.kind == 18) { Get(); - Token op = t; + Token op = t; SLExpressionNode right = LogicFactor(); - result = factory.createBinary(op, result, right); + result = factory.createBinary(op, result, right); } return result; } @@ -297,9 +297,9 @@ break; } } - Token op = t; + Token op = t; SLExpressionNode right = Arithmetic(); - result = factory.createBinary(op, result, right); + result = factory.createBinary(op, result, right); } return result; } @@ -313,9 +313,9 @@ } else { Get(); } - Token op = t; + Token op = t; SLExpressionNode right = Term(); - result = factory.createBinary(op, result, right); + result = factory.createBinary(op, result, right); } return result; } @@ -329,47 +329,47 @@ } else { Get(); } - Token op = t; + Token op = t; SLExpressionNode right = Factor(); - result = factory.createBinary(op, result, right); + result = factory.createBinary(op, result, right); } return result; } SLExpressionNode Factor() { SLExpressionNode result; - result = null; + result = null; if (la.kind == 1) { Get(); - Token nameToken = t; + Token nameToken = t; if (la.kind == 5) { Get(); List parameters = new ArrayList<>(); - SLExpressionNode parameter; + SLExpressionNode parameter; if (StartOf(2)) { parameter = Expression(); - parameters.add(parameter); + parameters.add(parameter); while (la.kind == 6) { Get(); parameter = Expression(); - parameters.add(parameter); + parameters.add(parameter); } } - result = factory.createCall(nameToken, parameters); + result = factory.createCall(nameToken, parameters); Expect(7); } else if (la.kind == 29) { Get(); SLExpressionNode value = Expression(); - result = factory.createAssignment(nameToken, value); + result = factory.createAssignment(nameToken, value); } else if (StartOf(4)) { - result = factory.createRead(nameToken); + result = factory.createRead(nameToken); } else SynErr(32); } else if (la.kind == 2) { Get(); - result = factory.createStringLiteral(t); + result = factory.createStringLiteral(t); } else if (la.kind == 3) { Get(); - result = factory.createNumericLiteral(t); + result = factory.createNumericLiteral(t); } else if (la.kind == 5) { Get(); result = Expression(); diff -r f59498d6e8b1 -r 915ebb306fcc graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SLNodeFactory.java --- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SLNodeFactory.java Fri Jun 06 21:36:56 2014 +0200 +++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/SLNodeFactory.java Fri Jun 06 17:51:47 2014 -0700 @@ -25,9 +25,9 @@ import java.math.*; import java.util.*; -import com.oracle.truffle.api.*; import com.oracle.truffle.api.frame.*; import com.oracle.truffle.api.nodes.*; +import com.oracle.truffle.api.source.*; import com.oracle.truffle.sl.nodes.*; import com.oracle.truffle.sl.nodes.call.*; import com.oracle.truffle.sl.nodes.controlflow.*;