challenge コメントの削除

ソースコードからコメント部分を削除するプログラム decomment を書いてください.
すくなくとも,decomment を記述したのと同じ言語で書かれているソースコードが
扱えるようにしてください.



Posted feedbacks - OCaml

付属の解析機を使ったあとに読み込んでいるだけです。
空白、改行、タブなどは捨てられてしまいます。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
let decomment s = 
  Stream.iter (fun item ->
    print_string 
      (match item with
      | Kwd s | Ident s -> s
      | String s -> Printf.sprintf "\"%s\"" (String.escaped s)
      | Char c -> Printf.sprintf "'%s'" (Char.escaped c)
      | Int n -> string_of_int n
      | Float f -> string_of_float f
      ); print_char ' '
    ) (make_lexer [] (Stream.of_string s));;

(* decomment "aa\"(* bb \\\" cc *)\"dd '\\\\' (* zz *) ";; *)

Index

Feed

Other

Link

Pathtraq

loading...