Author: theraven
Date: Thu Aug 11 22:24:17 2011
New Revision: 7230

URL: http://svn.gna.org/viewcvs/etoile?rev=7230&view=rev
Log:
Allow calling C functions from Smalltalk via the C fake class.  This requires 
SourceCodeKit (which requires libclang) to work, so will be silently disabled 
when SCK is not installed.

Simple examples:

Single argument functions:

        C sqrt: 60

This is equivalent to sqrt((double)60) in C

For multiple arguments, you can wrap them in a Smalltalk array, so fdim(60, 12) 
in C becomes:

        C fdim: {60. 12}

Alternatively, you can also split function names up, so you can instead write:

        C f: 60 dim: 12

The function name can be split anywhere - it will be recombined into a single 
name and the colons stripped.


Added:
    trunk/Etoile/Languages/LanguageKit/LKFunctionCall.h
    trunk/Etoile/Languages/LanguageKit/LKFunctionCall.m
Modified:
    trunk/Etoile/Languages/Compiler/test.st
    trunk/Etoile/Languages/LanguageKit/CodeGen/GNUmakefile
    trunk/Etoile/Languages/LanguageKit/CodeGen/LLVMCodeGen.mm
    trunk/Etoile/Languages/LanguageKit/GNUmakefile
    trunk/Etoile/Languages/LanguageKit/LKArrayExpr.h
    trunk/Etoile/Languages/LanguageKit/LKArrayExpr.m
    trunk/Etoile/Languages/LanguageKit/LKCodeGen.h
    trunk/Etoile/Languages/LanguageKit/LKCompiler.m
    trunk/Etoile/Languages/LanguageKit/LKCompilerErrors.h
    trunk/Etoile/Languages/LanguageKit/LanguageKit.h
    trunk/Etoile/Languages/Smalltalk/smalltalk.y


_______________________________________________
Etoile-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-cvs

Reply via email to