Skip to main content

A lexer creation tool

Project description

Soliz - A lexer creation tool

Features

  • Provides basic implementations for: strings, integers, floats, operators, symbols
  • Soliz's abstract design allows quick and easily understandable development
  • Pretty error printing

Errors look like:

Error: Unexpected character
{"key": 4.4.}
           ^
Expected: 'digit', found '.'
Occurs at: 1:12-12

WARNING: Order of the rules may matter depending on the implementation.

Builtins

Builtin rules can be located in soliz/impls.py

StringRule

This rule allows escape sequences and parses quoted strings.
Errors on invalid escape sequences.

NumberRule

This rule parses integers and floats, positive or negative.

OperatorRule

Parses the following operators: +, -, *, /, ==, ^, **, %

SymbolRule

Parses the following symbols: (, ), =, . as individual token types without value.

IdentifierRule

Parses identifiers that start with _ or alphabetic characters, and continue with alphanumeric or _ characters.

EolRule

Parses newline characters and updates the lexer context.

SpaceRule

Parses sequences of space and optionally tab characters.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

soliz-0.1.6.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

soliz-0.1.6-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file soliz-0.1.6.tar.gz.

File metadata

  • Download URL: soliz-0.1.6.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for soliz-0.1.6.tar.gz
Algorithm Hash digest
SHA256 a5f4b04ac00850b01acb69875f023ff9dd3c885333771cf64a13dcfb44a43b14
MD5 5f0ad7f45d5c88b8e9f1cf63bf19f7e5
BLAKE2b-256 e16ccd38b63d94d2b7d9463b63d268a12bf2cb80b59823f7f724ecc63234df38

See more details on using hashes here.

File details

Details for the file soliz-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: soliz-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.0

File hashes

Hashes for soliz-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3a8a838323cf3131f7187bf342f9f2c842b1832d74362c08fe24e35012692c7a
MD5 2a953a59d32b32406cd2d825acf00e98
BLAKE2b-256 c52ae353317b9d21ee3ee651d85d59376a8f6493094e1d5d3e9b015f372e3ec7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page