// $ANTLR start "id"
    // interfaces.g:93:1: id : ID ;
    public interfacesParser.id_return id() // throws RecognitionException [1]
    {
        interfacesParser.id_return retval = new interfacesParser.id_return();
        retval.Start = input.LT(1);

        try
        {
            // interfaces.g:94:2: ( ID )
            // interfaces.g:94:3: ID
            {
                Match(input, ID, FOLLOW_ID_in_id522);
            }

            retval.Stop = input.LT(-1);
        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input, re);
        }
        finally
        {
        }
        return(retval);
    }
    // $ANTLR end "netmask_def"


    // $ANTLR start "gateway_def"
    // interfaces.g:88:1: gateway_def : GATEWAY id ;
    public void gateway_def() // throws RecognitionException [1]
    {
        interfacesParser.id_return id7 = default(interfacesParser.id_return);


        try
        {
            // interfaces.g:89:2: ( GATEWAY id )
            // interfaces.g:89:4: GATEWAY id
            {
                Match(input, GATEWAY, FOLLOW_GATEWAY_in_gateway_def507);
                PushFollow(FOLLOW_id_in_gateway_def509);
                id7 = id();
                state.followingStackPointer--;

                lliurex.net.InterfacesConfig.GetInstance().SetGateway(((id7 != null) ? input.ToString((IToken)(id7.Start), (IToken)(id7.Stop)) : null));
            }
        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input, re);
        }
        finally
        {
        }
        return;
    }
    // $ANTLR end "address_def"


    // $ANTLR start "netmask_def"
    // interfaces.g:84:1: netmask_def : NETMASK id ;
    public void netmask_def() // throws RecognitionException [1]
    {
        interfacesParser.id_return id6 = default(interfacesParser.id_return);


        try
        {
            // interfaces.g:85:2: ( NETMASK id )
            // interfaces.g:85:4: NETMASK id
            {
                Match(input, NETMASK, FOLLOW_NETMASK_in_netmask_def492);
                PushFollow(FOLLOW_id_in_netmask_def494);
                id6 = id();
                state.followingStackPointer--;

                lliurex.net.InterfacesConfig.GetInstance().SetNetmask(((id6 != null) ? input.ToString((IToken)(id6.Start), (IToken)(id6.Stop)) : null));
            }
        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input, re);
        }
        finally
        {
        }
        return;
    }
    // $ANTLR end "iface_conf"


    // $ANTLR start "address_def"
    // interfaces.g:80:1: address_def : ADDRESS id ;
    public void address_def() // throws RecognitionException [1]
    {
        interfacesParser.id_return id5 = default(interfacesParser.id_return);


        try
        {
            // interfaces.g:81:2: ( ADDRESS id )
            // interfaces.g:81:4: ADDRESS id
            {
                Match(input, ADDRESS, FOLLOW_ADDRESS_in_address_def475);
                PushFollow(FOLLOW_id_in_address_def477);
                id5 = id();
                state.followingStackPointer--;

                lliurex.net.InterfacesConfig.GetInstance().SetAddress(((id5 != null) ? input.ToString((IToken)(id5.Start), (IToken)(id5.Stop)) : null));
            }
        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input, re);
        }
        finally
        {
        }
        return;
    }
    // $ANTLR end "auto_def"


    // $ANTLR start "auto_iface"
    // interfaces.g:64:1: auto_iface : id ;
    public void auto_iface() // throws RecognitionException [1]
    {
        interfacesParser.id_return id1 = default(interfacesParser.id_return);


        try
        {
            // interfaces.g:65:2: ( id )
            // interfaces.g:65:4: id
            {
                PushFollow(FOLLOW_id_in_auto_iface410);
                id1 = id();
                state.followingStackPointer--;

                lliurex.net.InterfacesConfig.GetInstance().AddAuto(((id1 != null) ? input.ToString((IToken)(id1.Start), (IToken)(id1.Stop)) : null));
            }
        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input, re);
        }
        finally
        {
        }
        return;
    }
    // $ANTLR end "auto_iface"


    // $ANTLR start "iface_def"
    // interfaces.g:68:1: iface_def : IFACE id iface_type iface_conf ;
    public void iface_def() // throws RecognitionException [1]
    {
        interfacesParser.id_return id2 = default(interfacesParser.id_return);

        interfacesParser.iface_type_return iface_type3 = default(interfacesParser.iface_type_return);

        interfacesParser.iface_conf_return iface_conf4 = default(interfacesParser.iface_conf_return);


        try
        {
            // interfaces.g:69:2: ( IFACE id iface_type iface_conf )
            // interfaces.g:69:4: IFACE id iface_type iface_conf
            {
                Match(input, IFACE, FOLLOW_IFACE_in_iface_def424);
                PushFollow(FOLLOW_id_in_iface_def426);
                id2 = id();
                state.followingStackPointer--;

                PushFollow(FOLLOW_iface_type_in_iface_def428);
                iface_type3 = iface_type();
                state.followingStackPointer--;

                PushFollow(FOLLOW_iface_conf_in_iface_def430);
                iface_conf4 = iface_conf();
                state.followingStackPointer--;

                lliurex.net.InterfacesConfig.GetInstance().AddInterface(((id2 != null) ? input.ToString((IToken)(id2.Start), (IToken)(id2.Stop)) : null), ((iface_type3 != null) ? input.ToString((IToken)(iface_type3.Start), (IToken)(iface_type3.Stop)) : null), ((iface_conf4 != null) ? input.ToString((IToken)(iface_conf4.Start), (IToken)(iface_conf4.Stop)) : null));
            }
        }
        catch (RecognitionException re)
        {
            ReportError(re);
            Recover(input, re);
        }
        finally
        {
        }
        return;
    }