parser: production `implicit_main_class` is nullable
authorJean Privat <jean@pryen.org>
Wed, 9 Apr 2014 14:30:52 +0000 (10:30 -0400)
committerJean Privat <jean@pryen.org>
Wed, 9 Apr 2014 15:05:05 +0000 (11:05 -0400)
Signed-off-by: Jean Privat <jean@pryen.org>

src/parser/nit.sablecc3xx

index 5326b1b..c436e0a 100644 (file)
@@ -205,7 +205,7 @@ Productions
 
 /* 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)};
@@ -220,7 +220,7 @@ implicit_top_class {-> classdef}
 
 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)}