summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'compiler')
-rw-r--r--compiler/docgen.nim3
-rw-r--r--compiler/lexer.nim8
-rw-r--r--compiler/parser.nim8
3 files changed, 6 insertions, 13 deletions
diff --git a/compiler/docgen.nim b/compiler/docgen.nim
index 4145883d6..4af69745b 100644
--- a/compiler/docgen.nim
+++ b/compiler/docgen.nim
@@ -384,8 +384,7 @@ proc genItem(d: PDoc, n, nameNode: PNode, k: TSymKind) =
        tkBracketDotLe, tkBracketDotRi, tkCurlyDotLe, tkCurlyDotRi, tkParDotLe,
        tkParDotRi, tkComma, tkSemiColon, tkColon, tkEquals, tkDot, tkDotDot,
        tkAccent, tkColonColon,
-       tkGStrLit, tkGTripleStrLit, tkInfixOpr, tkPrefixOpr, tkPostfixOpr,
-       tkUnderscore:
+       tkGStrLit, tkGTripleStrLit, tkInfixOpr, tkPrefixOpr, tkPostfixOpr:
       dispA(result, "<span class=\"Other\">$1</span>", "\\spanOther{$1}",
             [toRope(esc(d.target, literal))])
   inc(d.id)
diff --git a/compiler/lexer.nim b/compiler/lexer.nim
index 5d98b872b..e29be7cf8 100644
--- a/compiler/lexer.nim
+++ b/compiler/lexer.nim
@@ -61,8 +61,7 @@ type
     tkComma, tkSemiColon,
     tkColon, tkColonColon, tkEquals, tkDot, tkDotDot,
     tkOpr, tkComment, tkAccent,
-    tkSpaces, tkInfixOpr, tkPrefixOpr, tkPostfixOpr,
-    tkUnderscore
+    tkSpaces, tkInfixOpr, tkPrefixOpr, tkPostfixOpr
 
   TTokTypes* = set[TTokType]
 
@@ -97,7 +96,7 @@ const
     ":", "::", "=", ".", "..",
     "tkOpr", "tkComment", "`",
     "tkSpaces", "tkInfixOpr",
-    "tkPrefixOpr", "tkPostfixOpr", "_"]
+    "tkPrefixOpr", "tkPostfixOpr"]
 
 type
   TNumericalBase* = enum
@@ -876,7 +875,8 @@ proc rawGetTok(L: var TLexer, tok: var TToken) =
       tok.tokType = tkAccent
       inc(L.bufpos)
     of '_':
-      tok.tokType = tkUnderscore
+      tok.tokType = tkSymbol
+      tok.ident = getIdent("_")
       inc(L.bufpos)
     of '\"':
       # check for extended raw string literal:
diff --git a/compiler/parser.nim b/compiler/parser.nim
index 49b4430ab..dcd5401e8 100644
--- a/compiler/parser.nim
+++ b/compiler/parser.nim
@@ -302,9 +302,6 @@ proc parseSymbol(p: var TParser, allowNil = false): PNode =
   of tkSymbol, tkAddr, tkType:
     result = newIdentNodeP(p.tok.ident, p)
     getTok(p)
-  of tkUnderscore:
-    result = newIdentNodeP(getIdent("_"), p)
-    getTok(p)
   of tkAccent:
     result = newNodeP(nkAccQuoted, p)
     getTok(p)
@@ -646,9 +643,6 @@ proc identOrLiteral(p: var TParser, mode: TPrimaryMode): PNode =
   of tkNil:
     result = newNodeP(nkNilLit, p)
     getTok(p)
-  of tkUnderscore:
-    result = newIdentNodeP(getIdent("_"), p)
-    getTok(p)
   of tkParLe:
     # () constructor
     if mode in {pmTypeDesc, pmTypeDef}:
@@ -1820,7 +1814,7 @@ proc parseVarTuple(p: var TParser): PNode =
   result = newNodeP(nkVarTuple, p)
   getTok(p)                   # skip '('
   optInd(p, result)
-  while p.tok.tokType in {tkSymbol, tkAccent, tkUnderscore}:
+  while p.tok.tokType in {tkSymbol, tkAccent}:
     var a = identWithPragma(p)
     addSon(result, a)
     if p.tok.tokType != tkComma: break