therealaj / dsl-charts Goto Github PK
View Code? Open in Web Editor NEWCPSC 410 Project for creating chart visualizations using a domain-specific-language
License: MIT License
CPSC 410 Project for creating chart visualizations using a domain-specific-language
License: MIT License
Disclaimer: this does not affect the team grading but it's something that I usually do both in 310 or 410 as this kind of feedback may bring new ideas to the table.
I took a quick look at the project and the parsing and evaluating follows the code presented in the lectures, there is a reasonable number of packages and they enclose modules that should indeed be together. Some quick heads-up:
In Tokenizer
it's not a common practice to catch an exception and do not rethrow it in the stack.
Exception constructors usually take the form of new Exception(msg, <previous captured exception>)
. Hence, when there is an exception, you can see the whole stack. I'll double check Elisa's Tokenizer and let her know that.
} catch (IOException e) {
String errorMessage = "Didn't find file: " + filename;
throw new Exception(errorMessage);
}
In SnippetHelpers
why do you need the cases? why not a simple for loop concatenating the tab value n times?
public static String tabs(int numTabs) {
ret = ""
for i = 0; i < numTabs; i ++
ret += TAB_UNIT
return ret
}
In GraphNode
you have a bunch of ifs and elses to create the chartnode. Java is quite verbose in these cases, so it's advisable to use a factory
Please remember that you all did a great job, take this comments lightly. I'll be glad to discuss more about refactoring and their trade-offs if you guys are interested.
Looking forward to seeing the video during the Film Fest.
Hi everyone,
Would be so kind and add an example of the DSL in either your README file or as another markdown file. I want to double check your DSL idea and ensure that you are on the right path.
Thanks in advance,
Arthur
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.