# Path: srcgen/api.py



from six.moves import zip
from .api import Component, basic
import sys
        if subs_name=='variable_declarations':
            return self.get_view('variable_declaration', parents)
        if subs_name=='prototype_argument_declarations':
            return self.get_view('prototype_argument_declaration', parents)
        if subs_name=='variable_short_type_specs':
            return self.get_view('variable_short_type_spec', parents)
        if subs_name=='argument_short_type_specs':
            return self.get_view('argument_short_type_spec', parents)
        if subs_name=='Definitions':
            return self.get_view('variable', parents), self.get_view('static_definition', parents)

class Variable(Declaration):

    def request_data(self, subs_name, parents):
        if 'argument' in subs_name:
            return
        return super(type(self), self).request_data(subs_name, parents)

    
class Argument(Declaration):

    def request_data(self, subs_name, parents):
        if 'variable' in subs_name:
            return
        return super(type(self), self).request_data(subs_name, parents)

def check_type_spec(joiner):
    if len(joiner.values)>1:
        raise ValueError('type_spec must have at most one value, got %s' % (len(joiner.values)))


# Path: srcgen/api.py



# Path: srcgen/c.py
from six.moves import zip
from .api import Component, basic
import sys

        if subs_name=='variable_declarations':
            return self.get_view('variable_declaration', parents)
        if subs_name=='prototype_argument_declarations':
            return self.get_view('prototype_argument_declaration', parents)
        if subs_name=='variable_short_type_specs':
            return self.get_view('variable_short_type_spec', parents)
        if subs_name=='argument_short_type_specs':
            return self.get_view('argument_short_type_spec', parents)
        if subs_name=='Definitions':
            return self.get_view('variable', parents), self.get_view('static_definition', parents)

class Variable(Declaration):

    def request_data(self, subs_name, parents):
        if 'argument' in subs_name:
            return
        return super(type(self), self).request_data(subs_name, parents)

    
class Argument(Declaration):

    def request_data(self, subs_name, parents):
        if 'variable' in subs_name:
            return
        return super(type(self), self).request_data(subs_name, parents)

def check_type_spec(joiner):
    if len(joiner.values)>1:
        raise ValueError('type_spec must have at most one value, got %s' % (len(joiner.values)))


class Function(basic.Block):