Skip to content

Team 5 - New Language Design - #31

Open
qianxichen233 wants to merge 1 commit into
team5-hw1from
team5-new-language-design
Open

Team 5 - New Language Design#31
qianxichen233 wants to merge 1 commit into
team5-hw1from
team5-new-language-design

Conversation

@qianxichen233

@qianxichen233 qianxichen233 commented Dec 13, 2024

Copy link
Copy Markdown
Collaborator

This PR addresses the new language design task for Team 5.

The implementation included in this PR is our first iteration of the new language design. It constructs the graph relationships and then translates Shadowdash’s graph representation into Ninja’s representation. While we have a newer iteration that directly translates to Ninja’s graph representation during class construction (available at PR #20), that version is still undergoing frequent updates to meet performance expectations and is not final. As a result, we are submitting this earlier iteration, which uses the older approach, as the PR’s content.


Related Files and Their Functionality (in Suggested Review Order):

  1. shadowdash_docs/new_language_doc.md: Documentation detailing how to use the new language.
  2. shadowdash_test/manifest.h: Contains the core of the new language design.
  3. shadowdash_test/manifest_example.cc: Provides an example manifest that demonstrates how to use the new language.
  4. .circleci/config.yml: Adds a test step for the new language design example.
  5. shadowdash_test/manifest_compile.sh: Test script for verifying the new language functionality.
  6. .gitignore: Updated to ignore .so files.

Here is the link to the successful CircleCI run.

update manifest

Add comments and documentation to shadowdash_manifest.h & manifest_example.cc

added documentation for shadowdash

added gitignore

updated

added manifest_compile.sh

updated manifest_compile.sh

updated cmakelist
@cchels

cchels commented Dec 17, 2024

Copy link
Copy Markdown

Code Review From @yw5490 @395110n @cchels

  1. Change Granularity
  • 1 commit per PR perfectly meets the requirements indicated in lecture.
  • All the files included in the commit are relevant.
  1. Code Functionality
  • The code constructs for build and rule definitions are in line with what appears in ninja manual.
  • Console pool is missing.
  • All the classes have consistent structure with clear logic flow.
  1. Readability & Structure
  • The functions are encapsulated well.
  1. Standards Compatibility
  • There seems to be no linting error, with the confirmation from the Circle CI test results.
  1. Testing
  • Circle CI is set up to test the new language design portion.

@Shihuihuang1103

Copy link
Copy Markdown

@cchels CircleCI link is included in the PR description. Please see above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants