summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-06-05_internal_error() nit.Ulf Magnusson
2015-06-05Format some stuff consistently.Ulf Magnusson
2015-06-05Use the 'get' method of 'keyword' directly.Ulf Magnusson
Small tokenizer optimization, similar to the regex optimizations.
2015-06-05Improve tokenization performance by removing a single character.Ulf Magnusson
strip() instead of lstrip() makes the loop terminate earlier, saving lots of calls. Shaves a few % of parsing the x86 Kconfigs.
2015-06-05Restructure and simplify parts of the tokenizer.Ulf Magnusson
Pre-bump 'i' and let it be the index of the "next" character instead.
2015-06-05Fix hang when tokenizing some invalid expressions.Ulf Magnusson
c.eval("&") would cause a hang before for example.
2015-06-04Clean up parse error handling.Ulf Magnusson
strip() the faulty line (seeing that whitespace probably isn't helpful), remove an assert that probably isn't useful in practice, and simplify the code.
2015-06-04Clean up tokenization error handling.Ulf Magnusson
- The caret was always set to the end of the string in the current version, which is pointless. - Part of the error string was output manually, and part of it was part of the exception message. Ugly oversight.
2015-06-04Documentation nit.Ulf Magnusson
2015-06-04Refactor and optimize _indentation().Ulf Magnusson
I must have missed that expandtabs() already takes the context of tabs into account the first time around. Also remove error check that probably won't be useful.
2015-06-04Refactor and optimize _strip_quotes().Ulf Magnusson
Use the fact that startswith() can check multiple prefixes.
2015-06-04Replace _strip_trailing_slash() with rstrip().Ulf Magnusson
Will also strip many '/'s, which makes sense here.
2015-06-04Refactor _get_lines().Ulf Magnusson
Also improves performance. A yield-based implementation would be interesting to experiment with, to see if I/O + computation interleaving helps here.
2015-06-04Note that _FileFeed joins lines ending in \.Ulf Magnusson
2015-06-04Let _FileFeed fetch the lines from the file.Ulf Magnusson
This is how it's always used in practice.
2015-06-04Order _parse_block() cases by frequency.Ulf Magnusson
Probably not a noticeable win here, but might as well. The new ordering isn't any worse than the old one in other respects. Also remove a pointless assert. The condition would trigger an obvious error immediately when false anyway.
2015-06-04Order _parse_properties() cases by frequency.Ulf Magnusson
Shaves a few % off parsing the x86 Kconfigs.
2015-06-04Check for AND before OR in _eval_expr_2().Ulf Magnusson
Much more common, so make it the fast case.
2015-06-04Small regex-related optimization.Ulf Magnusson
Prefetch the SRE_Pattern.match() methods. Shaves a few % off Config._tokenize(). Do the same elsewhere for consistency, though I'm not sure if it's a meaningful win.
2015-06-04Warning formatting nit.Ulf Magnusson
2015-06-04Consistently use new-style classes.Ulf Magnusson
Ugly oversight. Gives a nice ~13% parsing performance increase with both CPython and PyPy on my system.
2015-06-03Fix typo.Ulf Magnusson
2015-06-03Add dubiousjim's kconfig-diff.py as an example.Ulf Magnusson
2015-06-02Remove Psyco support.Ulf Magnusson
Psyco is dead, and there's PyPy now.
2015-06-02Change email in testsuite.py.Ulf Magnusson
2015-06-02Move thanks to a separate section.Ulf Magnusson
Makes the intro a bit less spammy.
2015-06-02Fix typo.Ulf Magnusson
2015-06-02Expand a bit more on 'menuconfig'.Ulf Magnusson
2015-06-02Expand on 'menuconfig' note.Ulf Magnusson
2015-06-02Mention gotchas related to emulating 'menuconfig'.Ulf Magnusson
2015-06-02Obfuscate email inside kconfiglib.py.Ulf Magnusson
2015-06-01Use ulfalizer@gmail.com for feedback.Ulf Magnusson
Harder to miss stuff that way.
2015-06-01Nit.Ulf Magnusson
2015-05-31Do a small documentation cleanup pass.Ulf Magnusson
- Clean up introduction a bit. - Explain that "# CONFIG_FOO is not set" is treated specially. - Remove some silly "otherwise False" comments where it's obvious. - Reformulate a few things slightly.
2015-05-31Use a bullet list for the notes.Ulf Magnusson
2015-05-31Link fpemud's pylkc in the readme.Ulf Magnusson
2015-05-30Readme nit.Ulf Magnusson
2015-05-30Add some real-world examples too.Ulf Magnusson
2015-05-29The test suite also likes PyPy.Ulf Magnusson
2015-05-29Add some more misc. notes.Ulf Magnusson
2015-05-29Fix typos in test suite.Ulf Magnusson
...and mention that the test suite requires the make targets too in the readme.
2015-05-29Linkify testsuite.py.Ulf Magnusson
2015-05-29List the make targets.Ulf Magnusson
...and mention the documentation some more.
2015-05-29Add "installation instructions" for non-kernel projects.Ulf Magnusson
...and some other misc. notes.
2015-05-29Fix typo in warning.Ulf Magnusson
2015-05-29Only warn for 'option modules' on non-MODULES symbols.Ulf Magnusson
2015-05-28Linkify examples/.Ulf Magnusson
2015-05-25More readme nits.Ulf Magnusson
2015-05-25Readme nit.Ulf Magnusson
2015-05-25Linkify philipc.Ulf Magnusson