summaryrefslogtreecommitdiff
path: root/TODO.txt
blob: ae3a9fff2e29892912ffdbaebd7083364e0b89d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Todo
----

Version Update
--------------

setup.py, __init__.py, README, CHANGES
- Make sure _build_tables was run in pycparser/
- If PLY version changes, note it in README and ply/LICENSE

python setup.py sdist bdist_wheel

Copy the newly created tarball and untar it; check that the permissions of
Python files in the pycparser/ directory are OK. Check to see that lextab.py and
yacctab.py are there.

Now create a new virtualenv and in it install the tarball with
`pip install <tarballname>`. May need to install `wheel` first if seeing errors
about `bdist_wheel`.

See that pycparser is importable in the Python interpreter of this virtualenv;
run pycparser tests from this virtualenv.

After this it's OK to rerun `python3.6 -m twine upload dist/*` to push to PyPI
(older Pythons use a deprecated API for PyPI uploading).

- Tag in git. When pushing to GitHub, git push --tags

Misc
----

yacc optimization:
- If parsetab.py/pyc doesn't exist in the path, the table will be reconstructed
  anyway, regardless of the optimize parameter
- If it does exist:
  - If optimize=True, the table will be loaded unconditionally
  - If optimize=False, the table will be loaded only if it's older than the
    grammar

lex optimization:
- If optimize=False, the lexical table is re-computed and is not saved to a
  lextab file
- If optimize=True:
  - If lextab.py/pyc exists in the path, it will be loaded unconditionally
  - If lextab.py/pyc doesn't exist, it will be created and loaded