/* MODULES *******************************************************************/
module
- = moduledecl? [imports]:import* [extern_bodies]:extern_code_body* [classdefs]:classdef* implicit_top_class? implicit_main_class? {-> New module(moduledecl, [imports.import], [extern_bodies.extern_code_block], [classdefs.classdef,implicit_top_class.classdef,implicit_main_class.classdef])};
+ = moduledecl? [imports]:import* [extern_bodies]:extern_code_body* [classdefs]:classdef* implicit_top_class? implicit_main_class {-> New module(moduledecl, [imports.import], [extern_bodies.extern_code_block], [classdefs.classdef,implicit_top_class.classdef,implicit_main_class.classdef])};
moduledecl
= [doc]:no kwmodule no module_name annotation_withend? [n2]:n1 {-> New moduledecl(doc.doc, kwmodule, module_name, annotation_withend.annotations)};
implicit_main_class {-> classdef?}
= implicit_main_meth {-> New classdef.main([implicit_main_meth.propdef])}
- | {null} n {-> Null}
+ | {null} n? {-> Null}
;
implicit_main_meth {-> propdef}
= [doc]:no stmts {-> New propdef.main_meth(Null, stmts.expr)}