# HG changeset patch # User Nobuyasu Oshiro # Date 1339685105 -32400 # Node ID 66931f63db4dd01713ca600730efc8b6db119cac # Parent a41427ab4d3bb8b27d355041073d2ab48ec000a5 modify diff -r a41427ab4d3b -r 66931f63db4d paper/Makefile --- a/paper/Makefile Thu Jun 14 20:45:37 2012 +0900 +++ b/paper/Makefile Thu Jun 14 23:45:05 2012 +0900 @@ -1,8 +1,8 @@ -DEPENDENCY = rectype.ind +DEPENDENCY = aplas2012.tex abstract 0 % sections -DEPENDOHP = ohp.tex +DEPENDOHP = ohp.tex abstract 0 % sections -PAPER = rectype.ind +PAPER = aplas2012.tex PRINTER = ab diff -r a41427ab4d3b -r 66931f63db4d paper/rectype.ind --- a/paper/rectype.ind Thu Jun 14 20:45:37 2012 +0900 +++ b/paper/rectype.ind Thu Jun 14 23:45:05 2012 +0900 @@ -179,7 +179,27 @@ crucial in UML. ---recursive type syntax +--Recursive type syntax + +CbC's program pass next pointer of code segment on argument. +It is passed as follows. + + __code csA( __code (*p)() ) { + goto p(csB); + } + +But, This declarationd is not right. +Because p have arguments. +p + + + + __code csA( __code (*p)( __code (*)( __code (*)( __code )))) { + goto p(csB); + } + + + We implemented \rectype syntax in CbC on GCC. \rectype syntax is declare a recursive type. @@ -203,13 +223,6 @@ p(csB); } - - - __code csA( __code (*p)( __code (*)( __code (*)( __code )))) { - goto p(csB); - } - - --Implementation of \rectype in CbC on GCC