=============|||
Multiple modules
=============|||

---- MODULE First ----
====

---- MODULE Second ----
====

-------------|||

(source_file
  (module (header_line) (identifier) (header_line) (double_line))
  (module (header_line) (identifier) (header_line) (double_line))
)

=============|||
Extramodular Text
=============|||

This is free-form text.

---- MODULE Test ----
====

This is some more free-form text.

-------------|||

(source_file
  (extramodular_text)
  (module (header_line) (identifier) (header_line) (double_line))
  (extramodular_text)
)

=============|||
Tricky Extramodular Text
=============|||

This is free-form text.
---- MODUL
That should not have ended the text.

----------------                MODULE Test ----
====

This is some more free-form text.
--- MODULE
That also should not have ended the text.

-------------|||

(source_file
  (extramodular_text)
  (module (header_line) (identifier) (header_line) (double_line))
  (extramodular_text)
)

=============|||
Interleaved Extramodular Text
=============|||

This is free-form text.
---- MODUL
That should not have ended the text.

----------------                MODULE First ----
====

This is some more free-form text.
--- MODULE
That also should not have ended the text.

----MODULE Second ----
====

Even more free-form text!
MODULE MODULE MODULE
----
MODULE NotValidModule ----
====

-------------MODULE Third ----
====

Final free-form text

-------------|||

(source_file
  (extramodular_text)
  (module (header_line) (identifier) (header_line) (double_line))
  (extramodular_text)
  (module (header_line) (identifier) (header_line) (double_line))
  (extramodular_text)
  (module (header_line) (identifier) (header_line) (double_line))
  (extramodular_text)
)
