Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
opt
/
alt
/
python38
/
lib
/
python3.8
/
site-packages
/
pycparser
/
__pycache__
/
//opt/alt/python38/lib/python3.8/site-packages/pycparser/__pycache__/_ast_gen.cpython-38.pyc
U ӗ_�! � @ sh d dl Z d dlmZ G dd� de�ZG dd� de�ZdZdZed krdd dl Z ed �Z e �edd�� dS ) � N)�Templatec @ s( e Zd Zd dd�Zd dd�Zdd� ZdS )�ASTCodeGenerator� _c_ast.cfgc C s || _ dd� | �|�D �| _dS )zN Initialize the code generator from a configuration file. c S s g | ]\}}t ||��qS � )�NodeCfg)�.0�name�contentsr r �M/builddir/build/BUILD/pycparser-release_v2.14/build/lib/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__Nc C sD t t�j| jd�}|t7 }| jD ]}||�� d 7 }q |�|� dS )z< Generates the code into file, an open file buffer. )r z N)r �_PROLOGUE_COMMENTZ substituter �_PROLOGUE_CODEr �generate_source�write)r �file�srcr r r r �generate s � zASTCodeGenerator.generatec c s� t |d���}|D ]�}|�� }|r|�d�r,q|�d�}|�d�}|�d�}|dk sb||ksb||krrtd||f ��|d|� }||d |� }|r�d d � |�d�D �ng } || fV qW 5 Q R X dS )ze Parse the configuration file and yield pairs of (name, contents) for each node. �r�#�:�[�]� zInvalid line in %s: %s Nc S s g | ]}|� � �qS r )�strip)r �vr r r r 7 s z2ASTCodeGenerator.parse_cfgfile.<locals>.<listcomp>�,)�openr � startswith�find�RuntimeError�split) r �filename�f�lineZcolon_iZ lbracket_iZ rbracket_ir �valZvallistr r r r &