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.2.tar.gz (7.7 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.2-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: soliz-0.1.2.tar.gz
  • Upload date:
  • Size: 7.7 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.2.tar.gz
Algorithm Hash digest
SHA256 d46eabe8dacaa055d8cf086c120e5b1948759401d9f3b7749f7ed9103c69e699
MD5 bf5fe10a4b34437e4f034d24d1349053
BLAKE2b-256 1a53106f108b9e5c5077861c72e3d4d87c7a1b62600bde63f2dee3bd03e4c90a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: soliz-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 8.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 892a13f59bfc189a6e383dc83a8c4358cbc07ad763d5bf88ee6101445864b1a2
MD5 0440a576428107439b53063a0fcb0181
BLAKE2b-256 15ec7d7eec39ff9d05f57ea623e8ab0ae38d59b375b3221e41cf7e449979e0a7

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