Mercurial > hg > Papers > 2012 > aplas
changeset 15:68d2c32f74cf
modify explanation of rectype syntax
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 15 Jun 2012 00:24:11 +0900 |
parents | 66931f63db4d |
children | b5bef0479ef5 |
files | paper/rectype.ind |
diffstat | 1 files changed, 14 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/rectype.ind Thu Jun 14 23:45:05 2012 +0900 +++ b/paper/rectype.ind Fri Jun 15 00:24:11 2012 +0900 @@ -188,22 +188,28 @@ goto p(csB); } +p is next pointer of codesegment. But, This declarationd is not right. Because p have arguments. -p - +We wanted to the same type of p's arguments as type of csA's arguments. +Right declaration is as follows. - - __code csA( __code (*p)( __code (*)( __code (*)( __code )))) { + __code csA( __code (*p)( __code (*)( __code (*)( __code *)))) { goto p(csB); } - - +The syntax of C Must be declared recursively. +The following declaration if it may be that the type checking of p. -We implemented \rectype syntax in CbC on GCC. + __code csA( __code (*p)( __code )) { + goto p(csB); + } + +However this declaration is long. +Therefore we implemented \rectype syntax in CbC on GCC. + \rectype syntax is declare a recursive type. -This example is using \rectype in CbC. +This example is using \rectype syntax. __code csA( __rectype *p) { goto p(csB); @@ -212,8 +218,6 @@ *p represent pointer of csA at \ref{code:rectype} . p's argument type is same csA that function pointer. -Recursive type Can not declarated in C. -Because