Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a Scheme REPL based on the Ribbit VM #39

Merged
merged 221 commits into from
Mar 30, 2024
Merged

Implement a Scheme REPL based on the Ribbit VM #39

merged 221 commits into from
Mar 30, 2024

Commits on Jan 16, 2024

  1. Make the Vector wrapper more flexible

    Handle presence or absence of ROM, RAM(s), etc. separately, and fail lazily.
    This allows alternate implementations pick and choose which components to use.
    mossprescott committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    f62467f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7cf9749 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

  1. Comments

    mossprescott committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    1f3be94 View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2024

  1. Configuration menu
    Copy the full SHA
    312c347 View commit details
    Browse the repository at this point in the history
  2. First example for big.py

    mossprescott committed Jan 21, 2024
    Configuration menu
    Copy the full SHA
    4775886 View commit details
    Browse the repository at this point in the history
  3. More options for symbols and statics

    BUILTIN_SYMBOLS can be overridden.
    
    If min_statics is None, any use of an undeclared symbol is a ParseError.
    
    Range-checking for constant values.
    
    A ParseError type for slightly more clarity about where the errors are coming from.
    mossprescott committed Jan 21, 2024
    Configuration menu
    Copy the full SHA
    3433e5c View commit details
    Browse the repository at this point in the history
  4. Cleanup

    mossprescott committed Jan 21, 2024
    Configuration menu
    Copy the full SHA
    d2fd7fe View commit details
    Browse the repository at this point in the history
  5. Use new SCREEN builtin

    mossprescott committed Jan 21, 2024
    Configuration menu
    Copy the full SHA
    0ab953d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8a665af View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    319123d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    831657d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    98098b2 View commit details
    Browse the repository at this point in the history
  10. More ROM size feedback

    mossprescott committed Jan 21, 2024
    Configuration menu
    Copy the full SHA
    efdef91 View commit details
    Browse the repository at this point in the history
  11. Handle keydown and TTY

    mossprescott committed Jan 21, 2024
    Configuration menu
    Copy the full SHA
    15118a5 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    5310172 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    d1df3db View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    27e3f9c View commit details
    Browse the repository at this point in the history
  15. Fix alignment for delimiters and 1

    According to System 7.5.3 in emulation.
    mossprescott committed Jan 21, 2024
    Configuration menu
    Copy the full SHA
    2bc6ae4 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    3cd2e32 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. Configuration menu
    Copy the full SHA
    a8e8f5e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b504b0f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    27f283b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    90435ab View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    00723ae View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a9fac8c View commit details
    Browse the repository at this point in the history
  7. Update for latest

    mossprescott committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    944cc3f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8f62cd3 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2dc5a13 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2024

  1. First steps towards executing (Ribbit) scheme

    Run rsc and decode the symbol table into ROM and (at runtime) RAM.
    
    Not really dealing with instructions yet, but the path is becoming clear.
    mossprescott committed Jan 27, 2024
    Configuration menu
    Copy the full SHA
    2441a83 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0d739b7 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2024

  1. Configuration menu
    Copy the full SHA
    db32534 View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2024

  1. Better tracing

    mossprescott committed Jan 30, 2024
    Configuration menu
    Copy the full SHA
    9e055cb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b211a7d View commit details
    Browse the repository at this point in the history
  3. More tracing options

    mossprescott committed Jan 30, 2024
    Configuration menu
    Copy the full SHA
    8c6ba26 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2024

  1. More tracing tweaks

    mossprescott committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    7a985ba View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ed789cb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c1c3b63 View commit details
    Browse the repository at this point in the history
  4. Remove dead comments

    mossprescott committed Feb 1, 2024
    Configuration menu
    Copy the full SHA
    e750654 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2024

  1. Configuration menu
    Copy the full SHA
    302b1d2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f4d815a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    11a2a90 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    71ce188 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    22b3c07 View commit details
    Browse the repository at this point in the history
  6. Tracing again

    mossprescott committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    b050300 View commit details
    Browse the repository at this point in the history
  7. Cleanup

    mossprescott committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    bc52475 View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2024

  1. Fix tracing;

    mossprescott committed Feb 3, 2024
    Configuration menu
    Copy the full SHA
    9a99941 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e50869e View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2024

  1. Factor out instruction decoding

    Simplifies the CPU somewhat, and can be shared by other implementations.
    mossprescott committed Feb 4, 2024
    Configuration menu
    Copy the full SHA
    205d188 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    37200ee View commit details
    Browse the repository at this point in the history
  3. Fix rvm.run()

    mossprescott committed Feb 4, 2024
    Configuration menu
    Copy the full SHA
    2470bd9 View commit details
    Browse the repository at this point in the history
  4. Implement set global

    mossprescott committed Feb 4, 2024
    Configuration menu
    Copy the full SHA
    b57ef0d View commit details
    Browse the repository at this point in the history
  5. Initialize the stack with an outer continuation

    Using the previously secret “halt” opcode
    mossprescott committed Feb 4, 2024
    Configuration menu
    Copy the full SHA
    f40c80d View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2024

  1. Fix set (global)

    mossprescott committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    419f4e5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4b07a24 View commit details
    Browse the repository at this point in the history
  3. Handle “halt” instructions in tracing

    Still a weird bug in here somewhere…
    mossprescott committed Feb 5, 2024
    Configuration menu
    Copy the full SHA
    d1564e1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    672d507 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ff61aa6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1e8cfeb View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    86aa302 View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2024

  1. Implement get (global)

    mossprescott committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    dd209ad View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    647266d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8bc9c69 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b9c974a View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    51b7f87 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2024

  1. Useful tracing in tests

    mossprescott committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    4a1300c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8ab5cae View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cc44a93 View commit details
    Browse the repository at this point in the history
  4. Implement get (slot)

    mossprescott committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    b87c408 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3cd0f35 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2024

  1. Implement poke

    mossprescott committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    0f8f940 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2024

  1. Configuration menu
    Copy the full SHA
    8e1c189 View commit details
    Browse the repository at this point in the history
  2. Check for no trace fn

    mossprescott committed Feb 10, 2024
    Configuration menu
    Copy the full SHA
    be44e34 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ef9a446 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ac2b4d4 View commit details
    Browse the repository at this point in the history
  5. Implement arg1

    mossprescott committed Feb 10, 2024
    Configuration menu
    Copy the full SHA
    4657139 View commit details
    Browse the repository at this point in the history
  6. Implement call (closure)

    mossprescott committed Feb 10, 2024
    Configuration menu
    Copy the full SHA
    56baac3 View commit details
    Browse the repository at this point in the history
  7. Comments; random cleanup

    mossprescott committed Feb 10, 2024
    Configuration menu
    Copy the full SHA
    aa46f87 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    31f423d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    a47dbe2 View commit details
    Browse the repository at this point in the history

Commits on Feb 11, 2024

  1. Configuration menu
    Copy the full SHA
    4f67763 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    177b51a View commit details
    Browse the repository at this point in the history
  3. Implement <

    mossprescott committed Feb 11, 2024
    Configuration menu
    Copy the full SHA
    92529b0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    35542ee View commit details
    Browse the repository at this point in the history
  5. Clean up redundant TODOs

    mossprescott committed Feb 11, 2024
    Configuration menu
    Copy the full SHA
    5be1a38 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ae3f6cd View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d0967ae View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5e2cdaa View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f329e02 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    798f3f1 View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2024

  1. Implement “close”

    mossprescott committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    809b83a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    56226c2 View commit details
    Browse the repository at this point in the history
  3. Implement “if”

    mossprescott committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    12f8745 View commit details
    Browse the repository at this point in the history
  4. Implement “*”

    mossprescott committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    65888db View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f22871c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c4f6eec View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    601c7e9 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    e014695 View commit details
    Browse the repository at this point in the history
  9. Random cleanup

    mossprescott committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    a3386ab View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0cc502c View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    be2dc18 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    aea9513 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    539517f View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2024

  1. Move the range-check into the simulator

    It’s just a pain to have to provide a list of the correct size, and it’s easy for the generated code to check anyway
    mossprescott committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    8d679a3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4b06215 View commit details
    Browse the repository at this point in the history
  3. Implement field0/1/2

    mossprescott committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    9e84882 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e47a018 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    622a512 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    c0d07a6 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ea4b9eb View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    47bb7bd View commit details
    Browse the repository at this point in the history
  9. Implement eqv?

    mossprescott committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    9e29d8e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    c27df7e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b3b918c View commit details
    Browse the repository at this point in the history
  12. Implement arg2

    mossprescott committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    39f8f90 View commit details
    Browse the repository at this point in the history
  13. Implement rib? primitive

    mossprescott committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    241aa3d View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2024

  1. Parse command-line args

    mossprescott committed Feb 15, 2024
    Configuration menu
    Copy the full SHA
    2555da8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5bce57d View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2024

  1. Configuration menu
    Copy the full SHA
    59ab486 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    88a942d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6e36366 View commit details
    Browse the repository at this point in the history
  4. Update getchar comment

    mossprescott committed Feb 16, 2024
    Configuration menu
    Copy the full SHA
    a32ac5b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    456a075 View commit details
    Browse the repository at this point in the history

Commits on Feb 17, 2024

  1. Configuration menu
    Copy the full SHA
    e394c3b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    de1c072 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bea72b1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ead7ec0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d03fb32 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    6dbc87d View commit details
    Browse the repository at this point in the history

Commits on Feb 18, 2024

  1. Configuration menu
    Copy the full SHA
    11dd42b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    836bfa4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    856d37f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c427c00 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    875df74 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    44dfb6a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7608341 View commit details
    Browse the repository at this point in the history
  8. Implement < primitive

    mossprescott committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    7a8e698 View commit details
    Browse the repository at this point in the history
  9. Implement - primitive

    mossprescott committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    2ef6772 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    363ce2a View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    ab8156b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    adae1f8 View commit details
    Browse the repository at this point in the history
  13. Implement “*” primitive (for Jack)

    Using Math.multiply from the project 12 sollutions.
    mossprescott committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    232aae5 View commit details
    Browse the repository at this point in the history
  14. Fix comment

    mossprescott committed Feb 18, 2024
    Configuration menu
    Copy the full SHA
    dbd5466 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    60ff334 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    4e58d59 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    456c8f0 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    fe11b21 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    ee0d921 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2024

  1. Configuration menu
    Copy the full SHA
    4e9649f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d70b8f0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e023395 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dd55159 View commit details
    Browse the repository at this point in the history
  5. Collapse simple expressions into Store(static)

    No need for a temporary when the store doesn’t need to compute the destination address
    mossprescott committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    cb25a13 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1fdf66e View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    81b544e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b37e87c View commit details
    Browse the repository at this point in the history
  9. Regularize handling of Reg and Static (i.e. use Eval)

    This buys a little more collapsing of Binary/Unary ops
    mossprescott committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    bb2ad68 View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2024

  1. Comment on side-effects

    mossprescott committed Feb 24, 2024
    Configuration menu
    Copy the full SHA
    0784579 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b24be0f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    03b1b16 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6ec5ca8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3520072 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1917d0c View commit details
    Browse the repository at this point in the history
  7. Consistently simlify comparison expressions

    Same simplification applied when branching as when combining values.
    Collapse a few more patterns, e.g. “x < 1”, to direct comparison with 0. This helps mostly because Jack makes it awkward to say simple things like “x >= 0”
    mossprescott committed Feb 24, 2024
    Configuration menu
    Copy the full SHA
    cbd38e3 View commit details
    Browse the repository at this point in the history

Commits on Feb 25, 2024

  1. Configuration menu
    Copy the full SHA
    4fbc176 View commit details
    Browse the repository at this point in the history
  2. Reduce memory traffic for “registers” by assigning some temps to D

    Only if/while test values for now (and it looks like there might be a subtle bug with while.)
    mossprescott committed Feb 25, 2024
    Configuration menu
    Copy the full SHA
    298f5de View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. Fix while liveness analysis

    When var is inlined into the tested value directly, it’s was being ignored. Previously that value always ended up in a temp, and that assignment was properly tracked, so the error was undetectable.
    mossprescott committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    34748c4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0063274 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b0b1ebf View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2024

  1. Configuration menu
    Copy the full SHA
    53dfb36 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8ce23e5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2a137e0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f9de620 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7d10a83 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2ccbe76 View commit details
    Browse the repository at this point in the history
  7. Add a “screenAddr” primitive, for 12% speedup

    Because it’s easy to add a primitive now, and because it saves heap space as well as cycles.
    mossprescott committed Feb 27, 2024
    Configuration menu
    Copy the full SHA
    4237108 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    6883e33 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4034db9 View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. Configuration menu
    Copy the full SHA
    89232f4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1cd0dff View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8e43b4f View commit details
    Browse the repository at this point in the history
  4. Move initialization into Jack, using Jack.symbol(); improved —print

    Much nicer printing of generated assembly:
    Addresses for every instruction.
    Labels used more hlepfully.
    No separate printing of every label’s address.
    mossprescott committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    ac7a4ef View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f23aab8 View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. Configuration menu
    Copy the full SHA
    7c23bd5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5b35273 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d938b6d View commit details
    Browse the repository at this point in the history
  4. Count ribs interpreted

    mossprescott committed Feb 29, 2024
    Configuration menu
    Copy the full SHA
    60b27c4 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2024

  1. Stash the head of the symbol table in the “rib” rib

    I missed this tricky detail until I actually watched it go wrong in the trace
    mossprescott committed Mar 7, 2024
    Configuration menu
    Copy the full SHA
    f80eeaf View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2024

  1. Configuration menu
    Copy the full SHA
    75468ca View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c3ed61e View commit details
    Browse the repository at this point in the history
  3. Debounce in getchar

    mossprescott committed Mar 10, 2024
    Configuration menu
    Copy the full SHA
    596c57c View commit details
    Browse the repository at this point in the history
  4. Show a blinking cursor

    Also: move handling of cursor position into the interpreter, along with putchar. It’s faster, avoids allocation, and it’s easy enough now that the Jack interpreter is the only game in town.
    mossprescott committed Mar 10, 2024
    Configuration menu
    Copy the full SHA
    b32e214 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f4b1229 View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2024

  1. Update head comment

    mossprescott committed Mar 11, 2024
    Configuration menu
    Copy the full SHA
    cdc1cbf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f131333 View commit details
    Browse the repository at this point in the history
  3. Update for many changes

    mossprescott committed Mar 11, 2024
    Configuration menu
    Copy the full SHA
    b5158ce View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2024

  1. Configuration menu
    Copy the full SHA
    d1bae37 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    51f012d View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2024

  1. Line editing

    The first call to getchar captures an entire line of input, then pushes the characters one at a time.
    
    This makes the REPL behave in a sensible way, and can handle backspace. It also means that most text entry is always happening when the interpreter is in a type loop handling getchar, so it’s much more responsive.
    mossprescott committed Mar 17, 2024
    Configuration menu
    Copy the full SHA
    befeb97 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ef47d36 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dc19911 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c466b59 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    67208c2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8489219 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2024

  1. Configuration menu
    Copy the full SHA
    af45ee2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c61583b View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Configuration menu
    Copy the full SHA
    29d7bbc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9cd4b62 View commit details
    Browse the repository at this point in the history
  3. Run quotient tests only on the Jack interpreter

    And fix an error
    mossprescott committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    96db8c2 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3aad0f6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8f2d85f View commit details
    Browse the repository at this point in the history
  6. Remove dead code

    mossprescott committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    5e846fc View commit details
    Browse the repository at this point in the history
  7. Add a link to scheme

    mossprescott committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    a9080d6 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5a1358b View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. Add —scale parameter

    mossprescott committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    90ef6be View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    31d3586 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a092020 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. Update comments

    mossprescott committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    6cf374a View commit details
    Browse the repository at this point in the history
  2. Disable logging of IR

    mossprescott committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    ac004c7 View commit details
    Browse the repository at this point in the history
  3. More comment fixes

    mossprescott committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    1a25ea9 View commit details
    Browse the repository at this point in the history
  4. Increase max cycles

    mossprescott committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    4646f65 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8368b5e View commit details
    Browse the repository at this point in the history