mammouth 4.0.0-beta

  • README.md
  • Installing
  • Versions
  • 8
     __  __                                       _   _     
    |  \/  |                                     | | | |    
    | \  / | __ _ _ __ ___  _ __ ___   ___  _   _| |_| |__  
    | |\/| |/ _` | '_ ` _ \| '_ ` _ \ / _ \| | | | __| '_ \ 
    | |  | | (_| | | | | | | | | | | | (_) | |_| | |_| | | |
    |_|  |_|\__,_|_| |_| |_|_| |_| |_|\___/ \__,_|\__|_| |_|

Mammouth is a small language that compiles into PHP, inspired by CoffeeScript. It's compiled to PHP codes/files that you can run in your PHP server.

For documentation, usage, and examples, see: http://mammouth.boutglay.com/

To suggest a feature, report a bug, or general discussion: http://github.com/btwael/mammouth/issues/

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  mammouth: ^4.0.0-beta

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:mammouth/sdk/core.dart';
import 'package:mammouth/sdk/runtime.dart';
  
Version Uploaded Documentation Archive
4.0.0-beta Oct 1, 2018 Go to the documentation of mammouth 4.0.0-beta Download mammouth 4.0.0-beta archive
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
12
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
25
Overall:
Weighted score of the above. [more]
8
Learn more about scoring.

We analyzed this package on Dec 5, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.1.0
  • pana: 0.12.7

Platforms

Detected platforms:

Low code quality prevents platform classification.

Health issues and suggestions

Fix lib/src/language/mammouth/element/implementation.dart. (-76.27 points)

Analysis of lib/src/language/mammouth/element/implementation.dart failed with 5 errors:

line 195 col 7: 'ClassMemberElement.node' ('() → ClassMember') isn't a valid override of 'ConstructorElement.node' ('() → ConstructorDeclaration').

line 242 col 7: 'ClassMemberElement.node' ('() → ClassMember') isn't a valid override of 'FieldElement.node' ('() → FieldDeclaration').

line 410 col 7: 'ClassMemberElement.node' ('() → ClassMember') isn't a valid override of 'MethodElement.node' ('() → MethodDeclaration').

line 445 col 7: 'ClassMemberElement.node' ('() → ClassMember') isn't a valid override of 'OperatorElement.node' ('() → OperatorDeclaration').

line 480 col 7: 'ClassMemberElement.node' ('() → ClassMember') isn't a valid override of 'ConverterElement.node' ('() → ConverterDeclaration').

Document public APIs (-10 points)

4 out of 4 API elements (library, class, field or method) have no adequate dartdoc content. Good documentation improves code readability and discoverability through search.

Fix lib/src/semantic/typeChecker.dart. (-3.45 points)

Analysis of lib/src/semantic/typeChecker.dart reported 7 hints, including:

line 169 col 3: This function has a return type of 'MammouthType', but doesn't end with a return statement.

line 882 col 3: This function has a return type of 'MammouthType', but doesn't end with a return statement.

line 1132 col 3: This function has a return type of 'MammouthType', but doesn't end with a return statement.

line 1181 col 3: This function has a return type of 'MammouthType', but doesn't end with a return statement.

line 1187 col 3: This function has a return type of 'MammouthType', but doesn't end with a return statement.

Fix bin/mammouth.dart. (-1.99 points)

Analysis of bin/mammouth.dart reported 4 hints:

line 4 col 8: Unused import: 'package:path/path.dart'.

line 5 col 8: Unused import: 'package:yaml/yaml.dart'.

line 8 col 8: Unused import: 'package:mammouth/src/language/php/version.dart'.

line 9 col 8: Unused import: 'package:mammouth/src/platform/vm/fileSystem.dart'.

Fix additional 38 files with analysis or formatting issues. (-4 points)

Additional issues in the following files:

  • lib/src/codegen/codegen.dart (2 hints)
  • lib/src/language/common/ast/visitor.dart (2 hints)
  • lib/src/basic/fileSystem/abstractFile.dart (1 hint)
  • lib/src/language/common/ast/token.dart (1 hint)
  • lib/src/language/mammouth/ast/ast.dart (1 hint)
  • lib/src/syntactic/indentation.dart (1 hint)
  • lib/sdk/core.dart (Run dartfmt to format lib/sdk/core.dart.)
  • lib/sdk/runtime.dart (Run dartfmt to format lib/sdk/runtime.dart.)
  • lib/src/basic/session.dart (Run dartfmt to format lib/src/basic/session.dart.)
  • lib/src/codegen/docgen.dart (Run dartfmt to format lib/src/codegen/docgen.dart.)
  • lib/src/codegen/namePicker.dart (Run dartfmt to format lib/src/codegen/namePicker.dart.)
  • lib/src/codegen/resolver.dart (Run dartfmt to format lib/src/codegen/resolver.dart.)
  • lib/src/diagnostic/diagnosticEngine.dart (Run dartfmt to format lib/src/diagnostic/diagnosticEngine.dart.)
  • lib/src/diagnostic/error.dart (Run dartfmt to format lib/src/diagnostic/error.dart.)
  • lib/src/language/common/ast/ast.dart (Run dartfmt to format lib/src/language/common/ast/ast.dart.)
  • lib/src/language/common/ast/implementation.dart (Run dartfmt to format lib/src/language/common/ast/implementation.dart.)
  • lib/src/language/common/ast/precedence.dart (Run dartfmt to format lib/src/language/common/ast/precedence.dart.)
  • lib/src/language/mammouth/ast/implementation.dart (Run dartfmt to format lib/src/language/mammouth/ast/implementation.dart.)
  • lib/src/language/mammouth/element/Cloner.dart (Run dartfmt to format lib/src/language/mammouth/element/Cloner.dart.)
  • lib/src/language/mammouth/element/element.dart (Run dartfmt to format lib/src/language/mammouth/element/element.dart.)
  • lib/src/language/mammouth/type/implementation.dart (Run dartfmt to format lib/src/language/mammouth/type/implementation.dart.)
  • lib/src/language/mammouth/type/type.dart (Run dartfmt to format lib/src/language/mammouth/type/type.dart.)
  • lib/src/language/php/ast/ast.dart (Run dartfmt to format lib/src/language/php/ast/ast.dart.)
  • lib/src/language/php/ast/implementation.dart (Run dartfmt to format lib/src/language/php/ast/implementation.dart.)
  • lib/src/language/php/ast/visitor.dart (Run dartfmt to format lib/src/language/php/ast/visitor.dart.)
  • lib/src/language/php/element/element.dart (Run dartfmt to format lib/src/language/php/element/element.dart.)
  • lib/src/language/php/version.dart (Run dartfmt to format lib/src/language/php/version.dart.)
  • lib/src/mammouth.dart (Run dartfmt to format lib/src/mammouth.dart.)
  • lib/src/platform/vm/fileSystem.dart (Run dartfmt to format lib/src/platform/vm/fileSystem.dart.)
  • lib/src/platform/vm/session.dart (Run dartfmt to format lib/src/platform/vm/session.dart.)
  • lib/src/semantic/elementBuilder.dart (Run dartfmt to format lib/src/semantic/elementBuilder.dart.)
  • lib/src/semantic/parentResolver.dart (Run dartfmt to format lib/src/semantic/parentResolver.dart.)
  • lib/src/semantic/scope.dart (Run dartfmt to format lib/src/semantic/scope.dart.)
  • lib/src/semantic/typeSystem.dart (Run dartfmt to format lib/src/semantic/typeSystem.dart.)
  • lib/src/syntactic/codepoint.dart (Run dartfmt to format lib/src/syntactic/codepoint.dart.)
  • lib/src/syntactic/errors.dart (Run dartfmt to format lib/src/syntactic/errors.dart.)
  • lib/src/syntactic/lexer.dart (Run dartfmt to format lib/src/syntactic/lexer.dart.)
  • lib/src/syntactic/parser.dart (Run dartfmt to format lib/src/syntactic/parser.dart.)

Maintenance issues and suggestions

Fix platform conflicts. (-20 points)

Low code quality prevents platform classification.

Maintain CHANGELOG.md. (-20 points)

Changelog entries help clients to follow the progress in your code.

The description is too short. (-20 points)

Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

Maintain an example. (-10 points)

Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use mammouth.dart.

Package is pre-release. (-5 points)

Pre-release versions should be used with caution, their API may change in breaking ways.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
args ^1.5.0 1.5.1
path ^1.6.2 1.6.2
yaml ^2.1.15 2.1.15
Transitive dependencies
charcode 1.1.2
collection 1.14.11
meta 1.1.6
source_span 1.4.1
string_scanner 1.0.4