jacoobes / nums Goto Github PK
View Code? Open in Web Editor NEWprogramming language wip
License: MIT License
programming language wip
License: MIT License
Currently having issues that track the location of the error while parsing.
For example,
package a //packages are supposed to end in semicolons
fun foo| a: str| {}
Error :
Expected Semi, got Function
src/main.nums:5:7
fun foo|a:str| {}
^
The error reporting is nowhere near accurate
blocks can act as an expression also, returning an expression at the end. It'ss sorta like an iife from js
Implement better error handling for the first stage of parsing.
Need a way for Nums to track the file that's currently being parsed/ compiled so it contributes to a cleaner error handling. I already have lines and the basic location of where the error is. Need file location.
I feel like Span maybe too restricted to just the first stage parser, might need to implement a trait to share logic between different span types for different parsing stages
I was lazy and only printed out ASTs instead of asserting they were correct. Need some help making assert statements to unit test the AST nodes correctly.
fn power() {
let text = "5 ^ 10 + 16 + 3;";
let tree= create_tree(text);
match tree {
Ok(e) => println!("{:?}", &e),
Err(span) => println!("{:?}", span)
}
}
For example, I'm just printing out instead of asserting.
simply put, diversify how spans are created. Some errors, such as NoTopLevelDeclaration do not need specific line by line detail.
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.