On Sun, 8 May 2011, Matthias Kilian wrote:
> On Sun, May 08, 2011 at 09:19:37PM +0000, Stuart Henderson wrote:
> > On 2011-05-08, Julia Lawall <[email protected]> wrote:
> > > Thanks for the update. I'm not completely sure to understand the=20
> > > solution, though. Could we just use the linux pattern as is, and then=20
> > > call gegrep instead of egrep?
> >
> > That's possible, though coccinelle would be more portable to
> > other OS if it only used POSIX extended regular expressions
> > (these should work ok with GNU grep too).
>
> [[:<:]] and [[:>:]], which work with our (OpenBSD's) regexps doesn't
> work with ggrep. (And I didn't find any mention of them in the
> standard).
>
> So we have to patch coccinelle for OpenBSD in either way (use ggrep
> or use [[:<:]] and [[:>:]]). Below is the ggrep version (for the
> OpenBSD port).
>
> A *clean* fix would be to drop using grep (or ggrep) at all and use
> some regexp-library for ocaml instead of calling system tools. But
> I'm not very used to ocaml, so I don't know wether there's a good
> regexp-library available.
The hope was to use some maximally efficient standard tool. I doubt that
encoding the equivalent in ocaml would give the same performance result.
If ther is a way for configure to determine what is available, then that
should be good enough.
thanks,
julia
> Ciao,
> Kili
>
> diff -rup ../coccinelle.orig/Makefile ./Makefile
> --- ../coccinelle.orig/Makefile Sun May 8 12:07:35 2011
> +++ ./Makefile Sun May 8 12:07:53 2011
> @@ -28,7 +28,8 @@ MODULES = lang/ocaml \
> BUILD_DEPENDS = ${RUN_DEPENDS} \
> sysutils/findlib
> REGRESS_DEPENDS = ${FULLPKGPATH}
> -RUN_DEPENDS = textproc/gdiff
> +RUN_DEPENDS = sysutils/ggrep \
> + textproc/gdiff
>
> USE_GMAKE = Yes
> CONFIGURE_STYLE = simple
> diff -rup ../coccinelle.orig/patches/patch-cocci_ml ./patches/patch-cocci_ml
> --- ../coccinelle.orig/patches/patch-cocci_ml Thu May 5 21:06:44 2011
> +++ ./patches/patch-cocci_ml Sun May 8 12:08:37 2011
> @@ -1,6 +1,6 @@
> $OpenBSD$
> ---- cocci.ml.orig Thu May 5 20:04:22 2011
> -+++ cocci.ml Thu May 5 20:04:39 2011
> +--- cocci.ml.orig Wed Apr 13 07:25:58 2011
> ++++ cocci.ml Sun May 8 12:08:20 2011
> @@ -263,8 +263,8 @@ let show_or_not_diff2 cfile outfile =
>
> let line =
> @@ -12,3 +12,12 @@ $OpenBSD$
> let xs =
> let res = Common.cmd_to_list line in
> match (!Flag.patch,res) with
> +@@ -495,7 +495,7 @@ let worth_trying cfiles tokens =
> + | _ -> s
> +
> + ) in
> +- let com = sprintf "egrep -q '(%s)' %s" (join "|" tokens) (join " "
> cfiles)
> ++ let com = sprintf "gegrep -q '(%s)' %s" (join "|" tokens) (join " "
> cfiles)
> + in
> + (match Sys.command com with
> + | 0 (* success *) -> true
> _______________________________________________
> Cocci mailing list
> [email protected]
> http://lists.diku.dk/mailman/listinfo/cocci
> (Web access from inside DIKUs LAN only)
>
_______________________________________________
Cocci mailing list
[email protected]
http://lists.diku.dk/mailman/listinfo/cocci
(Web access from inside DIKUs LAN only)