搜索插件、代码仓与 APP 分类

GitHub 代码仓euler2dot7/interpreter

Dart 中解释器的软件架构

Dart(Flutter)中解释器的软件架构

Dart 中解释器的软件架构 项目封面
星标
2
复刻
2
最近推送(UTC)
2020年12月18日
项目状态
未归档

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

Software architecture of interpreter in Dart (Flutter)

This project is a part of my tech talk about OOP design of interpreters.

Arithmetic expressions interpreter.

The software accept arithmetic expression in input and provide 3 interpretation:

  • Result of evaluation
  • Abstract Syntax Tree structure
  • Stack machine assembler representation
Demo Application
  • The web app is available here -> demo
Example:

Example

Software Architecture in UML

Domain model

Domain model of expression evaluator

Structure

Package diagram

Interaction

Interaction diagram

AST evaluator (Visitor Pattern)

Visitor Pattern

Build

I used Android Studio in order to build:

  • Web App
  • Mobile App
  • Desktop App

Presentation

euler2dot7 GitHub avatar
GitHub 作者

euler2dot7 ↗

语言DartCMakeC++HTMLCSwiftKotlinObjective-C

依赖Flutter组件

使用的依赖

依赖清单 7 项

  • flutter{"sdk":"flutter"}
  • cupertino_icons^1.0.0
  • provider^4.3.2+2
  • graphview^0.6.1
  • flutter_test开发依赖{"sdk":"flutter"}
  • flutter_driver开发依赖{"sdk":"flutter"}
  • test开发依赖^1.15.4

App 分类

如何选择适合项目的代码仓?

先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。

  1. 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
  2. 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
  3. 使用前在 GitHub 核对 README、许可证与 Issues。

来源与维护

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗