changeset 40:4b828672f6b9

modify rectype.ind
author Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
date Sat, 16 Jun 2012 02:57:15 +0900
parents 09cd9c5c7c40
children 14ba294891b9
files paper/rectype.ind paper/ref.bib
diffstat 2 files changed, 26 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/paper/rectype.ind	Sat Jun 16 02:39:18 2012 +0900
+++ b/paper/rectype.ind	Sat Jun 16 02:57:15 2012 +0900
@@ -20,20 +20,20 @@
 --Motivation
 
 The C programming language is used in many practical programs, operating system  
-kernels, byte code machines, network servers or embeded systems. Low level feature
-of C is useful, but sometimes it requres programming hacks. For example, in case of
+kernels, byte code machines, network servers or embedded systems. Low level feature
+of C is useful, but sometimes it requires programming hacks. For example, in case of
 byte code machine often entire program is a huge switch statement which has many
-labels which corespond the byte codes. Operating system or network server has
+labels which correspond the byte codes. Operating system or network server has
 many layers such as system call dispatch, transport or presentation layer. It 
 requires deep call levels,  2 or 3 for each layer, resulting 10-30 call levels.
 
-Continuation based C (CbC) provids a structured way to represent these situations. It
-is a small modication of C. It consists of a syntax to force tail-call-elimation
-and parametarized goto statement. 
+Continuation based C (CbC) provides a structured way to represent these situations. It
+is a small medication of C. It consists of a syntax to force tail-call-elimination
+and parameterized goto statement. 
 
 C has capable of recursive functions, but we find it's type system is not enough
 to represent CbC programming. In this paper, we introduce \rectype
-keyward as a recursive type. To handle recursive type, conventionally tagged struct 
+keyword as a recursive type. To handle recursive type, conventionally tagged struct 
 is used. It is also fit for CbC program.
 
 We will describe the CbC and \rectype implementation of CbC on GCC 4.6.0.
@@ -118,12 +118,12 @@
        goto p(csB);
     }
 
-It is enough to type {\csB}, but of course it is not completly wll typed.
+It is enough to type {\verb+csB+}, but of course it is not completely will typed.
 Omitting types of the arguments of a function is allowed, but it requires
-complex declaration and it is imcomplete.
+complex declaration and it is incomplete.
 
-We introduce \rectype syntax for this situation. In an argument declation,
-\rectype represents it's fuction type. Using \rectype, previous example can
+We introduce \rectype syntax for this situation. In an argument deflation,
+\rectype represents it's function type. Using \rectype, previous example can
 be written like this;
 
     __code csA( __rectype *p) {
@@ -132,7 +132,7 @@
 
 {\tt *p} has a type of {\tt csA} itself.
 
-The same situation is happen in convetional C, since Code Segment is a
+The same situation is happen in conventional C, since Code Segment is a
 mere C function with tail-call-elimination. \rectype provides exact and
 concise way to describe recursive type. If we have extra arguments,
 
@@ -204,8 +204,8 @@
         return 0;
     }
 
-\rectype is clearer but struct technique provides abstract representation. It requres
-extra struct declation, but it give us the same assembler output.
+\rectype is clearer but struct technique provides abstract representation. It requires
+extra struct declaration, but it give us the same assembler output.
 
     __code fibonacci(__rectype *p, int num,  int count, int result, int prev) 
 
@@ -235,7 +235,7 @@
 \end{figure}
 
 This AST(\ref{fig:tree2}) is made by syntax of \verb+__code csA(__rectype *p)+ .
-\treelist have infomation of argument.
+\treelist have information of argument.
 First \treelist represent that argument is function pointer(\verb+__code (*p)()+) .
 Second \treelist represent that csA is Fixed-length argument.
 First \treelist is connected with \pointertype.
@@ -255,11 +255,11 @@
 
 The above code is the wrong argument of p.
 The p's argument is converted by GCC.
-3 of type int is converted to a pionter type of Code Segment.
+3 of type int is converted to a pointer type of Code Segment.
 At this time, GCC looks at the type of the argument.
 p's argument is pointer of csA.
 csA's argument is p.
-GCC is also an infinite recursion happens to see the type of tye argument of the argument.
+GCC is also an infinite recursion happens to see the type of argument of the argument.
 
 We Solve this problem that does not check the arguments if the \rectype flag is true.
 The following program become part was fixed gcc/c-family/c-pretty-print.c.
@@ -381,7 +381,7 @@
 
 We have designed and implemented Continuation based language for practical use.
 We have implemented \rectype syntax in GCC for CbC.
-Thereby Easily be able to write CbC program than previous.
+Thereby Easyly be able to write CbC program than previous.
 
 This \rectype implementation may be other problems.
 If so, it is necessary to find and fix them on future.
--- a/paper/ref.bib	Sat Jun 16 02:39:18 2012 +0900
+++ b/paper/ref.bib	Sat Jun 16 02:57:15 2012 +0900
@@ -6268,3 +6268,11 @@
  year=2012
 }
 
+\bibitem{cminusminus}
+Norman Ramsey and Simon~Peyton Jones.
+\newblock A single intermediate language that supports multiple implementations
+  of exceptions.
+\newblock In {\em ACM SIGPLAN 2000 Conference on Programming Language Design
+  and Implementation}, June 2000.
+
+