refactor: move brother_node development artifact to dev/test-nodes subdirectory
Development Artifact Cleanup: ✅ BROTHER_NODE REORGANIZATION: Moved development test node to appropriate location - dev/test-nodes/brother_node/: Moved from root directory for better organization - Contains development configuration, test logs, and test chain data - No impact on production systems - purely development/testing artifact ✅ DEVELOPMENT ARTIFACTS IDENTIFIED: - Chain ID: aitbc-brother-chain (test/development chain) - Ports: 8010 (P2P) and 8011 (RPC) - different from production - Environment: .env file with test configuration - Logs: rpc.log and node.log from development testing session (March 15, 2026) ✅ ROOT DIRECTORY CLEANUP: Removed development clutter from production directory - brother_node/ moved to dev/test-nodes/brother_node/ - Root directory now contains only production-ready components - Development artifacts properly organized in dev/ subdirectory DIRECTORY STRUCTURE IMPROVEMENT: 📁 dev/test-nodes/: Development and testing node configurations 🏗️ Root Directory: Clean production structure with only essential components 🧪 Development Isolation: Test environments separated from production BENEFITS: ✅ Clean Production Directory: No development artifacts in root ✅ Better Organization: Development nodes grouped in dev/ subdirectory ✅ Clear Separation: Production vs development environments clearly distinguished ✅ Maintainability: Easier to identify and manage development components RESULT: Successfully moved brother_node development artifact to dev/test-nodes/ subdirectory, cleaning up the root directory while preserving development testing environment for future use.
This commit is contained in:
1
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/INSTALLER
vendored
Executable file
1
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/INSTALLER
vendored
Executable file
@@ -0,0 +1 @@
|
||||
pip
|
||||
244
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/METADATA
vendored
Executable file
244
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/METADATA
vendored
Executable file
@@ -0,0 +1,244 @@
|
||||
Metadata-Version: 2.4
|
||||
Name: pycparser
|
||||
Version: 3.0
|
||||
Summary: C parser in Python
|
||||
Author-email: Eli Bendersky <eliben@gmail.com>
|
||||
Maintainer-email: Eli Bendersky <eliben@gmail.com>
|
||||
License-Expression: BSD-3-Clause
|
||||
Project-URL: Homepage, https://github.com/eliben/pycparser
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Classifier: Programming Language :: Python :: 3
|
||||
Classifier: Programming Language :: Python :: 3.10
|
||||
Classifier: Programming Language :: Python :: 3.11
|
||||
Classifier: Programming Language :: Python :: 3.12
|
||||
Classifier: Programming Language :: Python :: 3.13
|
||||
Classifier: Programming Language :: Python :: 3.14
|
||||
Requires-Python: >=3.10
|
||||
Description-Content-Type: text/x-rst
|
||||
License-File: LICENSE
|
||||
Dynamic: license-file
|
||||
|
||||
===============
|
||||
pycparser v3.00
|
||||
===============
|
||||
|
||||
|
||||
.. image:: https://github.com/eliben/pycparser/workflows/pycparser-tests/badge.svg
|
||||
:align: center
|
||||
:target: https://github.com/eliben/pycparser/actions
|
||||
|
||||
----
|
||||
|
||||
.. contents::
|
||||
:backlinks: none
|
||||
|
||||
.. sectnum::
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
What is pycparser?
|
||||
------------------
|
||||
|
||||
**pycparser** is a parser for the C language, written in pure Python. It is a
|
||||
module designed to be easily integrated into applications that need to parse
|
||||
C source code.
|
||||
|
||||
What is it good for?
|
||||
--------------------
|
||||
|
||||
Anything that needs C code to be parsed. The following are some uses for
|
||||
**pycparser**, taken from real user reports:
|
||||
|
||||
* C code obfuscator
|
||||
* Front-end for various specialized C compilers
|
||||
* Static code checker
|
||||
* Automatic unit-test discovery
|
||||
* Adding specialized extensions to the C language
|
||||
|
||||
One of the most popular uses of **pycparser** is in the `cffi
|
||||
<https://cffi.readthedocs.io/en/latest/>`_ library, which uses it to parse the
|
||||
declarations of C functions and types in order to auto-generate FFIs.
|
||||
|
||||
**pycparser** is unique in the sense that it's written in pure Python - a very
|
||||
high level language that's easy to experiment with and tweak. To people familiar
|
||||
with Lex and Yacc, **pycparser**'s code will be simple to understand. It also
|
||||
has no external dependencies (except for a Python interpreter), making it very
|
||||
simple to install and deploy.
|
||||
|
||||
Which version of C does pycparser support?
|
||||
------------------------------------------
|
||||
|
||||
**pycparser** aims to support the full C99 language (according to the standard
|
||||
ISO/IEC 9899). Some features from C11 are also supported, and patches to support
|
||||
more are welcome.
|
||||
|
||||
**pycparser** supports very few GCC extensions, but it's fairly easy to set
|
||||
things up so that it parses code with a lot of GCC-isms successfully. See the
|
||||
`FAQ <https://github.com/eliben/pycparser/wiki/FAQ>`_ for more details.
|
||||
|
||||
What grammar does pycparser follow?
|
||||
-----------------------------------
|
||||
|
||||
**pycparser** very closely follows the C grammar provided in Annex A of the C99
|
||||
standard (ISO/IEC 9899).
|
||||
|
||||
How is pycparser licensed?
|
||||
--------------------------
|
||||
|
||||
`BSD license <https://github.com/eliben/pycparser/blob/master/LICENSE>`_.
|
||||
|
||||
Contact details
|
||||
---------------
|
||||
|
||||
For reporting problems with **pycparser** or submitting feature requests, please
|
||||
open an `issue <https://github.com/eliben/pycparser/issues>`_, or submit a
|
||||
pull request.
|
||||
|
||||
|
||||
Installing
|
||||
==========
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
**pycparser** is being tested with modern versions of Python on
|
||||
Linux, macOS and Windows. See `the CI dashboard <https://github.com/eliben/pycparser/actions/workflows/ci.yml>`__
|
||||
for details.
|
||||
|
||||
**pycparser** has no external dependencies.
|
||||
|
||||
Installation process
|
||||
--------------------
|
||||
|
||||
The recommended way to install **pycparser** is with ``pip``::
|
||||
|
||||
> pip install pycparser
|
||||
|
||||
Using
|
||||
=====
|
||||
|
||||
Interaction with the C preprocessor
|
||||
-----------------------------------
|
||||
|
||||
In order to be compilable, C code must be preprocessed by the C preprocessor -
|
||||
``cpp``. A compatible ``cpp`` handles preprocessing directives like ``#include`` and
|
||||
``#define``, removes comments, and performs other minor tasks that prepare the C
|
||||
code for compilation.
|
||||
|
||||
For all but the most trivial snippets of C code **pycparser**, like a C
|
||||
compiler, must receive preprocessed C code in order to function correctly. If
|
||||
you import the top-level ``parse_file`` function from the **pycparser** package,
|
||||
it will interact with ``cpp`` for you, as long as it's in your PATH, or you
|
||||
provide a path to it.
|
||||
|
||||
Note also that you can use ``gcc -E`` or ``clang -E`` instead of ``cpp``. See
|
||||
the ``using_gcc_E_libc.py`` example for more details. Windows users can download
|
||||
and install a binary build of Clang for Windows `from this website
|
||||
<http://llvm.org/releases/download.html>`_.
|
||||
|
||||
What about the standard C library headers?
|
||||
------------------------------------------
|
||||
|
||||
C code almost always ``#include``\s various header files from the standard C
|
||||
library, like ``stdio.h``. While (with some effort) **pycparser** can be made to
|
||||
parse the standard headers from any C compiler, it's much simpler to use the
|
||||
provided "fake" standard includes for C11 in ``utils/fake_libc_include``. These
|
||||
are standard C header files that contain only the bare necessities to allow
|
||||
valid parsing of the files that use them. As a bonus, since they're minimal, it
|
||||
can significantly improve the performance of parsing large C files.
|
||||
|
||||
The key point to understand here is that **pycparser** doesn't really care about
|
||||
the semantics of types. It only needs to know whether some token encountered in
|
||||
the source is a previously defined type. This is essential in order to be able
|
||||
to parse C correctly.
|
||||
|
||||
See `this blog post
|
||||
<https://eli.thegreenplace.net/2015/on-parsing-c-type-declarations-and-fake-headers>`_
|
||||
for more details.
|
||||
|
||||
Note that the fake headers are not included in the ``pip`` package nor installed
|
||||
via the package build (`#224 <https://github.com/eliben/pycparser/issues/224>`_).
|
||||
|
||||
Basic usage
|
||||
-----------
|
||||
|
||||
Take a look at the |examples|_ directory of the distribution for a few examples
|
||||
of using **pycparser**. These should be enough to get you started. Please note
|
||||
that most realistic C code samples would require running the C preprocessor
|
||||
before passing the code to **pycparser**; see the previous sections for more
|
||||
details.
|
||||
|
||||
.. |examples| replace:: ``examples``
|
||||
.. _examples: examples
|
||||
|
||||
|
||||
Advanced usage
|
||||
--------------
|
||||
|
||||
The public interface of **pycparser** is well documented with comments in
|
||||
``pycparser/c_parser.py``. For a detailed overview of the various AST nodes
|
||||
created by the parser, see ``pycparser/_c_ast.cfg``.
|
||||
|
||||
There's also a `FAQ available here <https://github.com/eliben/pycparser/wiki/FAQ>`_.
|
||||
In any case, you can always drop me an `email <eliben@gmail.com>`_ for help.
|
||||
|
||||
|
||||
Modifying
|
||||
=========
|
||||
|
||||
There are a few points to keep in mind when modifying **pycparser**:
|
||||
|
||||
* The code for **pycparser**'s AST nodes is automatically generated from a
|
||||
configuration file - ``_c_ast.cfg``, by ``_ast_gen.py``. If you modify the AST
|
||||
configuration, make sure to re-generate the code. This can be done by running
|
||||
the ``_ast_gen.py`` script (from the repository root or the
|
||||
``pycparser`` directory).
|
||||
* Read the docstring in the constructor of the ``CParser`` class for details
|
||||
on configuration and compatibility arguments.
|
||||
|
||||
|
||||
Package contents
|
||||
================
|
||||
|
||||
Once you unzip the ``pycparser`` package, you'll see the following files and
|
||||
directories:
|
||||
|
||||
README.rst:
|
||||
This README file.
|
||||
|
||||
LICENSE:
|
||||
The pycparser license
|
||||
|
||||
setup.py:
|
||||
Legacy installation script (build metadata lives in ``pyproject.toml``).
|
||||
|
||||
pyproject.toml:
|
||||
Package metadata and build configuration.
|
||||
|
||||
examples/:
|
||||
A directory with some examples of using **pycparser**
|
||||
|
||||
pycparser/:
|
||||
The **pycparser** module source code.
|
||||
|
||||
tests/:
|
||||
Unit tests.
|
||||
|
||||
utils/fake_libc_include:
|
||||
Minimal standard C library include files that should allow to parse any C code.
|
||||
Note that these headers now include C11 code, so they may not work when the
|
||||
preprocessor is configured to an earlier C standard (like ``-std=c99``).
|
||||
|
||||
utils/internal/:
|
||||
Internal utilities for my own use. You probably don't need them.
|
||||
|
||||
|
||||
Contributors
|
||||
============
|
||||
|
||||
Some people have contributed to **pycparser** by opening issues on bugs they've
|
||||
found and/or submitting patches. The list of contributors is in the CONTRIBUTORS
|
||||
file in the source distribution. After **pycparser** moved to Github I stopped
|
||||
updating this list because Github does a much better job at tracking
|
||||
contributions.
|
||||
21
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/RECORD
vendored
Executable file
21
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/RECORD
vendored
Executable file
@@ -0,0 +1,21 @@
|
||||
pycparser-3.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
|
||||
pycparser-3.0.dist-info/METADATA,sha256=9UemCwq1TMLyQiE9H4eWCtgN991d_rmNF6RE1Iv7a5M,8229
|
||||
pycparser-3.0.dist-info/RECORD,,
|
||||
pycparser-3.0.dist-info/WHEEL,sha256=qELbo2s1Yzl39ZmrAibXA2jjPLUYfnVhUNTlyF1rq0Y,92
|
||||
pycparser-3.0.dist-info/licenses/LICENSE,sha256=DIRjmTaep23de1xE_m0WSXQV_PAV9cu1CMJL-YuBxbE,1543
|
||||
pycparser-3.0.dist-info/top_level.txt,sha256=c-lPcS74L_8KoH7IE6PQF5ofyirRQNV4VhkbSFIPeWM,10
|
||||
pycparser/__init__.py,sha256=phViRyAuUmgqE4kNmaCqpm5WVEBIvzUSFapBv4XX3xo,2829
|
||||
pycparser/__pycache__/__init__.cpython-313.pyc,,
|
||||
pycparser/__pycache__/_ast_gen.cpython-313.pyc,,
|
||||
pycparser/__pycache__/ast_transforms.cpython-313.pyc,,
|
||||
pycparser/__pycache__/c_ast.cpython-313.pyc,,
|
||||
pycparser/__pycache__/c_generator.cpython-313.pyc,,
|
||||
pycparser/__pycache__/c_lexer.cpython-313.pyc,,
|
||||
pycparser/__pycache__/c_parser.cpython-313.pyc,,
|
||||
pycparser/_ast_gen.py,sha256=ExH5Ym4pk7dQPEIkQr9RJim5feztdBQwSBPvpvE-5BM,11292
|
||||
pycparser/_c_ast.cfg,sha256=ld5ezE9yzIJFIVAUfw7ezJSlMi4nXKNCzfmqjOyQTNo,4255
|
||||
pycparser/ast_transforms.py,sha256=XwMsarc5aDddNWgIiKm4-jOWMRYib96yNQUo0_u28WA,5899
|
||||
pycparser/c_ast.py,sha256=uwkcZWHfXDQIw6WDvCL17iWM_-0R-URDqEMmPjXLOAc,32954
|
||||
pycparser/c_generator.py,sha256=RVKJPguv2CvovHHSfQkqimckUr9wGU9PofxCGj251QA,20661
|
||||
pycparser/c_lexer.py,sha256=B1VoqbYhPWkOJJWCem4OY4zj0IxrPktBZZFe2Y87kUg,25155
|
||||
pycparser/c_parser.py,sha256=3FBKGLjjlC3v8afwD_cnMR67ImoYIy73a4WKQR6hX7g,89798
|
||||
5
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/WHEEL
vendored
Executable file
5
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/WHEEL
vendored
Executable file
@@ -0,0 +1,5 @@
|
||||
Wheel-Version: 1.0
|
||||
Generator: setuptools (80.10.1)
|
||||
Root-Is-Purelib: true
|
||||
Tag: py3-none-any
|
||||
|
||||
27
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/licenses/LICENSE
vendored
Executable file
27
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/licenses/LICENSE
vendored
Executable file
@@ -0,0 +1,27 @@
|
||||
pycparser -- A C parser in Python
|
||||
|
||||
Copyright (c) 2008-2022, Eli Bendersky
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
* Neither the name of the copyright holder nor the names of its contributors may
|
||||
be used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
|
||||
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
1
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/top_level.txt
vendored
Executable file
1
dev/env/cli_env/lib/python3.13/site-packages/pycparser-3.0.dist-info/top_level.txt
vendored
Executable file
@@ -0,0 +1 @@
|
||||
pycparser
|
||||
Reference in New Issue
Block a user