dlox 1.0.0 dlox: ^1.0.0 copied to clipboard
A full implementation (scanner, parser, resolver and interpreter) of the Lox language in Dart.
We analyzed this package 16 hours ago, and awarded it 130 pub points (of a possible 160):
10/10 points: Provide a valid pubspec.yaml
5/5 points: Provide a valid README.md
5/5 points: Provide a valid CHANGELOG.md
10/10 points: Use an OSI-approved license
Detected license: GPL-3.0
.
10/10 points: 20% or more of the public API has dartdoc comments
65 out of 189 API elements (34.4 %) have documentation comments.
Some symbols that are missing documentation: dlox
, dlox.AssignExpression
, dlox.AssignExpression.AssignExpression
, dlox.AssignExpression.accept
, dlox.AssignExpression.name
.
0/10 points: Package has an example
No example found.
See package layout guidelines on how to add an example.
20/20 points: Supports 5 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)
-
✓ Android
-
✓ iOS
-
✓ Windows
-
✓ Linux
-
✓ macOS
These platforms are not supported:
Package not compatible with platform Web
Because:
package:dlox/dlox.dart
that imports:package:dlox/src/routine.dart
that imports:package:dlox/src/interpreter.dart
that imports:dart:io
0/0 points: WASM compatibility
Package not compatible with runtime wasm
Because:
package:dlox/dlox.dart
that imports:package:dlox/src/routine.dart
that imports:package:dlox/src/interpreter.dart
that imports:dart:io
This package is not compatible with runtime wasm
, and will not be rewarded full points in a future version of the scoring model.
See https://dart.dev/web/wasm for details.
40/50 points: code has no errors, warnings, lints, or formatting issues
Found 9 issues. Showing the first 2:
INFO: Statements in an if should be enclosed in a block.
lib/src/interpreter.dart:127:80
╷
127 │ (expression.operator.type == TokenType.orKeyword && !_isTruthy(left))) return left;
│ ^^^^^^^^^^^^
╵
To reproduce make sure you are using the lints_core and run dart analyze lib/src/interpreter.dart
/tmp/pana_WTQDNW/bin/dlox.dart doesn't match the Dart formatter.
To format your files run: dart format .
0/10 points: All of the package dependencies are supported in the latest version
Package | Constraint | Compatible | Latest |
---|---|---|---|
dart_style |
^2.3.6 |
2.3.8 | 3.0.1 |
exitcode |
^1.0.1 |
1.0.1 | 1.0.1 |
meta |
^1.15.0 |
1.16.0 | 1.16.0 |
quiver |
^3.2.1 |
3.2.2 | 3.2.2 |
recase |
^4.1.0 |
4.1.0 | 4.1.0 |
Transitive dependencies
Package | Constraint | Compatible | Latest |
---|---|---|---|
_fe_analyzer_shared |
- | 76.0.0 | 79.0.0 |
_macros |
- | 0.3.3 | 0.3.3 |
analyzer |
- | 6.11.0 | 7.2.0 |
args |
- | 2.6.0 | 2.6.0 |
async |
- | 2.12.0 | 2.12.0 |
boolean_selector |
- | 2.1.2 | 2.1.2 |
collection |
- | 1.19.1 | 1.19.1 |
convert |
- | 3.1.2 | 3.1.2 |
crypto |
- | 3.0.6 | 3.0.6 |
file |
- | 7.0.1 | 7.0.1 |
glob |
- | 2.1.3 | 2.1.3 |
macros |
- | 0.1.3-main.0 | 0.1.3-main.0 |
matcher |
- | 0.12.17 | 0.12.17 |
package_config |
- | 2.1.1 | 2.1.1 |
path |
- | 1.9.1 | 1.9.1 |
pub_semver |
- | 2.1.5 | 2.1.5 |
source_span |
- | 1.10.1 | 1.10.1 |
stack_trace |
- | 1.12.1 | 1.12.1 |
stream_channel |
- | 2.1.4 | 2.1.4 |
string_scanner |
- | 1.4.1 | 1.4.1 |
term_glyph |
- | 1.2.2 | 1.2.2 |
test_api |
- | 0.7.4 | 0.7.4 |
typed_data |
- | 1.4.0 | 1.4.0 |
watcher |
- | 1.1.1 | 1.1.1 |
yaml |
- | 3.1.3 | 3.1.3 |
To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides
.
The constraint `^2.3.6` on dart_style does not support the stable version `3.0.0`.
Try running dart pub upgrade --major-versions dart_style
to update the constraint.
10/10 points: Package supports latest stable Dart and Flutter SDKs
20/20 points: Compatible with dependency constraint lower bounds
pub downgrade
does not expose any static analysis error.
Analyzed with Pana 0.22.18
, Dart 3.6.1
.
Check the analysis log for details.