diff options
author | Araq <rumpf_a@web.de> | 2012-11-22 07:53:50 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2012-11-22 07:53:50 +0100 |
commit | d0de1fc336477231f6f0905f587ad33bfddaca35 (patch) | |
tree | e20b772bbca3848ce2d9862e6adaef28342386c4 | |
parent | 338683a1980e32fb31d8a09e0308e422b883e686 (diff) | |
download | Nim-d0de1fc336477231f6f0905f587ad33bfddaca35.tar.gz |
made 'shared' a keyword
-rwxr-xr-x | compiler/lexer.nim | 5 | ||||
-rwxr-xr-x | compiler/renderer.nim | 17 | ||||
-rwxr-xr-x | compiler/wordrecg.nim | 5 | ||||
-rwxr-xr-x | doc/keywords.txt | 2 | ||||
-rwxr-xr-x | packages/docutils/rst.nim | 2 | ||||
-rwxr-xr-x | web/news.txt | 1 |
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 |