================================================================================
Syntax directive
================================================================================

syntax = "proto3";

--------------------------------------------------------------------------------

(source_file
  (syntax))

================================================================================
Comments
================================================================================

// This comment is okay
syntax = "proto3"; // And this one

/* and this
 one */

--------------------------------------------------------------------------------

(source_file
  (comment)
  (syntax)
  (comment)
  (comment))

================================================================================
Syntax directive (proto2)
================================================================================

syntax = "proto2";

--------------------------------------------------------------------------------

(source_file
  (syntax))

================================================================================
Syntax directive (missing)
================================================================================

--------------------------------------------------------------------------------

(source_file)

================================================================================
Edition directive
================================================================================

edition = "2023";

--------------------------------------------------------------------------------

(source_file
  (edition
    (string)))
