File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/pycparser/__pycache__/_ast_gen.cpython-310.pyc
Back
o ;j, � @ s� d dl mZ d dlZd dlmZ G dd� d�ZG dd� d�ZdZd Ze d kr_ej �ej �e ��Zej �ed�Zej �ed�Zee�Zeed ��Ze�e� W d � dS 1 sXw Y dS dS )� )�TemplateN)�IOc @ s4 e Zd Zddd�Zdee ddfdd�Zd d � ZdS )�ASTCodeGenerator� _c_ast.cfgc C s || _ dd� | �|�D �| _dS )zIInitialize the code generator from a configuration file. c S s g | ] \}}t ||��qS � )�NodeCfg)�.0�name�contentsr r �F/opt/saltstack/salt/lib/python3.10/site-packages/pycparser/_ast_gen.py� <listcomp> s ��z-ASTCodeGenerator.__init__.<locals>.<listcomp>N)�cfg_filename� parse_cfgfile�node_cfg)�selfr r r r �__init__ s �zASTCodeGenerator.__init__�file�returnNc C sD t t�j| jd�}|t7 }| jD ] }||�� d 7 }q|�|� dS )z2Generates the code into file, an open file buffer.)r z N)r �_PROLOGUE_COMMENT� substituter �_PROLOGUE_CODEr �generate_source�write)r r �srcr r r r �generate s zASTCodeGenerator.generatec c s� � t |d��a}|D ]U}|�� }|r|�d�rq |�d�}|�d�}|�d�}|dk s2||ks2||kr=td|� d|� d ���|d |� }||d |� }|rWdd� |�d �D �ng } || fV q W d � d S 1 sjw Y d S )z`Parse the configuration file and yield pairs of (name, contents) for each node. �r�#�:�[�]� zInvalid line in �: � Nc S s g | ]}|� � �qS r )�strip)r �vr r r r ; s z2ASTCodeGenerator.parse_cfgfile.<locals>.<listcomp>�,)�openr# � startswith�find�RuntimeError�split) r �filename�f�lineZcolon_iZ lbracket_iZ rbracket_ir �valZvallistr r r r * s"