summary refs log tree commit diff stats
path: root/compiler
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2014-01-23 17:19:12 +0100
committerAraq <rumpf_a@web.de>2014-01-23 17:19:12 +0100
commit3e5cb6644f4df51c3f3131108fc7836c431b53c2 (patch)
tree959af7b93494a4f49a7f30212b62e596550d3911 /compiler
parent556efb51588b97e18373b9fea4bd1bb667a8481c (diff)
downloadNim-3e5cb6644f4df51c3f3131108fc7836c431b53c2.tar.gz
typeClasses now documented in grammar.txt
Diffstat (limited to 'compiler')
-rw-r--r--compiler/parser.nim4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/parser.nim b/compiler/parser.nim
index 2b845f3da..1084c3b4a 100644
--- a/compiler/parser.nim
+++ b/compiler/parser.nim
@@ -1048,6 +1048,7 @@ proc parseTypeDesc(p: var TParser): PNode =
 
 proc parseTypeDefAux(p: var TParser): PNode = 
   #| typeDefAux = simpleExpr
+  #|            | 'generic' typeClass
   result = simpleExpr(p, pmTypeDef)
 
 proc makeCall(n: PNode): PNode =
@@ -1672,6 +1673,9 @@ proc parseTypeClassParam(p: var TParser): PNode =
     result = p.parseSymbol
 
 proc parseTypeClass(p: var TParser): PNode =
+  #| typeClassParam = ('var')? symbol
+  #| typeClass = typeClassParam ^* ',' (pragma)? ('of' typeDesc ^* ',')?
+  #|               &IND{>} stmt
   result = newNodeP(nkTypeClassTy, p)
   getTok(p)
   var args = newNode(nkArgList)