Spigot plugin with over 17k downloads that allows customizable death messages.
App to teach special education students real-world financial skills.
Dynamically typed programming language written in rust.
Spigot plugin with over 17k downloads that allows customizable death messages.
App to teach special education students real-world financial skills.
Dynamically typed programming language written in rust.
Self explanatory and :(
Position struct has fields for column and row as i32, it should be a usize. Remove casts from PositionFragment#to_string accordingly
Change to macro that will retain functionality and expand to a placeholder panic that only prevents mismatched arm error
Like python, create a interpreter to create a program line by line (or just as a quick utility ;) )
Pass source as a borrowed copy instead of a cloned string, more memory efficient
Replace the struct functionality within the enum and save a lot of work
I am still learning rust smh ;(
GitHub actions
For parser, should have unary precedence
In the future I want unpacking to be a thing, for example:
[x, y] = [1, 2]
where x = 1 and y = 2
Lexer needs to differentiate between decimal numbers, and ranges, 7.7 vs 7..7
When I say compiler I mean a serialized ast, which can be run directly from the interpreter instead of lexing and parsing, and a decompiler which can turn it back into source code.
Done by checking if the last token was a (single) or maybe hand craft the list
Replace memory fragment with position class, give source code to it once and pass a borrowed copy around instead of cloning for each token (extremely memory inefficient)
Change to macro that will retain functionality and expand to a placeholder panic that only prevents mismatched arm error
Replace Position#to_string with impl ToString
Used on nodes to visit in the interpreter
Change to macro that will retain functionality and expand to a placeholder panic that only prevents mismatched arm error
My ternary (if statements) uses {} but i believe it's possible to leave that empty. (Potentially)
Possible to improve speed by removing CharState because it runs if else statements, but then still has to be used in a match case which slightly increases lexing time. Despite being trivial, this could potentially drop the lexing time down a fair amount, especially when combined white improving the string cloning. (Or put the functions in a hashmap corresponding to the charstate, O(1) lookup time, and can just return an option from each)
Use a trait named module for default implementations such as print, println, etc, and instead of replacing keywords with values, return a primitive of type module with a get method that returns the primitive the user will operate on. May help clean up code, but may also complicate things more than necessary, so this is still only potential
Change the arg slice to a wrapped enum with the string args, and replace it from the to_string method
Since the lexer uses peeking, the position is usually (except for unclosed strings (in certain cases) is all I've noticed, maybe more) one character behind. It also stops lexing after multiple newlines in some scenarios
More CPU and memory efficient and will cut down on code, will prevent unneeded consumption of tokens as well as be easier to use
Encapsulate in token type, maybe also encapsulate position to completely remove token struct and leave with enum
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.