Quellcode durchsuchen

Fix Issue #40: Incorrect line number in reported compiler error (in browser).

Vladislav Folts vor 11 Jahren
Ursprung
Commit
0b39741240
4 geänderte Dateien mit 8 neuen und 7 gelöschten Zeilen
  1. 2 2
      src/js/Stream.js
  2. 2 2
      src/ob/Stream.ob
  3. 2 1
      src/oc_nodejs.js
  4. 2 2
      test/recompile_oberon.js.cmd

+ 2 - 2
src/js/Stream.js

@@ -71,11 +71,11 @@ function read(self/*Type*/, f/*ReaderProc*/){
 function lineNumber(self/*Type*/){
 	var line = 0;
 	var lastPos = 0;
-	lastPos = JsString.indexOf(self.s, 13);
+	lastPos = JsString.indexOf(self.s, 10);
 	while (true){
 		if (lastPos != -1 && lastPos < self.pos){
 			++line;
-			lastPos = JsString.indexOfFrom(self.s, 13, lastPos + 1 | 0);
+			lastPos = JsString.indexOfFrom(self.s, 10, lastPos + 1 | 0);
 		} else break;
 	}
 	return line + 1 | 0;

+ 2 - 2
src/ob/Stream.ob

@@ -79,10 +79,10 @@ VAR
     line: INTEGER;
     lastPos: INTEGER;
 BEGIN
-    lastPos := JsString.indexOf(self.s, 0DX);
+    lastPos := JsString.indexOf(self.s, 0AX);
     WHILE (lastPos # -1) & (lastPos < self.pos) DO
         INC(line);
-        lastPos := JsString.indexOfFrom(self.s, 0DX, lastPos + 1);
+        lastPos := JsString.indexOfFrom(self.s, 0AX, lastPos + 1);
     END;
     RETURN line + 1
 END lineNumber;

+ 2 - 1
src/oc_nodejs.js

@@ -1,5 +1,6 @@
 "use strict";
 
+var grammar = require("eberon/eberon_grammar.js").grammar;
 var nodejs = require("nodejs.js");
 
 function main(){
@@ -11,7 +12,7 @@ function main(){
     var outDir = process.argv[2];
     var sources = process.argv.slice(3);
     var errors = "";
-    nodejs.compile(sources, function(e){errors += e;}, outDir);
+    nodejs.compile(sources, grammar, function(e){errors += e;}, outDir);
     if (errors.length){
         console.error(errors);
         return -2;

+ 2 - 2
test/recompile_oberon.js.cmd

@@ -1,3 +1,3 @@
-cd %~dp0../src/oberon
-call %~dp0/run_nodejs.cmd %~dp0../src/oc_nodejs.js %~dp0/_out %~dp0../src/oberon/Lexer.ob
+cd %~dp0../src/ob
+call %~dp0/run_nodejs.cmd %~dp0../src/oc_nodejs.js %~dp0/_out %~dp0../src/ob/Lexer.ob
 cd %~dp0