cuda: adding prettyprint for cuda functions.
parent
f0292db7d3
commit
48f57fee4f
|
@ -4,7 +4,7 @@ USING: accessors alien.data alien.parser arrays assocs
|
||||||
byte-arrays classes.struct classes.struct.private combinators
|
byte-arrays classes.struct classes.struct.private combinators
|
||||||
combinators.short-circuit cuda cuda.ffi fry generalizations
|
combinators.short-circuit cuda cuda.ffi fry generalizations
|
||||||
io.backend kernel locals macros math namespaces sequences
|
io.backend kernel locals macros math namespaces sequences
|
||||||
variants words ;
|
variants vocabs.loader words ;
|
||||||
QUALIFIED-WITH: alien.c-types c
|
QUALIFIED-WITH: alien.c-types c
|
||||||
IN: cuda.libraries
|
IN: cuda.libraries
|
||||||
|
|
||||||
|
@ -201,3 +201,5 @@ ERROR: bad-cuda-abi abi ;
|
||||||
: add-cuda-library ( name abi path -- )
|
: add-cuda-library ( name abi path -- )
|
||||||
normalize-path <cuda-library>
|
normalize-path <cuda-library>
|
||||||
dup name>> cuda-libraries get-global set-at ;
|
dup name>> cuda-libraries get-global set-at ;
|
||||||
|
|
||||||
|
{ "cuda.libraries" "prettyprint" } "cuda.prettyprint" require-when
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
USING: accessors alien.prettyprint combinators
|
||||||
|
combinators.short-circuit cuda.libraries cuda.syntax definitions
|
||||||
|
effects kernel prettyprint.backend prettyprint.sections see
|
||||||
|
see.private sequences words ;
|
||||||
|
IN: cuda.prettyprint
|
||||||
|
|
||||||
|
PREDICATE: cuda-function-word < word
|
||||||
|
def>> { [ length 14 = ] [ last \ cuda-invoke eq? ] } 1&& ;
|
||||||
|
|
||||||
|
: pprint-cuda-library ( library -- )
|
||||||
|
[ \ CUDA-LIBRARY: [ text ] pprint-prefix ] when* ;
|
||||||
|
|
||||||
|
: pprint-cuda-function ( word quot -- )
|
||||||
|
[
|
||||||
|
<block "(" text
|
||||||
|
[ def>> third ] [ stack-effect in>> ] bi
|
||||||
|
pprint-function-args
|
||||||
|
")" text block>
|
||||||
|
] bi ; inline
|
||||||
|
|
||||||
|
M: cuda-function-word definer drop \ CUDA-FUNCTION: \ ; ;
|
||||||
|
M: cuda-function-word definition drop f ;
|
||||||
|
M: cuda-function-word synopsis*
|
||||||
|
{
|
||||||
|
[ seeing-word ]
|
||||||
|
[ definer. ]
|
||||||
|
[ [ pprint-word ] pprint-cuda-function ]
|
||||||
|
} cleave ;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
! Copyright (C) 2010 Doug Coleman.
|
! Copyright (C) 2010 Doug Coleman.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: alien.parser cuda cuda.libraries io.backend
|
USING: alien.parser cuda.libraries fry kernel lexer namespaces
|
||||||
fry kernel lexer namespaces parser ;
|
parser ;
|
||||||
IN: cuda.syntax
|
IN: cuda.syntax
|
||||||
|
|
||||||
SYNTAX: CUDA-LIBRARY:
|
SYNTAX: CUDA-LIBRARY:
|
||||||
|
|
Loading…
Reference in New Issue