PyPascalTokenizer
=================
Module for Python 3. It does tokenizing of Pascal code (it's planned to support full Delphi and FreePascal syntax).
API
===
Token struct
------------
Token is saved as 4-tuple (text, begin, end, final):
* text: string with token text
* begin: position of token start, tuple (y, x), where y - 0-based line index and x - 0-based character index in line
* end: position after token end, tuple (y, x)
* final: bool, True if it was last token
Class PasTokenizer
------------------
* __init__(lines): params: list of source code strings
* get_next(): get next token and change end pos
* read_next(): get next token, but don't change end pos
* is_ended(): check if text ended
Class PasTokenizerStack
-----------------------
* __init__(lines, comments=True): params: list of source code strings; "comments" allows to get also comment-tokens (otherwise tokenizer skips them)
* push(s): push token to stack
* pop(): pop (get and delete) token from stack
* read_last(): read (get but don't delete) top token from stack
* is_ended(): check if stack ended
Class PasTokenizerParallelStack
-------------------------------
Descendant of PasTokenizerStack, which uses thread(s) for parsing entire file. Before destroying it you mast call stop().
* __init__(lines, comments=True, qlong=1000): additonal param: size of internal queue buffer
Utils
-----
Helper functions to analyze token text.
* is_name(s): Check for valid identifier (can be reserved word too).
* is_comment(s): Check for valid comment.
* is_string(s): Check for string constant.
Author
=====
Artem Gavrilov (@Artem3213212 at Github)
=================
Module for Python 3. It does tokenizing of Pascal code (it's planned to support full Delphi and FreePascal syntax).
API
===
Token struct
------------
Token is saved as 4-tuple (text, begin, end, final):
* text: string with token text
* begin: position of token start, tuple (y, x), where y - 0-based line index and x - 0-based character index in line
* end: position after token end, tuple (y, x)
* final: bool, True if it was last token
Class PasTokenizer
------------------
* __init__(lines): params: list of source code strings
* get_next(): get next token and change end pos
* read_next(): get next token, but don't change end pos
* is_ended(): check if text ended
Class PasTokenizerStack
-----------------------
* __init__(lines, comments=True): params: list of source code strings; "comments" allows to get also comment-tokens (otherwise tokenizer skips them)
* push(s): push token to stack
* pop(): pop (get and delete) token from stack
* read_last(): read (get but don't delete) top token from stack
* is_ended(): check if stack ended
Class PasTokenizerParallelStack
-------------------------------
Descendant of PasTokenizerStack, which uses thread(s) for parsing entire file. Before destroying it you mast call stop().
* __init__(lines, comments=True, qlong=1000): additonal param: size of internal queue buffer
Utils
-----
Helper functions to analyze token text.
* is_name(s): Check for valid identifier (can be reserved word too).
* is_comment(s): Check for valid comment.
* is_string(s): Check for string constant.
Author
=====
Artem Gavrilov (@Artem3213212 at Github)
Release files for pascal-tokenizer 1.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pascal_tokenizer-1.0.4.tar.gz | 3.5 kB | Details |
Release files / pascal_tokenizer-1.0.4.tar.gz
| Download URL | pascal_tokenizer-1.0.4.tar.gz |
|---|---|
| Size | 3.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
99774ff72534a3d9de76008fe0cf2d0a4aa6c39d352414a0335e44817ec434be
|
|
BLAKE2b-256 checksum How to use checksums |
95a029cc235c86238f53573dbf8d6ed36ca5e6da05bacdfd41cb8f009b86ca6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/28.8.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.4
|