CCC: User-Defined Object Structure in C

  • Yasunori Harada
  • Kenichi Yamazaki
  • Richard Potter
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2072)


Traditional object-oriented programming languages do not support user-level object structure definition, so it is impossible to treat external or low-level data structures (like an integer, an array and a pointer) as actual objects. To overcome this, we apply Predicate Dispatching to arbitrary data of C to create CCC. CCC is a simple language extension of C and features user-level object structure definitions, conditional-style dispatching, multi-methods, and class scoped macros.


Shared Memory Object Structure Method Signature Class Argument Code Segment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chambers, C.: Object-Oriented Multi-Methods in Cecil, Proc.ECOOP’92.Google Scholar
  2. 2.
    Chambers, C.: Predicate Classes, Proc.ECOOP’93.Google Scholar
  3. 3.
    Ernst, M., Kaplan, C., and Chambers, C.: Predicate Dispatching: A Unified Theory of Dispatch, ECOOP’98.Google Scholar
  4. 4.
    Harada, Y., Yamazaki, K.: Condition Classes: Polymorphism and Inheritance without Data Abstraction, PRO, IPSJ, Jan. 1996 (In Japanese).Google Scholar
  5. 5.
    Steele, G.L.: Common Lisp: The Language, Digital Press, Bedford MA, 1990. Second edition.Google Scholar
  6. 6.
    Goldberg, A. and Robson, D. Smalltalk-80: The Language and Its Implementation. Addison-Wesley, Reading, MA, 1983.Google Scholar
  7. 7.
    Ellis, M.A., Stroustrup, B.: The Annotated C++ Reference Manual., Addison-Wesley, Reading, MA, 1990.Google Scholar
  8. 8.
    Queinnec, C., Cointe, P.: An Open-Ended Data Representation Model for EuLisp, Proc. 1988 ACM Conference on LISP and Functional Programming.Google Scholar
  9. 9.
    Adams, N., Curtis, P., Spreitzer, M.: "First-class Data-type Representation in SchemeXerox, Proc. 1993 ACM Conference on Programming Language Design.Google Scholar
  10. 10.
    Hollander, Y., Morley, M., Noy, A.: The e Language: A Fresh Separation of Concerns, 38th International Conference on Technology of Object-Oriented Languages: TOOLS-38 Europe 2001, Ed. Wolfgang Pree.Google Scholar
  11. 11.

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Yasunori Harada
    • 1
  • Kenichi Yamazaki
  • Richard Potter
  1. 1.Japan Science and Technology CorporationNTT NTT CSLabsMorinosato Atsugi-City, Kanagawa-Pref.Japan

Personalised recommendations