From 8b4009fba17f3467c61981734ce756ee3e726e74 Mon Sep 17 00:00:00 2001 From: Tristan Smith Date: Sat, 14 Sep 2024 23:17:31 -0400 Subject: [PATCH] updates --- 03.png | Bin 0 -> 30999 bytes index.html | 24 +++++++++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) create mode 100644 03.png diff --git a/03.png b/03.png new file mode 100644 index 0000000000000000000000000000000000000000..ad96e67b971ec1f7c4d64a3f7b98750c656a437d GIT binary patch literal 30999 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 - Fiddle Programming Language + fddl programming language @@ -107,24 +107,27 @@
-

Fiddle Programming Language

+

fddl

Lexer Screenshot Lexer Tests Screenshot + REPL Screenshot

Overview

-

Fiddle is a small programming language inspired by various languages, designed to help learn language implementation concepts in Rust.

+

fddl is a small programming language inspired by various languages, designed to help learn language implementation concepts in Rust.

I have, off and on throughout the last 15 or so years attempted to learn a programming language of some sort. I could always get through the basics, but would get stuck with any real-world projects. And I wouldn't know who to turn to even if I knew where to start.

So I started learning Rust and really like it. I've been following some tutorials and the Crafting Interpreters site as guides for this very problematic programming language.

I like aspects of so many programming languages, but I don't really like any of them, so I always found it hard to pick one and stick with it. But I had the same problem playing World of Warcraft, too.

So I, like many of you, decided to make a hobby programming language to see what may be able to be done with it.

+
+

The fact that I have a REPL working in this language is nothing short of amazing to me. It's fucking magic.

Features

    -
  • Custom syntax with unique operators and keywords
  • +
  • Custom syntax with unique (and possibly deranged) operators and keywords
  • Documentation comments using #, similar to Rust's style
  • Lexer and parser built from scratch in Rust
@@ -132,7 +135,7 @@

Getting Started

To run the REPL:

cargo run
-

To run a fiddle script:

+

To run a fddl script:

cargo run path/to/script.fddl

Examples

@@ -155,27 +158,30 @@ print(`The square of $number is ${math.square($number)}`);

Notes and Next Steps

    -
  • Added first new set of tokens and features, added the first lexer tests.
  • +
  • Added first new set of tokens and features, added the first lexer tests.
  • parser module is a placeholder.
  • interpreter module is a placeholder.
  • Implement a more robust error handling mechanism instead of using stderr.
  • Implement string interpolation (backticks with $variable)
  • Continue to expand tests to cover all new syntax and features.
  • +
  • Made a crappy website.

Running the Project

Make sure your project compiles and the tests pass:

-
cargo build
+        

+cargo build
 cargo test
-
+
+

Although there's not much there right now. But the REPL works!

\ No newline at end of file