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
|
# 1 "lexical.cppo"
(* This test shows that the definition of BAR captures the original
definition of FOO, so even if FOO is redefined, the expansion of
BAR does not change. *)
# 8 "lexical.cppo"
"new definition"
# 8 "lexical.cppo"
(* expands to "new definition" *)
# 9 "lexical.cppo"
"original definition"
# 9 "lexical.cppo"
(* expands to "original definition" *)
(* This test shows that a formal parameter can shadow a previously
defined macro. *)
# 14 "lexical.cppo"
42
# 14 "lexical.cppo"
(* expands to 42 *)
(* This test shows that two formal parameters can have the same
name. In that case, the second parameter shadows the first one. *)
# 19 "lexical.cppo"
23+23
# 19 "lexical.cppo"
(* expands to 23+23 *)
(* This test shows that it is OK to pass an empty argument to a macro
that expects one parameter. This is interpreted as passing one
empty argument. *)
# 25 "lexical.cppo"
show(42)
# 26 "lexical.cppo"
show("23")
# 27 "lexical.cppo"
show()
|