projects
/
sbp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b3552d7
)
a few tweaks to the Haskell interface
author
adam
<adam@megacz.com>
Sun, 11 Jan 2009 05:15:47 +0000
(
00:15
-0500)
committer
adam
<adam@megacz.com>
Sun, 11 Jan 2009 05:15:47 +0000
(
00:15
-0500)
darcs-hash:
20090111051547
-5007d-
7f5b2f70c16b55ca68cb36493d33567145eefeff
.gz
src/edu/berkeley/sbp/haskell/SBP.lhs
patch
|
blob
|
history
diff --git
a/src/edu/berkeley/sbp/haskell/SBP.lhs
b/src/edu/berkeley/sbp/haskell/SBP.lhs
index
c1d3efb
..
4cc3d26
100644
(file)
--- a/
src/edu/berkeley/sbp/haskell/SBP.lhs
+++ b/
src/edu/berkeley/sbp/haskell/SBP.lhs
@@
-17,6
+17,7
@@
type name = JObject CONCAT(name,_); \
foreign import jvm s CONCAT(_,name) :: JClass; \
instance JType_ CONCAT(name,_) where jClass_ _ = CONCAT(_,name);
#else
foreign import jvm s CONCAT(_,name) :: JClass; \
instance JType_ CONCAT(name,_) where jClass_ _ = CONCAT(_,name);
#else
+{-
import Header_Java;
import Class_HaskellHelper;
import Class_java_lang_Object;
import Header_Java;
import Class_HaskellHelper;
import Class_java_lang_Object;
@@
-32,8
+33,16
@@
import JavaText;
import JavaTypes;
import Data.Int;
import Invocation;
import JavaTypes;
import Data.Int;
import Invocation;
+-}
+import Foreign.JavaVM.Lib.Class_java_lang_System;
+import Foreign.JavaVM.Lib.Class_java_lang_String;
+import TestCallback_JVM;
+import Foreign.JavaVM;
+import Platform.JavaVM;
+import Data.Witness;
+import Control.Concurrent;
+import System.IO;
#endif
#endif
---import Text.PrettyPrint.HughesPJ
import Text.PrettyPrint.Leijen
data Location = Location Int Int
import Text.PrettyPrint.Leijen
data Location = Location Int Int
@@
-119,17
+128,17
@@
parseFile f = do f' <- packJString f
------------------------------------------------------------------------------
#else
-- Why do I need this?
------------------------------------------------------------------------------
#else
-- Why do I need this?
- instance SubJavaClassMarker
- Header_edu_berkeley_sbp_Tree.Class_Jedu_berkeley_sbp_Tree
- Header_HaskellHelper.Class_Jedu_berkeley_sbp_Tree
+instance SubJavaClassMarker
+ Header_edu_berkeley_sbp_Tree.Class_Jedu_berkeley_sbp_Tree
+ Header_HaskellHelper.Class_Jedu_berkeley_sbp_Tree
- parseFile ::
+parseFile ::
[String] -> -- class path
String -> -- grammar *.g file
String -> -- file to be parsed
IO Tree
[String] -> -- class path
String -> -- grammar *.g file
String -> -- file to be parsed
IO Tree
- parseFile classPath grammarFile inputFile =
+parseFile classPath grammarFile inputFile =
runJVM classPath
((do class_JHaskellHelper
s1 <- new_JString_ArrayJchar $ toJavaString grammarFile
runJVM classPath
((do class_JHaskellHelper
s1 <- new_JString_ArrayJchar $ toJavaString grammarFile
@@
-139,12
+148,15
@@
parseFile f = do f' <- packJString f
return t
) :: JVM Tree)
return t
) :: JVM Tree)
- haskifyTree t =
+haskifyTree t =
((do class_JHaskellHelper
class_JTree
head <- getHead_JTree t ()
isNull <- getIsNothing head
((do class_JHaskellHelper
class_JTree
head <- getHead_JTree t ()
isNull <- getIsNothing head
- str <- if isNull then (return "") else (toString_JObject ((castTLRef head) :: Jjava_lang_Object) () >>= getStringUTF >>= \x -> return (showUTF8 x))
+ str <- if isNull
+ then (return "")
+ else (toString_JObject ((castTLRef head) :: Jjava_lang_Object) ()
+ >>= getStringUTF >>= \x -> return (showUTF8 x))
numChildren <- size_JTree t()
children <- if numChildren == 0
then do return []
numChildren <- size_JTree t()
children <- if numChildren == 0
then do return []