language-java 0.2.4 → 0.2.5
raw patch · 8 files changed
+182/−96 lines, 8 files
Files
- Language/Java/Parser.hs +26/−31
- Language/Java/Pretty.hs +5/−5
- dist/build/Language/Java/Lexer.hs +95/−59
- language-java.cabal +1/−1
- tests/java/good/TestForLoop.java +6/−0
- tests/java/good/TestMethodCall.java +5/−0
- tests/java/good/issue_comment.java +37/−0
- tests/java/good/nestedComment.java +7/−0
Language/Java/Parser.hs view
@@ -408,9 +408,10 @@ BlockStmt <$> stmt stmt :: P Stmt-stmt =- -- ifThen and ifThenElse, with a common prefix- (do tok KW_If+stmt = ifStmt <|> whileStmt <|> forStmt <|> labeledStmt <|> stmtNoTrail+ where+ ifStmt = do+ tok KW_If e <- parens exp (try $ do th <- stmtNSI@@ -418,14 +419,14 @@ el <- stmt return $ IfThenElse e th el) <|> (do th <- stmt- return $ IfThen e th)) <|>- -- while loops- (do tok KW_While+ return $ IfThen e th)+ whileStmt = do+ tok KW_While e <- parens exp s <- stmt- return $ While e s) <|>- -- basic and enhanced for- (do tok KW_For+ return $ While e s+ forStmt = do+ tok KW_For f <- parens $ (try $ do fi <- opt forInit@@ -441,32 +442,30 @@ e <- exp return $ EnhancedFor ms t i e) s <- stmt- return $ f s) <|>- -- labeled statements- (try $ do+ return $ f s+ labeledStmt = try $ do lbl <- ident colon s <- stmt- return $ Labeled lbl s) <|>- -- the rest- stmtNoTrail+ return $ Labeled lbl s stmtNSI :: P Stmt-stmtNSI =- -- if statements - only full ifThenElse- (do tok KW_If+stmtNSI = ifStmt <|> whileStmt <|> forStmt <|> labeledStmt <|> stmtNoTrail+ where+ ifStmt = do+ tok KW_If e <- parens exp th <- stmtNSI tok KW_Else el <- stmtNSI- return $ IfThenElse e th el) <|>- -- while loops- (do tok KW_While+ return $ IfThenElse e th el+ whileStmt = do+ tok KW_While e <- parens exp s <- stmtNSI- return $ While e s) <|>- -- for loops, both basic and enhanced- (do tok KW_For+ return $ While e s+ forStmt = do+ tok KW_For f <- parens $ (try $ do fi <- opt forInit semiColon@@ -482,16 +481,12 @@ e <- exp return $ EnhancedFor ms t i e) s <- stmtNSI- return $ f s) <|>- -- labeled stmts- (try $ do+ return $ f s+ labeledStmt = try $ do i <- ident colon s <- stmtNSI- return $ Labeled i s) <|>- -- the rest- stmtNoTrail-+ return $ Labeled i s stmtNoTrail :: P Stmt stmtNoTrail =
Language/Java/Pretty.hs view
@@ -100,7 +100,7 @@ instance Pretty MemberDecl where prettyPrec p (FieldDecl mods t vds) =- hsep (map (prettyPrec p) mods ++ prettyPrec p t:map (prettyPrec p) vds) <> semi+ hsep (map (prettyPrec p) mods ++ prettyPrec p t:punctuate (text ",") (map (prettyPrec p) vds)) <> semi prettyPrec p (MethodDecl mods tParams mt ident fParams throws body) = hsep [hsep (map (prettyPrec p) mods)@@ -322,13 +322,13 @@ prettyPrec p (ExpName name) = prettyPrec p name - prettyPrec p (PostIncrement e) = parenPrec p 2 $ prettyPrec 2 e <> text "++"+ prettyPrec p (PostIncrement e) = parenPrec p 1 $ prettyPrec 2 e <> text "++" - prettyPrec p (PostDecrement e) = parenPrec p 2 $ prettyPrec 2 e <> text "--"+ prettyPrec p (PostDecrement e) = parenPrec p 1 $ prettyPrec 2 e <> text "--" - prettyPrec p (PreIncrement e) = parenPrec p 2 $ text "++" <> prettyPrec 2 e+ prettyPrec p (PreIncrement e) = parenPrec p 1 $ text "++" <> prettyPrec 2 e - prettyPrec p (PreDecrement e) = parenPrec p 2 $ text "--" <> prettyPrec 2 e+ prettyPrec p (PreDecrement e) = parenPrec p 1 $ text "--" <> prettyPrec 2 e prettyPrec p (PrePlus e) = parenPrec p 2 $ char '+' <> prettyPrec 2 e
dist/build/Language/Java/Lexer.hs view
@@ -30,6 +30,39 @@ {-# LINE 1 "templates/wrappers.hs" #-} {-# LINE 1 "templates/wrappers.hs" #-} {-# LINE 1 "<command-line>" #-}+++++++# 1 "/usr/include/stdc-predef.h" 1 3 4++# 17 "/usr/include/stdc-predef.h" 3 4++++++++++++++++++++++++# 6 "<command-line>" 2 {-# LINE 1 "templates/wrappers.hs" #-} -- ----------------------------------------------------------------------------- -- Alex wrapper code.@@ -134,15 +167,15 @@ -- ----------------------------------------------------------------------------- -- Basic wrapper -{-# LINE 346 "templates/wrappers.hs" #-}+{-# LINE 347 "templates/wrappers.hs" #-} -- ----------------------------------------------------------------------------- -- Basic wrapper, ByteString version -{-# LINE 364 "templates/wrappers.hs" #-}+{-# LINE 365 "templates/wrappers.hs" #-} -{-# LINE 377 "templates/wrappers.hs" #-}+{-# LINE 378 "templates/wrappers.hs" #-} -- -----------------------------------------------------------------------------@@ -165,7 +198,7 @@ -- ----------------------------------------------------------------------------- -- Posn wrapper, ByteString version -{-# LINE 409 "templates/wrappers.hs" #-}+{-# LINE 410 "templates/wrappers.hs" #-} -- -----------------------------------------------------------------------------@@ -185,7 +218,7 @@ alex_deflt :: AlexAddr alex_deflt = AlexA# "\xff\xff\x32\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x17\x00\x17\x00\xff\xff\x1c\x00\x1c\x00\xff\xff\x1f\x00\x1f\x00\x23\x00\x23\x00\x24\x00\x24\x00\xff\xff\x2a\x00\x2a\x00\xff\xff\x30\x00\x30\x00\x32\x00\x32\x00\x32\x00\x35\x00\x35\x00\x36\x00\xff\xff\xff\xff\x36\x00\x36\x00\x02\x00\xff\xff\xff\xff\x02\x00\x02\x00\x02\x00\xff\xff\x32\x00\x40\x00\x40\x00\x40\x00\x36\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\x40\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"# -alex_accept = listArray (0::Int,381) [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAccSkip)],[(AlexAcc (alex_action_2))],[(AlexAcc (alex_action_3))],[(AlexAcc (alex_action_4))],[(AlexAcc (alex_action_5))],[(AlexAcc (alex_action_6))],[(AlexAcc (alex_action_7))],[(AlexAcc (alex_action_8))],[(AlexAcc (alex_action_9))],[(AlexAcc (alex_action_10))],[(AlexAcc (alex_action_11))],[(AlexAcc (alex_action_12))],[(AlexAcc (alex_action_13))],[(AlexAcc (alex_action_14))],[(AlexAcc (alex_action_15))],[(AlexAcc (alex_action_16))],[(AlexAcc (alex_action_17))],[(AlexAcc (alex_action_18))],[(AlexAcc (alex_action_19))],[(AlexAcc (alex_action_20))],[(AlexAcc (alex_action_21))],[(AlexAcc (alex_action_22))],[(AlexAcc (alex_action_23))],[(AlexAcc (alex_action_24))],[(AlexAcc (alex_action_25))],[(AlexAcc (alex_action_26))],[(AlexAcc (alex_action_27))],[(AlexAcc (alex_action_28))],[(AlexAcc (alex_action_29))],[(AlexAcc (alex_action_30))],[(AlexAcc (alex_action_31))],[(AlexAcc (alex_action_32))],[(AlexAcc (alex_action_33))],[(AlexAcc (alex_action_34))],[(AlexAcc (alex_action_35))],[(AlexAcc (alex_action_36))],[(AlexAcc (alex_action_37))],[(AlexAcc (alex_action_38))],[(AlexAcc (alex_action_39))],[(AlexAcc (alex_action_40))],[(AlexAcc (alex_action_41))],[(AlexAcc (alex_action_42))],[(AlexAcc (alex_action_43))],[(AlexAcc (alex_action_44))],[(AlexAcc (alex_action_45))],[(AlexAcc (alex_action_46))],[(AlexAcc (alex_action_47))],[(AlexAcc (alex_action_48))],[(AlexAcc (alex_action_49))],[(AlexAcc (alex_action_50))],[(AlexAcc (alex_action_51))],[(AlexAcc (alex_action_52))],[(AlexAcc (alex_action_53))],[(AlexAcc (alex_action_54))],[(AlexAcc (alex_action_55))],[(AlexAcc (alex_action_56))],[(AlexAcc (alex_action_57))],[(AlexAcc (alex_action_58))],[(AlexAcc (alex_action_59))],[(AlexAcc (alex_action_60))],[(AlexAcc (alex_action_60))],[(AlexAcc (alex_action_60))],[(AlexAcc (alex_action_61))],[(AlexAcc (alex_action_61))],[(AlexAcc (alex_action_61))],[(AlexAcc (alex_action_62))],[(AlexAcc (alex_action_63))],[(AlexAcc (alex_action_64))],[(AlexAcc (alex_action_65))],[(AlexAcc (alex_action_66))],[(AlexAcc (alex_action_67))],[(AlexAcc (alex_action_67))],[(AlexAcc (alex_action_68))],[(AlexAcc (alex_action_69))],[(AlexAcc (alex_action_70))],[(AlexAcc (alex_action_71))],[(AlexAcc (alex_action_72))],[(AlexAcc (alex_action_73))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_74))],[(AlexAcc (alex_action_75))],[(AlexAcc (alex_action_76))],[(AlexAcc (alex_action_77))],[(AlexAcc (alex_action_78))],[(AlexAcc (alex_action_79))],[(AlexAcc (alex_action_80))],[(AlexAcc (alex_action_81))],[(AlexAcc (alex_action_82))],[(AlexAcc (alex_action_83))],[(AlexAcc (alex_action_84))],[(AlexAcc (alex_action_85))],[(AlexAcc (alex_action_86))],[(AlexAcc (alex_action_87))],[(AlexAcc (alex_action_88))],[(AlexAcc (alex_action_89))],[(AlexAcc (alex_action_90))],[(AlexAcc (alex_action_91))],[(AlexAcc (alex_action_92))],[(AlexAcc (alex_action_93))],[(AlexAcc (alex_action_94))],[(AlexAcc (alex_action_95))],[(AlexAcc (alex_action_96))],[(AlexAcc (alex_action_97))],[(AlexAcc (alex_action_98))],[(AlexAcc (alex_action_99))],[(AlexAcc (alex_action_100))],[(AlexAcc (alex_action_101))],[(AlexAcc (alex_action_102))],[(AlexAcc (alex_action_103))],[(AlexAcc (alex_action_104))],[(AlexAcc (alex_action_105))],[(AlexAcc (alex_action_106))],[(AlexAcc (alex_action_107))],[(AlexAcc (alex_action_108))],[(AlexAcc (alex_action_109))],[(AlexAcc (alex_action_110))],[(AlexAcc (alex_action_111))],[(AlexAcc (alex_action_112))],[(AlexAcc (alex_action_113))],[(AlexAcc (alex_action_114))],[(AlexAcc (alex_action_115))],[(AlexAcc (alex_action_116))],[(AlexAcc (alex_action_117))],[(AlexAcc (alex_action_118))],[(AlexAcc (alex_action_119))],[(AlexAcc (alex_action_120))],[(AlexAcc (alex_action_121))]]+alex_accept = listArray (0::Int,381) [AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccNone,AlexAccSkip,AlexAccSkip,AlexAccSkip,AlexAcc (alex_action_2),AlexAcc (alex_action_3),AlexAcc (alex_action_4),AlexAcc (alex_action_5),AlexAcc (alex_action_6),AlexAcc (alex_action_7),AlexAcc (alex_action_8),AlexAcc (alex_action_9),AlexAcc (alex_action_10),AlexAcc (alex_action_11),AlexAcc (alex_action_12),AlexAcc (alex_action_13),AlexAcc (alex_action_14),AlexAcc (alex_action_15),AlexAcc (alex_action_16),AlexAcc (alex_action_17),AlexAcc (alex_action_18),AlexAcc (alex_action_19),AlexAcc (alex_action_20),AlexAcc (alex_action_21),AlexAcc (alex_action_22),AlexAcc (alex_action_23),AlexAcc (alex_action_24),AlexAcc (alex_action_25),AlexAcc (alex_action_26),AlexAcc (alex_action_27),AlexAcc (alex_action_28),AlexAcc (alex_action_29),AlexAcc (alex_action_30),AlexAcc (alex_action_31),AlexAcc (alex_action_32),AlexAcc (alex_action_33),AlexAcc (alex_action_34),AlexAcc (alex_action_35),AlexAcc (alex_action_36),AlexAcc (alex_action_37),AlexAcc (alex_action_38),AlexAcc (alex_action_39),AlexAcc (alex_action_40),AlexAcc (alex_action_41),AlexAcc (alex_action_42),AlexAcc (alex_action_43),AlexAcc (alex_action_44),AlexAcc (alex_action_45),AlexAcc (alex_action_46),AlexAcc (alex_action_47),AlexAcc (alex_action_48),AlexAcc (alex_action_49),AlexAcc (alex_action_50),AlexAcc (alex_action_51),AlexAcc (alex_action_52),AlexAcc (alex_action_53),AlexAcc (alex_action_54),AlexAcc (alex_action_55),AlexAcc (alex_action_56),AlexAcc (alex_action_57),AlexAcc (alex_action_58),AlexAcc (alex_action_59),AlexAcc (alex_action_60),AlexAcc (alex_action_60),AlexAcc (alex_action_60),AlexAcc (alex_action_61),AlexAcc (alex_action_61),AlexAcc (alex_action_61),AlexAcc (alex_action_62),AlexAcc (alex_action_63),AlexAcc (alex_action_64),AlexAcc (alex_action_65),AlexAcc (alex_action_66),AlexAcc (alex_action_67),AlexAcc (alex_action_67),AlexAcc (alex_action_68),AlexAcc (alex_action_69),AlexAcc (alex_action_70),AlexAcc (alex_action_71),AlexAcc (alex_action_72),AlexAcc (alex_action_73),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_74),AlexAcc (alex_action_75),AlexAcc (alex_action_76),AlexAcc (alex_action_77),AlexAcc (alex_action_78),AlexAcc (alex_action_79),AlexAcc (alex_action_80),AlexAcc (alex_action_81),AlexAcc (alex_action_82),AlexAcc (alex_action_83),AlexAcc (alex_action_84),AlexAcc (alex_action_85),AlexAcc (alex_action_86),AlexAcc (alex_action_87),AlexAcc (alex_action_88),AlexAcc (alex_action_89),AlexAcc (alex_action_90),AlexAcc (alex_action_91),AlexAcc (alex_action_92),AlexAcc (alex_action_93),AlexAcc (alex_action_94),AlexAcc (alex_action_95),AlexAcc (alex_action_96),AlexAcc (alex_action_97),AlexAcc (alex_action_98),AlexAcc (alex_action_99),AlexAcc (alex_action_100),AlexAcc (alex_action_101),AlexAcc (alex_action_102),AlexAcc (alex_action_103),AlexAcc (alex_action_104),AlexAcc (alex_action_105),AlexAcc (alex_action_106),AlexAcc (alex_action_107),AlexAcc (alex_action_108),AlexAcc (alex_action_109),AlexAcc (alex_action_110),AlexAcc (alex_action_111),AlexAcc (alex_action_112),AlexAcc (alex_action_113),AlexAcc (alex_action_114),AlexAcc (alex_action_115),AlexAcc (alex_action_116),AlexAcc (alex_action_117),AlexAcc (alex_action_118),AlexAcc (alex_action_119),AlexAcc (alex_action_120),AlexAcc (alex_action_121)] {-# LINE 173 "Language/Java/Lexer.x" #-} @@ -511,6 +544,40 @@ {-# LINE 1 "templates/GenericTemplate.hs" #-} {-# LINE 1 "templates/GenericTemplate.hs" #-} {-# LINE 1 "<command-line>" #-}++++++++# 1 "/usr/include/stdc-predef.h" 1 3 4++# 17 "/usr/include/stdc-predef.h" 3 4++++++++++++++++++++++++# 7 "<command-line>" 2 {-# LINE 1 "templates/GenericTemplate.hs" #-} -- ----------------------------------------------------------------------------- -- ALEX TEMPLATE@@ -521,9 +588,9 @@ -- ----------------------------------------------------------------------------- -- INTERNALS and main scanner engine -{-# LINE 37 "templates/GenericTemplate.hs" #-}+{-# LINE 35 "templates/GenericTemplate.hs" #-} -{-# LINE 47 "templates/GenericTemplate.hs" #-}+{-# LINE 45 "templates/GenericTemplate.hs" #-} data AlexAddr = AlexA# Addr#@@ -554,14 +621,14 @@ #ifdef WORDS_BIGENDIAN narrow32Int# i where- !i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`+ i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#` (b2 `uncheckedShiftL#` 16#) `or#` (b1 `uncheckedShiftL#` 8#) `or#` b0)- !b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))- !b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))- !b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- !b0 = int2Word# (ord# (indexCharOffAddr# arr off'))- !off' = off *# 4#+ b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))+ b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))+ b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+ b0 = int2Word# (ord# (indexCharOffAddr# arr off'))+ off' = off *# 4# #else indexInt32OffAddr# arr off #endif@@ -636,35 +703,29 @@ - let- (base) = alexIndexInt32OffAddr alex_base s- ((I# (ord_c))) = fromIntegral c- (offset) = (base +# ord_c)- (check) = alexIndexInt16OffAddr alex_check offset+ case fromIntegral c of { (I# (ord_c)) ->+ let+ base = alexIndexInt32OffAddr alex_base s+ offset = (base +# ord_c)+ check = alexIndexInt16OffAddr alex_check offset - (new_s) = if (offset >=# 0#) && (check ==# ord_c)+ new_s = if (offset >=# 0#) && (check ==# ord_c) then alexIndexInt16OffAddr alex_table offset else alexIndexInt16OffAddr alex_deflt s in- case new_s of + case new_s of -1# -> (new_acc, input) -- on an error, we want to keep the input *before* the -- character that failed, not after. _ -> alex_scan_tkn user orig_input (if c < 0x80 || c >= 0xC0 then (len +# 1#) else len) -- note that the length is increased ONLY if this is the 1st byte in a char encoding) new_input new_s new_acc-+ } where- check_accs [] = last_acc- check_accs (AlexAcc a : _) = AlexLastAcc a input (I# (len))- check_accs (AlexAccSkip : _) = AlexLastSkip input (I# (len))- check_accs (AlexAccPred a predx : rest)- | predx user orig_input (I# (len)) input- = AlexLastAcc a input (I# (len))- check_accs (AlexAccSkipPred predx : rest)- | predx user orig_input (I# (len)) input- = AlexLastSkip input (I# (len))- check_accs (_ : rest) = check_accs rest+ check_accs (AlexAccNone) = last_acc+ check_accs (AlexAcc a ) = AlexLastAcc a input (I# (len))+ check_accs (AlexAccSkip) = AlexLastSkip input (I# (len))+{-# LINE 191 "templates/GenericTemplate.hs" #-} data AlexLastAcc a = AlexNone@@ -677,35 +738,10 @@ fmap f (AlexLastSkip x y) = AlexLastSkip x y data AlexAcc a user- = AlexAcc a+ = AlexAccNone+ | AlexAcc a | AlexAccSkip- | AlexAccPred a (AlexAccPred user)- | AlexAccSkipPred (AlexAccPred user)--type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool---- -------------------------------------------------------------------------------- Predicates on a rule--alexAndPred p1 p2 user in1 len in2- = p1 user in1 len in2 && p2 user in1 len in2----alexPrevCharIsPred :: Char -> AlexAccPred _ -alexPrevCharIs c _ input _ _ = c == alexInputPrevChar input--alexPrevCharMatches f _ input _ _ = f (alexInputPrevChar input)----alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _ -alexPrevCharIsOneOf arr _ input _ _ = arr ! alexInputPrevChar input----alexRightContext :: Int -> AlexAccPred _-alexRightContext (I# (sc)) user _ _ input = - case alex_scan_tkn user input 0# input sc AlexNone of- (AlexNone, _) -> False- _ -> True- -- TODO: there's no need to find the longest- -- match when checking the right context, just- -- the first match will do.+{-# LINE 235 "templates/GenericTemplate.hs" #-} -- used by wrappers iUnbox (I# (i)) = i
language-java.cabal view
@@ -1,5 +1,5 @@ Name: language-java-Version: 0.2.4+Version: 0.2.5 License: BSD3 License-File: LICENSE Author: Niklas Broberg
+ tests/java/good/TestForLoop.java view
@@ -0,0 +1,6 @@+public class Test {+ public void test() {+ for (i=1; ; ) { + }+ }+}
+ tests/java/good/TestMethodCall.java view
@@ -0,0 +1,5 @@+public class Test {+ public void _release() {+ _get_delegate().release(this);+ }+}
+ tests/java/good/issue_comment.java view
@@ -0,0 +1,37 @@+public class MyTest+{+ /**+ * Constructor for objects of class MyTest+ * @param name This is the number+ * @param city This is the city+ */+ public MyTest(String name, String city)+ {+ + } // end of MyTest+ + /**++ /**+ * Raise the bar.+ */+ public String up(String x)+ {+ String result;+ if (x.equals("")) {+ result = "a";+ }+ else {+ result = "b";+ }+ HashSet<Integer> set = new Has<X>();+ char ch = result.charAt(0);+ int i = ch;+ for (Integer eachNum : set)+ {+ if (eachNum < 100) {}+ }+ return result;+ }++}
+ tests/java/good/nestedComment.java view
@@ -0,0 +1,7 @@+/** this is a nested+/**+ */++public class Comment+{+}