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