Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: endbasic/endbasic
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: endbasic/endbasic
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: optimize
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 13 commits
  • 20 files changed
  • 1 contributor

Commits on Jan 11, 2026

  1. Simplify upcall execution

    Remove the function/builtin call duality when invoking upcalls.  There
    is no need for it other than for debug consistency checks, but we can
    do those in a simpler way too.
    jmmv committed Jan 11, 2026
    Configuration menu
    Copy the full SHA
    fb34b79 View commit details
    Browse the repository at this point in the history
  2. Fix argless syntax

    Functions that may optionally receive no arguments should not accept nor
    require empty parenthesis for compatibility with other BASIC dialects.
    
    In particular, this means that RND() is now invalid and that the correct
    syntax is either RND or RND(1).
    jmmv committed Jan 11, 2026
    Configuration menu
    Copy the full SHA
    a634571 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2eb37ef View commit details
    Browse the repository at this point in the history
  4. Generalize index assignment for builtin upcalls

    Introduce a new IndexedHashMap type that wraps HashMap and extends it to
    assign indexes on insertion, allowing those indexes to be retrieved
    later on a key basis or by extracting the list of keys in insertion
    order.
    
    This is more complicated than it should be just for builtin upcalls but
    it will be used later once I implement indexes for variables and arrays
    as well.
    jmmv committed Jan 11, 2026
    Configuration menu
    Copy the full SHA
    fd37895 View commit details
    Browse the repository at this point in the history
  5. Sort ISpan type definitions

    jmmv committed Jan 11, 2026
    Configuration menu
    Copy the full SHA
    775a027 View commit details
    Browse the repository at this point in the history
  6. Add the ArrayIndexISpan

    Move the "long" list of arguments in the ArrayAssignment and ArrayLoad
    operations into an ISpan so that, when I add a runtime index to them
    soon, things are less confusing.
    jmmv committed Jan 11, 2026
    Configuration menu
    Copy the full SHA
    79b1366 View commit details
    Browse the repository at this point in the history
  7. Add the LoadSpan

    Group common arguments in all Load operations under a LoadSpan to make
    room for other arguments later on.
    jmmv committed Jan 11, 2026
    Configuration menu
    Copy the full SHA
    248f2ad View commit details
    Browse the repository at this point in the history
  8. Assign indexes to dim operations

    Modify the symbols table so that it assigns indexes to variables and
    arrays and propagate this information to the Dim and DimArray bytecode
    operations.
    
    This is just the beginning of adding indexes, and the indexes are not
    yet consumed.
    jmmv committed Jan 11, 2026
    Configuration menu
    Copy the full SHA
    82bc865 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5ccfd36 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    735b82e View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    838c811 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    70334cd View commit details
    Browse the repository at this point in the history
  13. Assign indexes to assignments

    This finishes modifying the bytecode so that all operations that
    reference symbols carry the corresponding stack index with them.
    jmmv committed Jan 11, 2026
    Configuration menu
    Copy the full SHA
    67e1892 View commit details
    Browse the repository at this point in the history
Loading