{"id":16616453,"url":"https://github.com/findnextstep/mycompilingprincipleexperiment","last_synced_at":"2026-04-24T14:07:05.071Z","repository":{"id":165023726,"uuid":"133127341","full_name":"findNextStep/myCompilingPrincipleExperiment","owner":"findNextStep","description":"编译原理课程实验内容","archived":false,"fork":false,"pushed_at":"2018-06-20T01:19:36.000Z","size":98,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-11T02:30:40.915Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/findNextStep.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-12T08:19:05.000Z","updated_at":"2018-06-20T01:19:37.000Z","dependencies_parsed_at":"2023-05-16T20:00:19.946Z","dependency_job_id":null,"html_url":"https://github.com/findNextStep/myCompilingPrincipleExperiment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/findNextStep/myCompilingPrincipleExperiment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/findNextStep%2FmyCompilingPrincipleExperiment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/findNextStep%2FmyCompilingPrincipleExperiment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/findNextStep%2FmyCompilingPrincipleExperiment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/findNextStep%2FmyCompilingPrincipleExperiment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/findNextStep","download_url":"https://codeload.github.com/findNextStep/myCompilingPrincipleExperiment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/findNextStep%2FmyCompilingPrincipleExperiment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32226461,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-12T02:13:09.860Z","updated_at":"2026-04-24T14:07:05.058Z","avatar_url":"https://github.com/findNextStep.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# myCompilingPrincipleExperiment\n\n编译原理课程实验内容\n\n## 编译环境\n\n编译器需要c++14支持\n\n\u003e git submodule update --init\n\u003e mkdir build\n\u003e cmake ..\n\u003e make -j4\n\n### windows\n\n\u003e g++ --version\n\u003e g++.exe (x86_64-posix-seh-rev2, Built by MinGW-W64 project) 7.1.0\n\u003e Copyright (C) 2017 Free Software Foundation, Inc.\n\u003e\n\u003e cmake --version\n\u003e cmake version 3.8.2\n\u003e\n\u003e clang++ --version\n\u003e clang version 6.0.0 (https://github.com/llvm-mirror/clang.git 4e8386f480e758e0e5e9c26c7439ac7bf9a71d23) (https://github.com/llvm-mirror/llvm.git 6727c50d80dcdfe8631f5806fd8148b2334fdcb7)\n\n### ubuntu 16.04\n\n\u003e screenfetch\n\u003e OS: Ubuntu 16.04 xenial\n\u003e Kernel: x86_64 Linux 4.13.0-45-generic\n\u003e Shell: zsh 5.1.1\n\u003e g++ 5.4.0\n\u003e clang++ 3.8.0\n\n## 文件结构\n\n- include \n\n  放置词法分析程序的实现和语言声明\n\n  - struct\n\n    放置通用数据结构用于编译器各个组件之间的交互\n\n    - token.hpp\n\n      词法分析程序的输出\n\n    - gramaticalTree.hpp\n       \n      语法树的结构\n\n  - threadLanguage\n\n    测试语言的规则\n\n    - threadSetting.hpp\n\n      测试语言的表述\n\n  - tool\n     \n    工具类\n    \n    - matchingDFA.hpp\n\n      简单的dfa匹配的实现\n\n    - treePrinter.hpp\n\n      语法树输出工具\n\n  - lexicalAnalysier.hpp\n\n    词法分析程序的声明\n\n  - grammaticalAnalysier.hpp\n\n    语法分析程序的声明\n\n- src\n\n  编译程序\n  \n  - lib \n\n  　实现代码\n\n    - grammaticalAnalysier.cpp\n\n      语法分析的实现\n\n    - grammaticalAnalysierMake.cpp\n\n      语法分析的构造\n\n    - lexicalAnalysier.cpp\n\n      词法分析程序的实现\n\n    - token.cpp\n\n      token的实现\n\n    - treePrinter.cpp\n\n      语法树格式化输出实现\n\n  - test\n\n    测试程序\n\n    - functionalTestForLexicalAnalysier.cpp\n\n      测试词法分析程序正确性的程序\n\n    - grammaticalAnalysierTest.cpp\n      \n      测试语法分析程序正确性的程序\n\n    - task1.cpp\n\n      实验一的结果\n\n    - task2.cpp\n     \n      实验二的结果\n\n- third\n\n  使用的第三方非标准库\n\n  - [json](https://github.com/nlohmann/json)\n\n    std风格的c++json库","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffindnextstep%2Fmycompilingprincipleexperiment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffindnextstep%2Fmycompilingprincipleexperiment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffindnextstep%2Fmycompilingprincipleexperiment/lists"}