--- a
+++ b/test/func-decl.test.expected
@@ -0,0 +1,43 @@
+FUNCTION func_decl_void:DINT;
+func_decl_void: DINT;
+FUNCTION func_decl_empty:DINT;
+END_FUNCTION
+
+FUNCTION func_def_clear:DINT;
+ func_def_clear := (1);
+ RETURN;
+END_FUNCTION
+FUNCTION func_def_params:DINT;
+a: DINT;
+ func_def_params := (a);
+ RETURN;
+END_FUNCTION
+FUNCTION func_def_all_voidparams:DINT;
+a: DINT;
+b: DINT;
+   func_def_all_voidparams := (a);
+ RETURN;
+END_FUNCTION
+FUNCTION func_def_all_noparams:DINT;
+a: DINT;
+b: DINT;
+   func_def_all_noparams := (a);
+ RETURN;
+END_FUNCTION
+FUNCTION func_def_full:DINT;
+a: DINT;
+b: DINT;
+c: DINT;
+d: DINT;
+ b := 2;
+ 
+IF a
+ b := d;
+
+END_IF
+  func_def_full := (a);
+ RETURN;
+END_FUNCTION
+FUNCTION func_def_pointer:DINT;
+a: DINT;
+END_FUNCTION