(a) 'ifdef, 'ifdef 'endifdef.
(b) 1'bz (for example, 1'bz is assigned using an assignment statement).
(c) 1'bx (for example, 1'bx is assigned using an assignment statement).
Above mentioned compiler directives can be used in synthesizable codes. These( 'ifdef, 'ifdef 'endif (there is no 'endifdef)) are helful to select the code segments and all.
Even (b) 1'bz is sythesizable but (c) 1'bx is called non-synthesizable as we do not implement the digital circuit for unknowns.