All Projects → nblumhardt → tcalc

nblumhardt / tcalc

Licence: Apache-2.0 License
A series of C# parser construction examples

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to tcalc

cs-resources
Curated Computer Science and Programming Resource Guide
Stars: ✭ 42 (+23.53%)
Mutual labels:  parsers
m3u8-parser
A simple HLS playlist parser for Java
Stars: ✭ 100 (+194.12%)
Mutual labels:  parsers
leftry
Leftry - A left-recursion enabled recursive-descent parser combinator library for Lua.
Stars: ✭ 32 (-5.88%)
Mutual labels:  parsers
librxvm
non-backtracking NFA-based regular expression library, for C and Python
Stars: ✭ 57 (+67.65%)
Mutual labels:  parsers
Plotty
C language compiler from scratch for a custom architecture, with virtual machine and all
Stars: ✭ 33 (-2.94%)
Mutual labels:  superpower
Analogy.LogViewer
A customizable Log Viewer with ability to create custom providers. Can be used with C#, C++, Python, Java and others
Stars: ✭ 172 (+405.88%)
Mutual labels:  parsers
rtsp-types
RTSP (RFC 7826) types and parsers/serializers
Stars: ✭ 16 (-52.94%)
Mutual labels:  parsers
Limbo
Library for VLSI CAD Design Useful parsers and solvers' api are implemented.
Stars: ✭ 84 (+147.06%)
Mutual labels:  parsers
reparse
Reparse is a monadic, recursive descent based, comprehensive parser construction library for ocaml.
Stars: ✭ 53 (+55.88%)
Mutual labels:  parsers
lilt
LILT: noun, A characteristic rising and falling of the voice when speaking; a pleasant gentle accent.
Stars: ✭ 18 (-47.06%)
Mutual labels:  parsers
uniorg
An accurate Org-mode parser
Stars: ✭ 190 (+458.82%)
Mutual labels:  parsers
key-parsers
OCaml parsers for multiple key formats
Stars: ✭ 15 (-55.88%)
Mutual labels:  parsers
autumn
A Java parser combinator library written with an unmatched feature set.
Stars: ✭ 112 (+229.41%)
Mutual labels:  parsers

tcalc

A series of C# parser construction examples, using Superpower.

This repository implements a toy language for simple calculations over durations expressed in days (d), hours (h), minutes (m), seconds (s), or milliseconds (ms), along with floating point numbers:

tcalc> (1h - 50m) * 3
00:30:00

tcalc> 7d / 350ms
1728000

The master branch implements this as a token-driven parser. You can also view the parser expressed as a pure-text parser by switching to the text-parser branch.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].