Releases: tokay-lang/tokay
Releases · tokay-lang/tokay
v0.6.6
What's Changed
- feat: New list syntax with enforced
,
-operator by @phorward in #100 - Compiler scopes and intermediate object construction rework by @phorward in #131
- Compiler scopes and intermediate object construction rework by @phorward in #132
- Implementation of
Void
-token by @phorward in #129 - Reworks on
ImlValue
by @phorward in #134 - New attempt for ImlValue resolving by @phorward in #138
- Fix tests by @phorward in #139
Full Changelog: v0.6.5...v0.6.6
v0.6.5
This is the first Tokay version supporting and established on generics.
What's Changed
- Context-based stacks by @phorward in #114
- Alternative builtin registry toolchain by @phorward in #112
- Redefine severity by @phorward in #119
- Establishing generic parselets and functions by @phorward in #105
- Implement
Keyword<P>
-parselet prelude by @phorward in #125
Full Changelog: v0.6.4...v0.6.5
v0.6.4
- Main parselet operates on multiple inputs (Readers) now
- Restructuring parts of VM,
Runtime
renamed intoThread
- Several test cases restructured
- Bugfix for
str_get_item
Ord
on Value and RefValue, builtinlist_sort()
- Implementing
str_split(s, sep=void, n=void)
- Fix
begin
andend
feature of parselets (#109)
v0.6.2
v0.6.1
v0.6
What's Changed
- Moving Value::Int from i64 to BigInt by @phorward in #55
- Use clap v3 rather than v2 for command-line parsing by @phorward in #61
- Objects should allow for error reporting in to_i64(), to_f64(), to_usize() and to_bigint() by @phorward in #57
- Use of
num-parse
to parse integers by @phorward in #65 - Use
s
as string param in builtin methods by @jgbyrne in #72 - Rename instances of
faculty
tofactorial
by @jgbyrne in #71 - Parseable sequences with in-place reader extend by @phorward in #78
- Implementing item handling for objects by @phorward in #80
- New builtin signatures by @phorward in #84
- Reworking test facilities by @phorward in #86
- Implement
divi
(integer divison) operations / operators//
and//=
by @phorward in #92 - Replace Tokay's internal parser by a parser generated from
tokay.tok
by @phorward in #93 - Using RefValue as keys for dicts by @phorward in #96
- Implement character-classes by
Char<...>
keyword token by @phorward in #98
New Contributors
Full Changelog:
v0.5.1...v0.6
CHANGELOG.md
v0.5
Changelog
- General
- Improved Tokay parser newline behavior to support Windows and classic Mac line ending as well
- Moved tests from
test.rs
into their particular locations, so tests are written next to their implementation - Read from stdin when no input stream but a program that is consuming was specified
- Moved
ccl.rs
into separatecharclass
crate - Equipped Reader struct with better tools for scanning (
Reader::take()
,Reader::span()
)
- Values
- New
Object
trait - Splitting
enum Value
into separate objects usingBox<dyn Object>
unary_op()
andbinary_op()
for RefValue, with fast-lanes for some operations- Replacement of separate binary- and unary-VM instructions into
Op::BinaryOp
andOp::UnaryOp
- Implemented all primary operations by builtin methods
- New
- Builtins
- Entire redesign of builtins using proc-macro
- Builtin function registry generated by a build-script, substituting
inventory
/linkme
-crates - Builtin functions
repr()
to get string with Tokay object representationtype()
to get string of Tokay value type- bool methods:
bool()
- int methods:
int()
- float methods:
float()
,float.ceil()
,float.fract()
,float.trunc()
- addr methods:
addr()
- dict methods:
dict()
,dict.len()
,dict.update()
- list methods:
list()
,list.add()
,list.iadd()
,list.len()
,list.push()
,list.pop()
- str methods:
str()
,str.add()
,str.byteslen()
str.endswith()
,str.mul()
,str.join()
,str.len()
,str.lower()
,str.replace()
,str.startswith()
,str.substr()
,str.upper()
- Builtin tokens
Float
allowing for parsing floating point numbers into float valuesIdent
renamed (fromIdentifier
)Int
renamed (fromInteger
) and accepting parameters like a radix baseWord
skipping words not in the wanted word size, but not rejecting
- New example files
- Self-hosted Tokay parser in
examples/tokay.tok
- Simple JSON parser in
examples/json.tok
- Self-hosted Tokay parser in