🤯 A brainf*ck-style programming language, but readable

Overview

Issues Stars License Version


  

🤯 Brainease


Brainease is a brainf*ck-style programming language, but readable.


$ cargo install brainease

# brainease -f examples/hello.bz

save 'H' at 1
save 'e' at 2
save 'l' at 3
save 'o' at 4
save ' ' at 5
save 'W' at 6
save 'r' at 7
save 'd' at 8

print 1
print 2
print 3
print 3
print 4
print 5
print 6
print 4
print 7
print 3
print 8

#> Hello World

Documentation at arthurfiorette.github.io/brainease


License

Licensed under the GPLv3. See LICENSE for more informations.


Contact

See my contact information on my github profile or open a new issue.


Comments
  • chore(deps): bump env_logger from 0.9.1 to 0.9.3

    chore(deps): bump env_logger from 0.9.1 to 0.9.3

    Bumps env_logger from 0.9.1 to 0.9.3.

    Release notes

    Sourced from env_logger's releases.

    v0.9.3

    Fix a regression from v0.9.2 where env_logger would fail to compile with the termcolor feature turned off.

    v0.9.2

    Fix and un-deprecate Target::Pipe, which was basically not working at all before and deprecated in 0.9.1.

    Commits
    • 3da1104 Release version 0.9.3
    • 21f421c Make ci package build on 1.41 again
    • bdae47c Fix build breakage in 0.9.2 without termcolor feature
    • 555cbc2 Release version 0.9.2
    • c89f719 Fix clippy lints
    • 84b701d Change Pipe to always use the test (uncolored) semantics
    • 9edf205 Revert "Deprecate Target::Pipe since it is broken"
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump clap from 3.1.15 to 3.1.16

    chore(deps): bump clap from 3.1.15 to 3.1.16

    Bumps clap from 3.1.15 to 3.1.16.

    Release notes

    Sourced from clap's releases.

    v3.1.16

    [3.1.16] - 2022-05-06

    Fixes

    • (parser) Arg::exclusive overrides Arg::required, like other conflicts
    • (error) Don't duplicate arguments in usage
    • (error) Don't show hidden arguments in conflict error usage
    • (help) New help_template variable {name} to fix problems with {bin}
    • (help) Don't wrap URLs

    gated behind unstable-v4

    • Leading dashes in Arg::long are no longer allowed
    • (help) Use Command::display_name in the help title rather than Command::bin_name
    Changelog

    Sourced from clap's changelog.

    [3.1.16] - 2022-05-06

    Fixes

    • (parser) Arg::exclusive overrides Arg::required, like other conflicts
    • (error) Don't duplicate arguments in usage
    • (error) Don't show hidden arguments in conflict error usage
    • (help) New help_template variable {name} to fix problems with {bin}
    • (help) Don't wrap URLs

    gated behind unstable-v4

    • Leading dashes in Arg::long are no longer allowed
    • (help) Use Command::display_name in the help title rather than Command::bin_name
    Commits
    • 17b930c chore: Release
    • e748649 docs: Update changelog
    • 0e1e952 Merge pull request #3696 from epage/usage
    • 05aecf8 refactor(help): Remove more redundant required checks
    • dcda237 Merge pull request #3689 from epage/usage
    • e23c786 refactor(help): Remove redundant required check
    • f7c2dea fix(help): Don't show hidden arguments for conflicts
    • 2375a8e Merge pull request #3693 from epage/template
    • e4c096e fix(help): Use display name instead of bin name (unstable-v4)
    • 16791ab test(help): Update for display name change
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump clap from 3.1.1 to 3.1.2

    chore(deps): bump clap from 3.1.1 to 3.1.2

    Bumps clap from 3.1.1 to 3.1.2.

    Release notes

    Sourced from clap's releases.

    v3.1.2

    [3.1.2] - 2022-02-23

    Fixes

    • (derive) Allow other attribute with a subcommand that has subcommands

    Documentation

    • (examples) List example topics
    • (derive) Clarify syntax and relation to builder API
    Changelog

    Sourced from clap's changelog.

    [3.1.2] - 2022-02-23

    Fixes

    • (derive) Allow other attribute with a subcommand that has subcommands

    Documentation

    • (examples) List example topics
    • (derive) Clarify syntax and relation to builder API
    Commits
    • 20dc667 chore: Release
    • 2f9cae8 docs: Update changelog
    • 0e0e867 Merge pull request #3505 from epage/subcommand
    • cb93764 fix(derive): Allow other attributes with subcommand that has subcommands
    • 15f43f8 refactor(ci): Move ui tests to Makefile
    • bf36c75 Merge pull request #3501 from nh13/patch-1
    • c13cd89 Fix link to contributing
    • a7b7d43 docs(derive): Call out 'Command' relationship
    • 77d2de0 Merge pull request #3499 from epage/doc
    • cb9cb25 style: Clean up
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @arthurfiorette.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump clap from 3.1.0 to 3.1.1

    chore(deps): bump clap from 3.1.0 to 3.1.1

    Bumps clap from 3.1.0 to 3.1.1.

    Release notes

    Sourced from clap's releases.

    v3.1.1

    [3.1.1] - 2022-02-21

    Fixes

    • Track caller for ArgMatches assertions so the user more easily sees where they need to fix the call
    Changelog

    Sourced from clap's changelog.

    [3.1.1] - 2022-02-21

    Fixes

    • Track caller for ArgMatches assertions so the user more easily sees where they need to fix the call
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @arthurfiorette.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump clap from 3.0.14 to 3.1.0

    chore(deps): bump clap from 3.0.14 to 3.1.0

    Bumps clap from 3.0.14 to 3.1.0.

    Release notes

    Sourced from clap's releases.

    v3.1.0

    [3.1.0] - 2022-02-16

    Compatibility

    Changes in behavior of note that are not guaranteed to be compatible across releases:

    • (help) help subcommand shows long help like --help, rather than short help (-h), deprecated clap::AppSettings::UseLongFormatForHelpSubcommand (#3440)
    • (help) Pacman-style subcommands are now ordered the same as usage errors (#3470)
    • (help) Pacman-style subcommands use standard alternate syntax in usage (#3470)

    Deprecations

    • clap::Command is now preferred over clap::App (#3089 in #3472)
      • clap::command! is now preferred over clap::app_from_crate (#3089 in #3474)
      • clap::CommandFactory::command is now preferred over clap::IntoApp::into_app (#3089 in #3473)
    • (help) help subcommand shows long help like --help, rather than short help (-h), deprecated clap::AppSettings::UseLongFormatForHelpSubcommand (#3440)
    • (error) Deprecate clap::AppSettings::WaitOnError, leaving it to the user to implement
    • (validation) clap::Command::subcommand_required(true).arg_required_else_help(true) is now preferred over clap::AppSettings::SubcommandRequiredElseHelp (#3280)
    • (builder) clap::AppSettings are nearly all deprecated and replaced with builder methods and getters (#2717)
    • (builder) clap::ArgSettings is deprecated and replaced with builder methods and getters (#2717)
    • (builder) clap::Arg::id and clap::ArgGroup::id are now preferred over clap::Arg::name and clap::ArgGroup::name (#3335)
    • (help) clap::Command::next_help_heading is now preferred over clap::Command::help_heading (#1807, #1553)
    • (error) clap::error::ErrorKind is now preferred over clap::ErrorKind (#3395)
    • (error) clap::Error::kind() is now preferred over clap::Error::kind
    • (error) clap::Error::context() is now preferred over clap::Error::info (#2628)

    Note: All items deprecated in 3.0.0 are now hidden in the documentation. (#3458)

    Features

    • (matches) Add clap::ArgMatches::value_source to determine what insert the value (#1345)
    • (help) Override derived display order with clap::Command::next_display_order (#1807)
    • (error) Show possible values when an argument doesn't have a value (#3320)
    • (error) New clap::Error::context API to open the door for fully-custom error messages (#2628)
      • (error) clap::error::ErrorKind now implements Display

    Fixes

    • (builder) Some functions were renamed for consistency and fixing spelling issues
    • (builder) Allow clap::Command::color to override previous calls (#3449)
    • (parse) Propagate globals with multiple subcommands (#3428)
    • (validation) Give ArgRequiredElseHelp precedence over SubcommandRequired (#3456)
    • (validation) Default values no longer count as "present" for conflicts, requires, clap::Command::arg_required_else_help, etc (#3076, #1264)
    • (assert) Report invalid defaults (#3202)
    • (help) Clarify how to handle -h conflicts (#3403)
    • (help) Make it easier to debug the addition of help flags (#3425)
    • (help) Pacman-style subcommands are now separated with spaces (#3470)
    • (help) Pacman-style subcommands are now ordered the same as usage errors (#3470)
    • (help) Pacman-style subcommands use standard alternate syntax in usage (#3470)

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.1.0] - 2022-02-16

    Compatibility

    Changes in behavior of note that are not guaranteed to be compatible across releases:

    • (help) help subcommand shows long help like --help, rather than short help (-h), deprecated clap::AppSettings::UseLongFormatForHelpSubcommand (#3440)
    • (help) Pacman-style subcommands are now ordered the same as usage errors (#3470)
    • (help) Pacman-style subcommands use standard alternate syntax in usage (#3470)

    Deprecations

    • clap::Command is now preferred over clap::App (#3089 in #3472)
      • clap::command! is now preferred over clap::app_from_crate (#3089 in #3474)
      • clap::CommandFactory::command is now preferred over clap::IntoApp::into_app (#3089 in #3473)
    • (help) help subcommand shows long help like --help, rather than short help (-h), deprecated clap::AppSettings::UseLongFormatForHelpSubcommand (#3440)
    • (error) Deprecate clap::AppSettings::WaitOnError, leaving it to the user to implement
    • (validation) clap::Command::subcommand_required(true).arg_required_else_help(true) is now preferred over clap::AppSettings::SubcommandRequiredElseHelp (#3280)
    • (builder) clap::AppSettings are nearly all deprecated and replaced with builder methods and getters (#2717)
    • (builder) clap::ArgSettings is deprecated and replaced with builder methods and getters (#2717)
    • (builder) clap::Arg::id and clap::ArgGroup::id are now preferred over clap::Arg::name and clap::ArgGroup::name (#3335)
    • (help) clap::Command::next_help_heading is now preferred over clap::Command::help_heading (#1807, #1553)
    • (error) clap::error::ErrorKind is now preferred over clap::ErrorKind (#3395)
    • (error) clap::Error::kind() is now preferred over clap::Error::kind
    • (error) clap::Error::context() is now preferred over clap::Error::info (#2628)

    Note: All items deprecated in 3.0.0 are now hidden in the documentation. (#3458)

    Features

    • (matches) Add clap::ArgMatches::value_source to determine what insert the value (#1345)
    • (help) Override derived display order with clap::Command::next_display_order (#1807)
    • (error) Show possible values when an argument doesn't have a value (#3320)
    • (error) New clap::Error::context API to open the door for fully-custom error messages (#2628)
      • (error) clap::error::ErrorKind now implements Display

    Fixes

    • (builder) Some functions were renamed for consistency and fixing spelling issues
    • (builder) Allow clap::Command::color to override previous calls (#3449)
    • (parse) Propagate globals with multiple subcommands (#3428)
    • (validation) Give ArgRequiredElseHelp precedence over SubcommandRequired (#3456)
    • (validation) Default values no longer count as "present" for conflicts, requires, clap::Command::arg_required_else_help, etc (#3076, #1264)
    • (assert) Report invalid defaults (#3202)
    • (help) Clarify how to handle -h conflicts (#3403)
    • (help) Make it easier to debug the addition of help flags (#3425)
    • (help) Pacman-style subcommands are now separated with spaces (#3470)
    • (help) Pacman-style subcommands are now ordered the same as usage errors (#3470)
    • (help) Pacman-style subcommands use standard alternate syntax in usage (#3470)
    • (error) Be consistent in showing of required attributes between errors / usage (#3390)

    ... (truncated)

    Commits
    • e6729f9 chore: Release
    • aad9fdc Merge pull request #3477 from epage/compat
    • 62c2ca4 chore: Remove compatibility crates
    • 73847b3 chore: Upgrade boilerplate
    • 9bc0af8 Merge pull request #3475 from epage/fixes
    • 3dd3993 docs(builder): Add ToC to Command, Arg
    • 94e2727 docs(builder): Clarify command-wide
    • 92d1002 docs(changelog): Add missing deprecation
    • e2136f9 docs(contrib): Align release windows
    • 15c7abb docs(parser): Fix ArgMatches::value_source documentation
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • chore(deps): bump env_logger from 0.9.0 to 0.9.1

    chore(deps): bump env_logger from 0.9.0 to 0.9.1

    Bumps env_logger from 0.9.0 to 0.9.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump clap from 3.1.18 to 3.2.2

    chore(deps): bump clap from 3.1.18 to 3.2.2

    Bumps clap from 3.1.18 to 3.2.2.

    Release notes

    Sourced from clap's releases.

    v3.2.2

    [3.2.2] - 2022-06-14

    Fixes

    • (derive) Improve the highlighted code for deprecation warnings

    gated behind unstable-v4

    • (derive) Default to #[clap(value_parser, action)] instead of #[clap(parse)] (#3827)

    v3.2.0

    [3.2.0] - 2022-06-13

    Features

    • Parsed, typed arguments via Arg::value_parser / ArgMatches::{get_one,get_many} (#2683, #3732)
      • Several built-in TypedValueParsers available with an API open for expansion
      • value_parser!(T) macro for selecting a parser for a given type (#3732) and open to expansion via the ValueParserFactory trait (#3755)
      • [&str] is implicitly a value parser for possible values
      • All ArgMatches getters do not assume required arguments (#2505)
      • Add ArgMatches::remove_* variants to transfer ownership
      • Add ArgMatches::try_* variants to avoid panics for developer errors (#3621)
      • Add a get_raw to access the underlying OsStrs
      • PathBuf value parsers imply ValueHint::AnyPath for completions (#3732)
    • Explicit control over parsing via Arg::action (#3774)
      • ArgAction::StoreValue: existing takes_value(true) behavior
      • ArgAction::IncOccurrences: existing takes_value(false) behavior
      • ArgAction::Help: existing --help behavior
      • ArgAction::Version: existing --version behavior
      • ArgAction::Set: Overwrite existing values (like Arg::multiple_occurrences mixed with Command::args_override_self) (#3777)
      • ArgAction::Append: like Arg::multiple_occurrences (#3777)
      • ArgAction::SetTrue: Treat --flag as --flag=true (#3775)
        • Implies Arg::default_value("false") (#3786)
        • Parses Arg::env via Arg::value_parser
      • ArgAction::SetFalse: Treat --flag as --flag=false (#3775)
        • Implies Arg::default_value("true") (#3786)
        • Parses Arg::env via Arg::value_parser
      • ArgAction::Count: Treat --flag --flag --flag as --flag=1 --flag=2 --flag=3 (#3775)
        • Implies Arg::default_value("0") (#3786)
        • Parses Arg::env via Arg::value_parser
    • (derive) Opt-in to new Arg::value_parser / Arg::action with either #[clap(value_parser)] (#3589, #3742) / #[clap(action)] attributes (#3794)
      • Default ValueParser is determined by value_parser! (#3199, #3496)
      • Default ArgAction is determine by a hard-coded lookup on the type (#3794)
    • Command::multicall is now stable for busybox-like programs and REPLs (#2861, #3684)
    • ArgMatches::{try_,}contains_id for checking if there are values for an argument that mirrors the new get_{one,many} API

    Fixes

    parser

    • Set ArgMatches::value_source and ArgMatches::occurrences_of for external subcommands (#3732)

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.2.2] - 2022-06-14

    Fixes

    • (derive) Improve the highlighted code for deprecation warnings

    gated behind unstable-v4

    • (derive) Default to #[clap(value_parser, action)] instead of #[clap(parse)] (#3827)

    [3.2.1] - 2022-06-13

    [3.2.0] - 2022-06-13

    Compatibility

    MSRV is now 1.56.0 (#3732)

    Behavior

    • Defaults no longer satisfy required and its variants (#3793)
    • When misusing ArgMatches::value_of and friends, debug asserts were turned into panics

    Moving (old location deprecated)

    • clap::{PossibleValue, ValueHint} to clap::builder::{PossibleValue, ValueHint}
    • clap::{Indices, OsValues, ValueSource, Values} to clap::parser::{Indices, OsValues, ValueSource, Values}
    • clap::ArgEnum to clap::ValueEnum (#3799)

    Replaced

    • Arg::allow_invalid_utf8 with Arg::value_parser(value_parser!(PathBuf)) (#3753)
    • Arg::validator / Arg::validator_os with Arg::value_parser (#3753)
    • Arg::validator_regex with users providing their own builder::TypedValueParser (#3756)
    • Arg::forbid_empty_values with builder::NonEmptyStringValueParser / builder::PathBufValueParser (#3753)
    • Arg::possible_values with Arg::value_parser([...]), builder::PossibleValuesParser, or builder::EnumValueParser (#3753)
    • Arg::max_occurrences with arg.action(ArgAction::Count).value_parser(value_parser!(u8).range(..N)) for flags (#3797)
    • Arg::multiple_occurrences with ArgAction::Append or ArgAction::Count though positionals will need Arg::multiple_values (#3772, #3797)
    • Command::args_override_self with ArgAction::Set (#2627, #3797)
    • AppSettings::NoAutoVersion with ArgAction or Command::disable_version_flag (#3800)
    • AppSettings::NoHelpVersion with ArgAction or Command::disable_help_flag / Command::disable_help_subcommand (#3800)
    • ArgMatches::{value_of, value_of_os, value_of_os_lossy, value_of_t} with ArgMatches::{get_one,remove_one} (#3753)
    • ArgMatches::{values_of, values_of_os, values_of_os_lossy, values_of_t} with ArgMatches::{get_many,remove_many} (#3753)
    • ArgMatches::is_valid_arg with ArgMatches::{try_get_one,try_get_many} (#3753)
    • ArgMatches::occurrences_of with ArgMatches::value_source or ArgAction::Count (#3797)
    • ArgMatches::is_present with ArgMatches::contains_id or ArgAction::SetTrue (#3797)
    • ArgAction::StoreValue with ArgAction::Set or ArgAction::Append (#3797)
    • ArgAction::IncOccurrences with ArgAction::SetTrue or ArgAction::Count (#3797)
    • (derive) #[clap(parse(...))] replaced with: (#3589, #3794)
      • For default parsers (no parse attribute), deprecation warnings can be silenced by opting into the new behavior by adding either #[clap(action)] or #[clap(value_parser)] (ie requesting the default behavior for these attributes). Alternatively, the unstable-v4 feature changes the default away from parse to action/value_parser.

    ... (truncated)

    Commits
    • 7836bed chore: Release
    • ea09f67 docs: Go into more details on derive deprecation
    • a770000 docs: Update changelog
    • 4001db6 Merge pull request #3827 from epage/unstable
    • 1ba6ef9 Merge pull request #3818 from mbhall88/patch-1
    • 0a529c1 fix(derive): Switch default actions/parsers for unstable-v4
    • 0c36710 docs(derive): Update deprecation notice
    • 52403cd Update README.md
    • cc76d28 test(derive): Allow specializing tests for unstable-v4
    • 3686244 test(derive): No longer supporting some wrapped types
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump clap-verbosity-flag from 1.0.0 to 1.0.1

    chore(deps): bump clap-verbosity-flag from 1.0.0 to 1.0.1

    Bumps clap-verbosity-flag from 1.0.0 to 1.0.1.

    Changelog

    Sourced from clap-verbosity-flag's changelog.

    [1.0.1] - 2022-06-13

    Fixes

    • Clarify relationship with log
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump regex from 1.5.4 to 1.5.6

    chore(deps): bump regex from 1.5.4 to 1.5.6

    Bumps regex from 1.5.4 to 1.5.6.

    Changelog

    Sourced from regex's changelog.

    1.5.6 (2022-05-20)

    This release includes a few bug fixes, including a bug that produced incorrect matches when a non-greedy ? operator was used.

    1.5.5 (2022-03-08)

    This releases fixes a security bug in the regex compiler. This bug permits a vector for a denial-of-service attack in cases where the regex being compiled is untrusted. There are no known problems where the regex is itself trusted, including in cases of untrusted haystacks.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump clap from 3.1.17 to 3.1.18

    chore(deps): bump clap from 3.1.17 to 3.1.18

    Bumps clap from 3.1.17 to 3.1.18.

    Release notes

    Sourced from clap's releases.

    v3.1.18

    [3.1.18] - 2022-05-10

    Fixes

    • Fix deprecated arg_enum! for users migrating to clap3 (#3717)
    • Verify all required_unless_present_all arguments exist
    • Verify group members exist before processing group members (#3711)
    • (help) Use ... when not enough value_names are supplied

    gated behind unstable-v4

    • Verify required is not used with conditional required settings (#3660)
    • Disallow more value_names than number_of_values (#2695)
    • (parser) Assert on unknown args when using external subcommands (#3703)
    • (parser) Always fill in "" argument for external subcommands (#3263)
    • (derive) Detect escaped external subcommands that look like built-in subcommands (#3703)
    • (derive) Leave Arg::id as verbatim casing (#3282)
    Changelog

    Sourced from clap's changelog.

    [3.1.18] - 2022-05-10

    Fixes

    • Fix deprecated arg_enum! for users migrating to clap3 (#3717)
    • Verify all required_unless_present_all arguments exist
    • Verify group members exist before processing group members (#3711)
    • (help) Use ... when not enough value_names are supplied

    gated behind unstable-v4

    • Verify required is not used with conditional required settings (#3660)
    • Disallow more value_names than number_of_values (#2695)
    • (parser) Assert on unknown args when using external subcommands (#3703)
    • (parser) Always fill in "" argument for external subcommands (#3263)
    • (derive) Detect escaped external subcommands that look like built-in subcommands (#3703)
    • (derive) Leave Arg::id as verbatim casing (#3282)
    Commits
    • 524e36c chore: Release
    • 6635237 docs: Update changelog
    • 20d95d2 Merge pull request #3718 from epage/arg_enum
    • 52f6939 fix(macros): Add needed call for arg_enum
    • 9713cd9 Merge pull request #3712 from epage/assert
    • 7c1f912 fix(assert): Make sure group members exist before using them
    • a57a411 Merge pull request #3708 from epage/rename_sub
    • 2e35403 fix(derive): Don't change case of Arg id's (unstable)
    • f7e4dd2 refactor(derive): Divide rename_all assertions
    • ddc9d54 refactor(derive): Generalize test name
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump clap from 3.1.15 to 3.1.17

    chore(deps): bump clap from 3.1.15 to 3.1.17

    Bumps clap from 3.1.15 to 3.1.17.

    Release notes

    Sourced from clap's releases.

    v3.1.17

    [3.1.17] - 2022-05-06

    Fixes

    • Allow value names for arg! macro to have dashes when quoted, like longs

    v3.1.16

    [3.1.16] - 2022-05-06

    Fixes

    • (parser) Arg::exclusive overrides Arg::required, like other conflicts
    • (error) Don't duplicate arguments in usage
    • (error) Don't show hidden arguments in conflict error usage
    • (help) New help_template variable {name} to fix problems with {bin}
    • (help) Don't wrap URLs

    gated behind unstable-v4

    • Leading dashes in Arg::long are no longer allowed
    • (help) Use Command::display_name in the help title rather than Command::bin_name
    Changelog

    Sourced from clap's changelog.

    [3.1.17] - 2022-05-06

    Fixes

    • Allow value names for arg! macro to have dashes when quoted, like longs

    [3.1.16] - 2022-05-06

    Fixes

    • (parser) Arg::exclusive overrides Arg::required, like other conflicts
    • (error) Don't duplicate arguments in usage
    • (error) Don't show hidden arguments in conflict error usage
    • (help) New help_template variable {name} to fix problems with {bin}
    • (help) Don't wrap URLs

    gated behind unstable-v4

    • Leading dashes in Arg::long are no longer allowed
    • (help) Use Command::display_name in the help title rather than Command::bin_name
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump env_logger from 0.9.1 to 0.10.0

    chore(deps): bump env_logger from 0.9.1 to 0.10.0

    Bumps env_logger from 0.9.1 to 0.10.0.

    Release notes

    Sourced from env_logger's releases.

    v0.9.3

    Fix a regression from v0.9.2 where env_logger would fail to compile with the termcolor feature turned off.

    v0.9.2

    Fix and un-deprecate Target::Pipe, which was basically not working at all before and deprecated in 0.9.1.

    Changelog

    Sourced from env_logger's changelog.

    0.10.0 - 2022-11-24

    MSRV changed to 1.60 to hide optional dependencies

    Fixes

    • Resolved soundness issue by switching from atty to is-terminal

    Breaking Changes

    To open room for changing dependencies:

    • Renamed termcolor feature to color
    • Renamed atty feature to auto-color

    0.9.3 - 2022-11-07

    • Fix a regression from v0.9.2 where env_logger would fail to compile with the termcolor feature turned off.

    0.9.2 - 2022-11-07

    • Fix and un-deprecate Target::Pipe, which was basically not working at all before and deprecated in 0.9.1.

    0.9.0 -- 2022-07-14

    Breaking Changes

    • Default message format now prints the target instead of the module

    Improvements

    • Added a method to print the module instead of the target
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • chore(deps): bump lazy-regex from 2.3.0 to 2.3.1

    chore(deps): bump lazy-regex from 2.3.0 to 2.3.1

    Bumps lazy-regex from 2.3.0 to 2.3.1.

    Changelog

    Sourced from lazy-regex's changelog.

    v2.3.1 - 2022-11-03

    • better error messages on bad regexes - thanks @​necauqua

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • `1.1.0 Stable` - Tasks

    `1.1.0 Stable` - Tasks


    (PRs are welcome)

    ⚙️ Cli

    Bugs

    • [x] Avoid panics when no brainease file is found (a47acaa)
    • [x] ~Add optimization settings while transpile to avoid repeat brainease instructions that can be grouped together. (Like ++++ can be inc 4 in *@)~ Implemented as default way.

    Features

    • [x] Change file extension from .bz to .brain (c2a7949)
    • [x] Better filepath normalization (a47acaa)
    • [x] Create an transpiler binary to convert brainf*ck into brainease code (9c4a5ce)
    • [x] Split transpile and run steps in two subcommands (0ee230e)
    • [x] Renamed binary into brainz (632ac11 and b0a2649)

    🏃 Runtime

    Bugs

    • [x] write and print are emitting the same output (7c993b7)
    • [X] Goto left/right may cause memory to index out of bounds (d2322db)

    Features

    • [x] Wrap pointer if his value is the same as memory length (b9eae59)
    • [x] Inifinite loop when running transpiled golden.b (7c5ace7)
    • [x] Exit, break and continue instructions (a64e776)

    🖌️ Lexer

    Bugs

    • [x] Unmatched indentation at end of indentation block (e6ebc5c)
    • [x] Extra chars warns with comments (d0d1fb1)
    • [x] Allow escape sequence in characters (c10a792)

    Features

    • [x] ~Remove necessity of writing *@ to use memory pointers~ (Reduces redability)
    • [x] Remove extra chars detection. Emit a unknown warning at the hole line. (3dc2926)
    • [x] Allow direct characters in print and write instructions (33dc126)
    • [x] Include characters inside if statements (75f75e2)

    🧬 Transpiler

    Bugs

    • [x] Catch preventable bugs with more unit tests (398b71a)

    📚 Documentation

    Features

    • [x] Add simple changelog (4895f56)
    • [x] Transpile some examples from brainfuck.org to brainease (a9ca7c7)
    • [ ] Cover all instructions and cli options in the documentation

    📦 Repository

    Features

    • [x] Replace Makefile with cargo-make (3bb9fb3)
    • [x] Add binaries on release (x86_64-unknown-linux-musl, x86_64-apple-darwin, x86_64-pc-windows-msvc and arm-unknown-linux-gnueabihf) (05d3eed)
    • [x] Move all packages under packages/** (4c586a3)

    help wanted good first issue 
    opened by arthurfiorette 0
Releases(v1.0.6)
  • v1.0.6(Mar 5, 2022)

    Bug Fixes

    • Fixed integration tests
    • Exit early when parse_line return error
    • Prevent panic when file is not found

    Documentation

    • Updated readme symlinks
    • Fixed readme example

    Refactor

    • Dedicated struct for instructions
    • Rename binary to brain
    • Move crates under packages/**

    Ci

    • Fixed Rust CI syntax
    • Groupped CI into 3 per-os jobs

    Tag

    • V1.0.6

    Full Changelog: https://github.com/arthurfiorette/brainease/compare/v1.0.5...v1.0.6

    Source code(tar.gz)
    Source code(zip)
    brainease-x86_64-apple-darwin.zip(12.68 KB)
    brainease-x86_64-pc-windows-msvc.zip(12.86 KB)
    brainease-x86_64-unknown-linux-musl.zip(12.68 KB)
  • v1.0.5(Mar 5, 2022)

    Bug Fixes

    • Clippy
    • Flush output after every instruction loop
    • Extra chars warns even if its only comments

    Documentation

    • Added examples

    Miscellaneous Tasks

    • Use cargo-make for common tasks
    • Add funding.yml
    • Bump clap from 3.1.3 to 3.1.5 (#6)
    • Bump cli to v1.0.4

    Refactor

    • Change -f to argument
    • Use None when GotoDirection is 1

    Ci

    • Fixed ci and updated changelog

    Deps

    • Updated autocfg

    Tag

    • V1.0.5

    Full Changelog: https://github.com/arthurfiorette/brainease/compare/v1.0.4...v1.0.5

    Source code(tar.gz)
    Source code(zip)
    brainease-x86_64-apple-darwin.zip(857.54 KB)
    brainease-x86_64-pc-windows-msvc.zip(699.14 KB)
    brainease-x86_64-unknown-linux-musl.zip(1.60 MB)
  • v1.0.4(Mar 1, 2022)

    Bug Fixes

    • Use 30.000 as default memory length
    • Update pointer every loop check
    • Fixed unknown indentation after double indentation block
    • Goto index out of bounds (#2)
    • Write and print output (#2)
    • Wrap pointer if value is the same as memory length
    • Fixed goto capturing group
    • Use @ for pointer as # is a comment :p
    • Handled pointer overflow
    • Fixed comment detection
    • Fixed exponential line_index bug
    • Fixed match_indentation function
    • Fixed infinite loop after indentation ends
    • Fixed multiple indentations bugs

    Documentation

    • Updated hello world example
    • Fixed changelog
    • Added changelog
    • Fixed site url
    • More documentation
    • Added initial docs
    • Crates.io badge

    Features

    • Removed run option after transpilation
    • Cli using new transpiler
    • Transpile cli and subcommands
    • Transpile from brainfuck code
    • Use .brain as file extension (#2)
    • Accept # as pointer
    • Goto instruction
    • [breaking] Integrated if_cell into if
    • [breaking] Require * for cell reference

    Miscellaneous Tasks

    • Bump clap from 3.1.2 to 3.1.3 (#5)
    • Clippy code
    • Bump clap from 3.1.1 to 3.1.2 (#4)
    • Bump clap from 3.1.0 to 3.1.1 (#3)
    • Updated debugger
    • Bump clap from 3.0.14 to 3.1.0 (#1)
    • Added debug config for vscode

    Refactor

    • Smaller and faster transpiler
    • Cli paths normalization and result handling (#2)
    • Idiomatic rust code
    • Trace cli arguments
    • Split io_handler into multiple files
    • IoHandler for different IO modes
    • Runtime supports different IOs
    • Better error messages
    • Clippy
    • Updated cli

    Testing

    • Added integration tests

    Ci

    • Attach binaries on latest release
    • Updated ci to test all packages
    • Dependabot.yml
    • Added docs action

    Tag

    • Bump all brainease crates

    New Contributors

    • @dependabot made their first contribution in https://github.com/arthurfiorette/brainease/pull/1

    Full Changelog: https://github.com/arthurfiorette/brainease/compare/v1.0.3...v1.0.4

    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Feb 7, 2022)

  • v1.0.2(Feb 7, 2022)

  • v1.0.1(Feb 7, 2022)

    Documentation

    • Added readme
    • Updated license

    Features

    • Cli ready
    • Runtime ready
    • Lexer ready
    • Lexer almost ready
    • Added lexer syntax

    Miscellaneous Tasks

    • Updated repo structure
    • Updated cargo.toml version
    • Updated hello example and gitignore
    • Some config files

    Refactor

    • Lexer parser
    • Impl FromStr for IfLogic

    Testing

    • Fixed tests

    Ci

    • Fix publish steps
    • Cache target directory
    • Renamed actions
    • Fix publish event
    • Unique CI for all packages and publish action
    • Added github ci

    Init

    • Init cargo workspace

    Tag

    • V1.0.1

    Full Changelog: v1.0.1

    Source code(tar.gz)
    Source code(zip)
    brainease-x86_64-apple-darwin.zip(886.87 KB)
    brainease-x86_64-pc-windows-msvc.zip(715.58 KB)
    brainease-x86_64-unknown-linux-musl.zip(1.64 MB)
Owner
Arthur Fiorette
Fullstack developer - tech enthusiast.
Arthur Fiorette
An optimising Brainf*ck to x86-64 assembly compiler written in Rust

brainfrsk 2 An optimising Brainf*ck to x86-64 assembly compiler. This compiler can produce optimised binaries for macOS (Sytem V calling convention) b

Adam Soutar 1 Feb 20, 2022
A Brainf** interpreter written in rust 🦀

Brainf Interpreter An interpreter for the esoteric programming language Brainfuck written in rust ?? Compilation NOTE: To compile the project, you nee

Chitram Dasgupta 2 Sep 12, 2022
Brainf - A brainfuck interpreter written in Rust 🦀

brainf A brainfuck interpreter written in Rust ?? . Do not I wrote this in my spare time... but still its good! Run Locally Clone the project git cl

Nav 3 Oct 8, 2022
tr-lang is a language that aims to bring programming language syntax closer to Turkish.

tr-lang Made with ❤️ in ???? tr-lang is a language that aims to bring programming language syntax closer to Turkish. tr-lang is a stack based language

Kerem Göksu 10 Apr 2, 2022
An aimless attempt at building a PC from scratch, in a vaguely eurorack/modular synth style.

An aimless attempt at building a PC from scratch, in a vaguely eurorack/modular synth style.

James Munns 66 Nov 30, 2022
A Simple, But amazing telegram bot, Made using the Rust language!

Telegram bot in Rust A fun Telegram bot made using Rust language.

Deep Alchemy 2 Dec 21, 2021
A simple programming language for everyone.

Slang A simple programming language for everyone, made with Rust. State In very early stages. Plan is to create a byte-code compiler and make that exe

Slang, Inc. 11 Jul 1, 2022
A programming language. Better mantra pending.

Dusk Dusk is a programming language I've been working on on and off for the past while now. It's still very much in its infancy (... a quick look thro

Kaylynn Morgan 14 Oct 24, 2022
Ruxnasm is an assembler for Uxntal — a programming language for the Uxn stack-machine by Hundred Rabbits

Ruxnasm is an assembler for Uxntal — a programming language for the Uxn stack-machine by Hundred Rabbits. Ruxnasm strives to be an alternative to Uxnasm, featuring more user-friendly error reporting, warnings, and helpful hints, reminiscent of those seen in modern compilers for languages such as Rust or Elm.

Karol Belina 44 Oct 4, 2022
Frame is a markdown language for creating state machines (automata) in 7 programming languages as well as generating UML documentation.

Frame Language Transpiler v0.5.1 Hi! So very glad you are interested in Frame. Frame system design markdown language for software architects and engin

Mark Truluck 35 Dec 31, 2022
beat saber is a strongly typed, self-documenting and highly performant programming language

beatsaber beat saber is a strongly typed, self-documenting and highly performant programming language. With beat saber we aimed to create a language t

Untitled 4 Jan 17, 2022
Analogous, indented syntax for the Rust programming language.

Note: After experimenting with this in the wild, I have found representing keywords as symbols to be far less readable in large codebases. Additionall

null 42 Oct 2, 2021
A cell-based esoteric programming language

Tape A cell-based esoteric programming language Tape is a cell-based, brainfuck-like programming language that has a readable syntax and a non-wasted

Gabriel Pacheco 2 Feb 23, 2022
Programming language from down under, inspired by this Reddit post.

aussie++ Programming language from down under, inspired by this Reddit post. View live demo here. Special thanks to MarkWhyBird, louis100, and others

Zack Radisic 562 Dec 27, 2022
Programming Language Inspired by Brainfuck

Brainsuck Brainfuck but not really... like... a better version of it. Installation Requirements: Rust version 1.50 or higher Linux curl https://raw.gi

Derin Önder Eren 27 Nov 18, 2022
A Star Wars inspired by programming language

The Force The Force is a gateway to abilities many believe are unnatural... Getting Started Install Rust. We also provide a Dev Container if you would

Matthew Booe 14 Dec 21, 2022
An incremental programming language

Differential Datalog (DDlog) DDlog is a programming language for incremental computation. It is well suited for writing programs that continuously upd

VMware 1.2k Dec 28, 2022
Simple programming language that speaks the ones you already know!

Simple programming language that speaks the ones you already know!

LyonSyonII 2 Feb 12, 2022
simple, C-like programming language

CUP: C(ompiler) U(nder) P(rogress) A badly named, in-progress programming language just to learn how these things work. Wait, doesn't everyone write a

Mustafa Quraish 287 Dec 28, 2022