Skip to content

uutils AWK progress report #16

Description

@Alonely0

I will be updating this issue as we make progress. Please feel free to take down good first issues here and in the issue tracker.

Interpreter Tasklist

  • for-each loops. May be complicated to get right due to the configurable order, so I'm putting it off a bit.
  • Field splitting mode of FIELDWIDTHS.
  • Some other record splitting modes.
  • Support for getline and print/print redirections in the VM.
  • General I/O in the event loop and VM dispatch.
  • Wire in lexer/parser in the interpreter for robust indirect call parsing + built-in funs disambiguation, libloaded funs disambiguation.
  • Remaining built-in vars auto-setting.
  • Magic around SYMTAB, FUNCTAB, PROCINFO. I'm handling this.
  • Range patterns. Requires either allocating a register for the duration of the program or doing so as an internal symbol in the symbol table.
  • Etc.

Various

  • One or two parser differentials I've got written down and should get to fixing. God I hate AWK's grammar. It would be neat to refactor/rewrite the parser into using chumsky combinators.
  • More robust --pretty-printing, with more precedence disambiguation and default args expansion for built-in functions.
  • Fully wire in compatibility modes and ensure they are enforced.
  • Library loading (via libloading) and C/FFI function calls.
  • Debugger.
  • Get clap to behave properly.
  • Sanity.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions