TheySaySomethingInterrestingApparently: [Python] CCodeInline to replace np_inline.

〈0,1,1,2,3,5,8,13,21,...〉






Iterpipes, Between Bash and Hash-bash

A library for running shell pipelines using shell-like syntax

Enables piping infinite streams through shell pipelines in Python

xhtml-css Bivalidator

Check your markup and style validity

Advanced

Just type or paste an URL in the form above, and click on "check it" to see the magic. If you want to fine tune your validation, click on the "advanced" link. That's it!

Yet Another Comprehensive Content

Like, Young's modulus is a vibrating variation inside a solid... The times it take to respanw to an excess of energy is what molding apparence may look to not-so solid thing's... Like this Blog when adding content, the effor is like slapping it and the time it goes back, centered... we consider being more stable than usual...

dimanche 27 octobre 2013

[Python] CCodeInline to replace np_inline.

An home-made design, not Warning, no exception enter in 500 lines and can merely compile everything in C. Designed to be more like C++, np_inline is a Boiler plate extracted from bare-bottom python doc

where my Actual development of CCodeInline is a class implementation of the same idiom... Adding possibility to upgrade the skeleton, it also come with possibility to add Include header ( what was really missing inside the Initial boiler-plate of a good C extension of Python compiled code )

Some other story from my github can also comment more on development and what was achieved... But on 3 days of works it merely show a same-to-same comparison be achieved... Parsing is 90% complete and the inherent design like writing the code inside a temporary-path, building and loading module with imp is 100% ported from my class design... A Big Plus, More than one code can be inserted in a skeleton, and Include list ( Should ) follow... Example from the file inside the __main__ demonstrate it's capacity to keep the merged/parsed information and can be switched from a current skeleton to another...

So maybe another fews days, and the code will support many Parameter in entry, C/C++ function will have a choosen C/C++ parameter before compiling, Header-file will be fully integrated and Function itself will not throw an assert on entry-function parameter being only Int or float, PyObject, String and many more parameter will be accessible...

Also planned to be released on pypi.python.org, this one will be up and growing...


Example of Managing a Skeleton with CCodeInline:

Managing the Skeleton

    
### Main example to define some code , some skeleton-Index and calling the
### inline_debug .
    
BInlineCode=r'''printf( "Program #%i: Hello world.\n", i ) ;'''
BCode = CCodeInline( args=(1, ), py_types=(( int, 'i'),)  )
### Note, the object is ready and we only need to define a Skeleton
### with property SkeletonIndex
BCode.SkeletonIndex = 1
BCode.AddSkeleton
### Also good if you do Errors by calling BCode.GenerateCode and parse tag and
### and realize there is an error inside the result, re-add the
### skeleton like this step to Initialize a Skeleton
### Just to sneak-out what inside to print a Generated/Parsed Skeleton
### you can call BCode.VarDefSkeleton property which is the active
### variable manager for current Skeleton
print BCode.VarDefSkeleton
### Don't forget to add the code:
BCode.FCCode = BInlineCode
### Did you add a malloc somewhere in your code.. Still need to add
### an Header ...
BCode.IncludeHeaderType = 'internal'
### IncludeHeaderType one of two words, 'internal', 'external'
### Based on Standard, an internal header will be handled like this : #include <...>
### and external-one will look like this : #include '...'
BCode.DictIncludeHeader = 'stdlib.h'
### Updating the Header list ready for parsing.
BCode.UpdateIncludeHeader
  
### If you do like to see once again, call GenerateCode and you will see appear it inside
### the Include-Header section...
BCode.GenerateCode()

XText may contains errors, syntax errors or lexical error...
XNow with SpellChecking and Editable text. Up to you to get something correct.


  • 1No Interest
  • 2Somewhat good
  • 3Good
  • 4Special.