Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-04-14 | LibJS: Handle HTML-style comments | Stephan Unverwerth | |
2020-04-05 | LibJS: Allow lexer to run without logging errors | AnotherTest | |
2020-04-05 | LibJS: Add numeric literal parsing for different bases and exponents | Stephan Unverwerth | |
2020-04-05 | LibJS: Plumb line and column information through Lexer / Parser | Brian Gianforcaro | |
While debugging test failures, it's pretty frustrating to have to go do printf debugging to figure out what test is failing right now. While watching your JS Raytracer stream it seemed like this was pretty furstrating as well. So I wanted to start working on improving the diagnostics here. In the future I hope we can eventually be able to plumb the info down to the Error classes so any thrown exceptions will contain enough metadata to know where they came from. | |||
2020-03-14 | LibJS: Lex single quote strings, escaped chars and unterminated strings | Stephan Unverwerth | |
2020-03-12 | LibJS: Parse === and !== binary operators | Conrad Pankoff | |
2020-03-12 | LibJS: Add Javascript lexer and parser | Stephan Unverwerth | |
This adds a basic Javascript lexer and parser. It can parse the currently existing demo programs. More work needs to be done to turn it into a complete parser than can parse arbitrary JS Code. The lexer outputs tokens with preceeding whitespace and comments in the trivia member. This should allow us to generate the exact source code by concatenating the generated tokens. The parser is written in a way that it always returns a complete syntax tree. Error conditions are represented as nodes in the tree. This simplifies the code and allows it to be used as an early stage parser, e.g for parsing JS documents in an IDE while editing the source code.: |