1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
// This file illustrates the various items that can be used at the beginning
// of a semantic patch, or at the beginning of a rule
// The following illustrates how to include a file of isomorphisms located
// in the default path, as indicated by config. Uncommenting the following
// will give and error, because standard.iso is already loaded by default
// and it is not allowed to load two isomorphisms with the same name
// using <standard.iso>
using "headers.iso" // an iso file in the current directory
@ rule0 @
@@
- a
+ b
@
rule1 // rule name
extends rule0 // inherit the metavariables from rule0
depends on rule0 && !rule0 // now this rule will never be applied ...
using "headers2.iso" // more iso files can be included, separated by commas
disable three, drop_cast // isos should apply to f and x, but not m
@
@@
(
- f(3)
+ fff(12)
|
- x(3)
+ xxx(12)
|
- m(3)
+ mmm(12)
)
@
rule2 // rule name
extends rule0 // inherit the metavariables from rule0
depends on rule0 && !rule0 // now this rule will never be applied ...
using "headers2.iso" // more iso files can be included, separated by commas
@
@@
(
- f(3)
+ fff(12)
|
- x(3)
+ xxx(12)
|
- m(3)
+ mmm(12)
)
|