Welcome, guest | Sign In | My Account | Store | Cart
import sys

import lua as _lua  # lua (lunatic-pathon)
import os           # bash
import scipy.weave  # Cpp

# more languages can and should be added


### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
# Definition of Decorators
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###

def lua(function):
   
def wrapper(*args):
       
# 1. Do some preprocessing.
       
#print function.__doc__

       
# 2. Call 'function' with given arguments.
        _lua
.execute(function.__doc__)
       
function(*args)

       
# 3. Do some postprocessing.
       
# ...
   
return wrapper

def bash(function):
   
def wrapper(*args):
       
# 1. Do some preprocessing.
       
#print function.__doc__

       
# 2. Call 'function' with given arguments.
        os
.system(function.__doc__)
       
function(*args)

       
# 3. Do some postprocessing.
       
# ...
   
return wrapper

def Cpp(function):
   
def wrapper(*args):
       
# 1. Do some preprocessing.
       
#print function.__doc__
 
       
# 2. Call 'function' with given arguments.
       
#scipy.weave.inline(function.__doc__,
       
#                   ['u', 'dx2', 'dy2', 'dnr_inv', 'nx', 'ny'],
       
#                   type_converters=converters.blitz,
       
#                   compiler = 'gcc')
        scipy
.weave.inline(function.__doc__)
       
function(*args)

       
# 3. Do some postprocessing.
       
# ...
   
return wrapper


### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###
# Example
### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###

@lua
def lua_test():
   
"""print('lua run')
       print('Hello lua World')
       print('lua ok')
    """

   
pass

@bash
def bash_test():
   
"""echo bash run
       echo Hello bash world!
       ls -la
       echo bash ok
    """

   
pass

@Cpp
def Cpp_test():
   
"""printf("C++ run\\n");
       printf("
Hello C++ world!\\n");
       printf("
C++ ok\\n");
    """

   
pass


print "run\n"

lua_test
()
print "\n"
bash_test
()
print "\n"
Cpp_test()
print "\n"

print "ok"

History