nitlanguage
/
nit.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
bc1c0a1
)
nitcc: parser adds the original error token in the node_stack
author
Jean Privat
<jean@pryen.org>
Fri, 18 Oct 2013 17:27:56 +0000
(13:27 -0400)
committer
Jean Privat
<jean@pryen.org>
Fri, 18 Oct 2013 17:27:56 +0000
(13:27 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>
23 files changed:
contrib/nitcc/tests/sav/empty.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/empty.input2.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/inf5000-04-lexer-demo.input2.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/inf5000-06-grammaire2-grammaire.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lalr.input3.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-markers.alt1.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-markers.alt2.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-markers.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-precedences.alt1.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-precedences.alt10.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-precedences.alt2.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-precedences.alt3.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-precedences.alt5.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-precedences.alt6.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-precedences.alt7.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lexer-precedences.alt9.input.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lr1.input2.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/lr1.input3.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/modif.input3.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/modif.input4.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/not_lalr.input2.res
patch
|
blob
|
history
contrib/nitcc/tests/sav/not_lalr.input3.res
patch
|
blob
|
history
lib/nitcc_runtime.nit
patch
|
blob
|
history
diff --git
a/contrib/nitcc/tests/sav/empty.input.res
b/contrib/nitcc/tests/sav/empty.input.res
index
02b99f2
..
bd962be
100644
(file)
--- a/
contrib/nitcc/tests/sav/empty.input.res
+++ b/
contrib/nitcc/tests/sav/empty.input.res
@@
-1,2
+1,3
@@
NParserError@(1:2-1:2)=''
Nodes
+ Eof@(1:2-1:2)=''
diff --git
a/contrib/nitcc/tests/sav/empty.input2.res
b/contrib/nitcc/tests/sav/empty.input2.res
index
b0ab3c5
..
37e93f1
100644
(file)
--- a/
contrib/nitcc/tests/sav/empty.input2.res
+++ b/
contrib/nitcc/tests/sav/empty.input2.res
@@
-1,2
+1,3
@@
NParserError@(1:1-1:1)=''
Nodes
+ Eof@(1:1-1:1)=''
diff --git
a/contrib/nitcc/tests/sav/inf5000-04-lexer-demo.input2.res
b/contrib/nitcc/tests/sav/inf5000-04-lexer-demo.input2.res
index
eaa2468
..
3ef80f6
100644
(file)
--- a/
contrib/nitcc/tests/sav/inf5000-04-lexer-demo.input2.res
+++ b/
contrib/nitcc/tests/sav/inf5000-04-lexer-demo.input2.res
@@
-1,3
+1,4
@@
NLexerError@(1:1-1:1)='5'
Nodes
p
+ NLexerError@(1:1-1:1)='5'
diff --git
a/contrib/nitcc/tests/sav/inf5000-06-grammaire2-grammaire.input.res
b/contrib/nitcc/tests/sav/inf5000-06-grammaire2-grammaire.input.res
index
1bddbfc
..
4a94cc0
100644
(file)
--- a/
contrib/nitcc/tests/sav/inf5000-06-grammaire2-grammaire.input.res
+++ b/
contrib/nitcc/tests/sav/inf5000-06-grammaire2-grammaire.input.res
@@
-107,3
+107,4
@@
Nodes
alt_0
altid@(5:30-5:37)='{none:}'
atoms_none
+ NLexerError@(5:38-5:38)='E'
diff --git
a/contrib/nitcc/tests/sav/lalr.input3.res
b/contrib/nitcc/tests/sav/lalr.input3.res
index
6d93316
..
2925274
100644
(file)
--- a/
contrib/nitcc/tests/sav/lalr.input3.res
+++ b/
contrib/nitcc/tests/sav/lalr.input3.res
@@
-1,3
+1,4
@@
NParserError@(1:2-1:3)='x'
Nodes
'x'@(1:1-1:2)
+ 'x'@(1:2-1:3)
diff --git
a/contrib/nitcc/tests/sav/lexer-markers.alt1.input.res
b/contrib/nitcc/tests/sav/lexer-markers.alt1.input.res
index
32aae2f
..
2cca9a9
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-markers.alt1.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-markers.alt1.input.res
@@
-2,3
+2,4
@@
NParserError@(1:2-1:6)='abac'
Nodes
t_0
a@(1:1-1:2)='a'
+ b@(1:2-1:6)='abac'
diff --git
a/contrib/nitcc/tests/sav/lexer-markers.alt2.input.res
b/contrib/nitcc/tests/sav/lexer-markers.alt2.input.res
index
d0d504b
..
169786a
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-markers.alt2.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-markers.alt2.input.res
@@
-2,3
+2,4
@@
NParserError@(1:6-1:7)='a'
Nodes
t_1
b@(1:1-1:6)='aabac'
+ a@(1:6-1:7)='a'
diff --git
a/contrib/nitcc/tests/sav/lexer-markers.input.res
b/contrib/nitcc/tests/sav/lexer-markers.input.res
index
32aae2f
..
2cca9a9
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-markers.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-markers.input.res
@@
-2,3
+2,4
@@
NParserError@(1:2-1:6)='abac'
Nodes
t_0
a@(1:1-1:2)='a'
+ b@(1:2-1:6)='abac'
diff --git
a/contrib/nitcc/tests/sav/lexer-precedences.alt1.input.res
b/contrib/nitcc/tests/sav/lexer-precedences.alt1.input.res
index
4b0c2ea
..
7bb0443
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-precedences.alt1.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-precedences.alt1.input.res
@@
-2,3
+2,4
@@
NParserError@(1:2-1:3)='a'
Nodes
t_0
xa@(1:1-1:2)='a'
+ xa@(1:2-1:3)='a'
diff --git
a/contrib/nitcc/tests/sav/lexer-precedences.alt10.input.res
b/contrib/nitcc/tests/sav/lexer-precedences.alt10.input.res
index
4b0c2ea
..
7bb0443
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-precedences.alt10.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-precedences.alt10.input.res
@@
-2,3
+2,4
@@
NParserError@(1:2-1:3)='a'
Nodes
t_0
xa@(1:1-1:2)='a'
+ xa@(1:2-1:3)='a'
diff --git
a/contrib/nitcc/tests/sav/lexer-precedences.alt2.input.res
b/contrib/nitcc/tests/sav/lexer-precedences.alt2.input.res
index
4b0c2ea
..
7bb0443
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-precedences.alt2.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-precedences.alt2.input.res
@@
-2,3
+2,4
@@
NParserError@(1:2-1:3)='a'
Nodes
t_0
xa@(1:1-1:2)='a'
+ xa@(1:2-1:3)='a'
diff --git
a/contrib/nitcc/tests/sav/lexer-precedences.alt3.input.res
b/contrib/nitcc/tests/sav/lexer-precedences.alt3.input.res
index
ab653e5
..
3e5e95c
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-precedences.alt3.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-precedences.alt3.input.res
@@
-2,3
+2,4
@@
NParserError@(1:2-1:3)='a'
Nodes
t_1
xb@(1:1-1:2)='a'
+ xb@(1:2-1:3)='a'
diff --git
a/contrib/nitcc/tests/sav/lexer-precedences.alt5.input.res
b/contrib/nitcc/tests/sav/lexer-precedences.alt5.input.res
index
4b0c2ea
..
7bb0443
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-precedences.alt5.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-precedences.alt5.input.res
@@
-2,3
+2,4
@@
NParserError@(1:2-1:3)='a'
Nodes
t_0
xa@(1:1-1:2)='a'
+ xa@(1:2-1:3)='a'
diff --git
a/contrib/nitcc/tests/sav/lexer-precedences.alt6.input.res
b/contrib/nitcc/tests/sav/lexer-precedences.alt6.input.res
index
4b0c2ea
..
7bb0443
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-precedences.alt6.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-precedences.alt6.input.res
@@
-2,3
+2,4
@@
NParserError@(1:2-1:3)='a'
Nodes
t_0
xa@(1:1-1:2)='a'
+ xa@(1:2-1:3)='a'
diff --git
a/contrib/nitcc/tests/sav/lexer-precedences.alt7.input.res
b/contrib/nitcc/tests/sav/lexer-precedences.alt7.input.res
index
4b0c2ea
..
7bb0443
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-precedences.alt7.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-precedences.alt7.input.res
@@
-2,3
+2,4
@@
NParserError@(1:2-1:3)='a'
Nodes
t_0
xa@(1:1-1:2)='a'
+ xa@(1:2-1:3)='a'
diff --git
a/contrib/nitcc/tests/sav/lexer-precedences.alt9.input.res
b/contrib/nitcc/tests/sav/lexer-precedences.alt9.input.res
index
4b0c2ea
..
7bb0443
100644
(file)
--- a/
contrib/nitcc/tests/sav/lexer-precedences.alt9.input.res
+++ b/
contrib/nitcc/tests/sav/lexer-precedences.alt9.input.res
@@
-2,3
+2,4
@@
NParserError@(1:2-1:3)='a'
Nodes
t_0
xa@(1:1-1:2)='a'
+ xa@(1:2-1:3)='a'
diff --git
a/contrib/nitcc/tests/sav/lr1.input2.res
b/contrib/nitcc/tests/sav/lr1.input2.res
index
0f8ad27
..
ff3d1f9
100644
(file)
--- a/
contrib/nitcc/tests/sav/lr1.input2.res
+++ b/
contrib/nitcc/tests/sav/lr1.input2.res
@@
-3,3
+3,4
@@
Nodes
q
'x'@(1:1-1:2)
'a'@(1:2-1:3)
+ Eof@(1:3-1:3)=''
diff --git
a/contrib/nitcc/tests/sav/lr1.input3.res
b/contrib/nitcc/tests/sav/lr1.input3.res
index
78af558
..
44f0f1e
100644
(file)
--- a/
contrib/nitcc/tests/sav/lr1.input3.res
+++ b/
contrib/nitcc/tests/sav/lr1.input3.res
@@
-5,3
+5,4
@@
Nodes
'a'@(1:2-1:3)
q
'x'@(1:3-1:4)
+ 'a'@(1:4-1:5)
diff --git
a/contrib/nitcc/tests/sav/modif.input3.res
b/contrib/nitcc/tests/sav/modif.input3.res
index
efaf7c5
..
df3bef9
100644
(file)
--- a/
contrib/nitcc/tests/sav/modif.input3.res
+++ b/
contrib/nitcc/tests/sav/modif.input3.res
@@
-2,3
+2,4
@@
NParserError@(1:3-1:4)='b'
Nodes
'a'@(1:1-1:2)
'b'@(1:2-1:3)
+ 'b'@(1:3-1:4)
diff --git
a/contrib/nitcc/tests/sav/modif.input4.res
b/contrib/nitcc/tests/sav/modif.input4.res
index
c333c96
..
e5c06f3
100644
(file)
--- a/
contrib/nitcc/tests/sav/modif.input4.res
+++ b/
contrib/nitcc/tests/sav/modif.input4.res
@@
-5,3
+5,4
@@
Nodes
'c'@(1:3-1:4)
s
'd'@(1:4-1:5)
+ 'd'@(1:5-1:6)
diff --git
a/contrib/nitcc/tests/sav/not_lalr.input2.res
b/contrib/nitcc/tests/sav/not_lalr.input2.res
index
3e8ee7f
..
b0af0c3
100644
(file)
--- a/
contrib/nitcc/tests/sav/not_lalr.input2.res
+++ b/
contrib/nitcc/tests/sav/not_lalr.input2.res
@@
-3,3
+3,4
@@
Nodes
'a'@(1:1-1:2)
x
'a'@(1:2-1:3)
+ 'b'@(1:3-1:4)
diff --git
a/contrib/nitcc/tests/sav/not_lalr.input3.res
b/contrib/nitcc/tests/sav/not_lalr.input3.res
index
f1f59ea
..
c657083
100644
(file)
--- a/
contrib/nitcc/tests/sav/not_lalr.input3.res
+++ b/
contrib/nitcc/tests/sav/not_lalr.input3.res
@@
-3,3
+3,4
@@
Nodes
'b'@(1:1-1:2)
x
'a'@(1:2-1:3)
+ 'a'@(1:3-1:4)
diff --git
a/lib/nitcc_runtime.nit
b/lib/nitcc_runtime.nit
index
20342e6
..
26e5f12
100644
(file)
--- a/
lib/nitcc_runtime.nit
+++ b/
lib/nitcc_runtime.nit
@@
-76,6
+76,7
@@
abstract class Parser
#print " expected: {state.error_msg}"
#print " node_stack={node_stack.join(", ")}"
#print " state_stack={state_stack.join(", ")}"
+ node_stack.add(token)
var error: NError
if token isa NLexerError then
error = token