summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2012-11-22 07:53:50 +0100
committerAraq <rumpf_a@web.de>2012-11-22 07:53:50 +0100
commitd0de1fc336477231f6f0905f587ad33bfddaca35 (patch)
treee20b772bbca3848ce2d9862e6adaef28342386c4
parent338683a1980e32fb31d8a09e0308e422b883e686 (diff)
downloadNim-d0de1fc336477231f6f0905f587ad33bfddaca35.tar.gz
made 'shared' a keyword
-rwxr-xr-xcompiler/lexer.nim5
-rwxr-xr-xcompiler/renderer.nim17
-rwxr-xr-xcompiler/wordrecg.nim5
-rwxr-xr-xdoc/keywords.txt2
-rwxr-xr-xpackages/docutils/rst.nim2
-rwxr-xr-xweb/news.txt1
6 files changed, 25 insertions, 7 deletions
diff --git a/compiler/lexer.nim b/compiler/lexer.nim
index 59e367962..abb25541b 100755
--- a/compiler/lexer.nim
+++ b/compiler/lexer.nim
@@ -43,7 +43,7 @@ type
     tkLambda, tkLet,
     tkMacro, tkMethod, tkMixin, tkMod, tkNil, tkNot, tkNotin, 
     tkObject, tkOf, tkOr, tkOut, 
-    tkProc, tkPtr, tkRaise, tkRef, tkReturn, tkShl, tkShr, tkStatic,
+    tkProc, tkPtr, tkRaise, tkRef, tkReturn, tkShared, tkShl, tkShr, tkStatic,
     tkTemplate, 
     tkTry, tkTuple, tkType, tkVar, tkWhen, tkWhile, tkWith, tkWithout, tkXor,
     tkYield, # end of keywords
@@ -78,7 +78,8 @@ const
     "lambda", "let", 
     "macro", "method", "mixin", "mod", 
     "nil", "not", "notin", "object", "of", "or", 
-    "out", "proc", "ptr", "raise", "ref", "return", "shl", "shr", "static",
+    "out", "proc", "ptr", "raise", "ref", "return", 
+    "shared", "shl", "shr", "static",
     "template", 
     "try", "tuple", "type", "var", "when", "while", "with", "without", "xor",
     "yield",
diff --git a/compiler/renderer.nim b/compiler/renderer.nim
index de642eccb..b9d522694 100755
--- a/compiler/renderer.nim
+++ b/compiler/renderer.nim
@@ -425,6 +425,8 @@ proc lsub(n: PNode): int =
   of nkTypeDef: result = lsons(n) + 3
   of nkOfInherit: result = lsub(n.sons[0]) + len("of_")
   of nkProcTy: result = lsons(n) + len("proc_")
+  of nkIteratorTy: result = lsons(n) + len("iterator_")
+  of nkSharedTy: result = lsons(n) + len("shared_")
   of nkEnumTy: 
     if sonsLen(n) > 0:
       result = lsub(n.sons[0]) + lcomma(n, 1) + len("enum_")
@@ -1025,7 +1027,20 @@ proc gsub(g: var TSrcGen, n: PNode, c: TContext) =
       gsub(g, n.sons[1])
     else:
       put(g, tkProc, "proc")
-  of nkEnumTy: 
+  of nkIteratorTy:
+    if sonsLen(n) > 0:
+      putWithSpace(g, tkIterator, "iterator")
+      gsub(g, n.sons[0])
+      gsub(g, n.sons[1])
+    else:
+      put(g, tkIterator, "iterator")
+  of nkSharedTy:
+    if sonsLen(n) > 0:
+      putWithSpace(g, tkShared, "shared")
+      gsub(g, n.sons[0])
+    else:
+      put(g, tkShared, "shared")
+  of nkEnumTy:
     if sonsLen(n) > 0:
       putWithSpace(g, tkEnum, "enum")
       gsub(g, n.sons[0])
diff --git a/compiler/wordrecg.nim b/compiler/wordrecg.nim
index 1cc3269dd..3ad2f45ca 100755
--- a/compiler/wordrecg.nim
+++ b/compiler/wordrecg.nim
@@ -30,7 +30,7 @@ type
     wInclude, wInterface, wIs, wIsnot, wIterator, wLambda, wLet,
     wMacro, wMethod, wMixin, wMod, wNil, 
     wNot, wNotin, wObject, wOf, wOr, wOut, wProc, wPtr, wRaise, wRef, wReturn, 
-    wShl, wShr, wStatic, wTemplate, wTry, wTuple, wType, wVar, 
+    wShared, wShl, wShr, wStatic, wTemplate, wTry, wTuple, wType, wVar, 
     wWhen, wWhile, wWith, wWithout, wXor, wYield,
     
     wColon, wColonColon, wEquals, wDot, wDotDot,
@@ -108,7 +108,8 @@ const
     "lambda", "let",
     "macro", "method", "mixin", "mod", "nil", "not", "notin", 
     "object", "of", "or", 
-    "out", "proc", "ptr", "raise", "ref", "return", "shl", "shr", "static",
+    "out", "proc", "ptr", "raise", "ref", "return",
+    "shared", "shl", "shr", "static",
     "template", "try", "tuple", "type", "var", 
     "when", "while", "with", "without", "xor",
     "yield",
diff --git a/doc/keywords.txt b/doc/keywords.txt
index 03e9cc6fd..2a775cd94 100755
--- a/doc/keywords.txt
+++ b/doc/keywords.txt
@@ -12,7 +12,7 @@ nil not notin
 object of or out
 proc ptr
 raise ref return
-shl shr static
+shared shl shr static
 template try tuple type
 var
 when while with without
diff --git a/packages/docutils/rst.nim b/packages/docutils/rst.nim
index 7507e1596..f594a39f5 100755
--- a/packages/docutils/rst.nim
+++ b/packages/docutils/rst.nim
@@ -672,7 +672,7 @@ when false:
         add(n, newLeaf(p))
         inc(p.idx)
       add(father, n)
-    elif not verbatim and roSupportSmilies in p.shared.options:
+    elif not verbatim and roSupportSmilies in p.sharedState.options:
       let n = parseSmiley(p)
       if s != nil:
         add(father, n)
diff --git a/web/news.txt b/web/news.txt
index 4ed549a62..5ea0dfde9 100755
--- a/web/news.txt
+++ b/web/news.txt
@@ -22,6 +22,7 @@ Library Additions
 Changes affecting backwards compatibility
 -----------------------------------------
 
+- ``shared`` is a keyword now.
 
 
 Compiler Additions