Loading...
Searching...
No Matches
Frontend

Command Line Interface frontend for the byeol language. Provides the main entry point and user interface for interacting with the byeol language system through command line operations. More...

Classes

class  by::bufferSrcFlag
 Flag for providing frontend source code directly as a string argument. More...
 
class  by::fileFlag
 Flag for specifying a frontend source code file to load and execute. More...
 
class  by::helpFlag
 Flag for displaying command-line interface help information. More...
 
class  by::logStructureFlag
 Flag for enabling logging of the Abstract Syntax Tree (AST) or program structure. More...
 
class  by::verboseFlag
 Flag for enabling verbose logging output. More...
 
class  by::verFlag
 Flag for displaying application version information. More...
 

Typedefs

typedef tnarr< nStrby::flagStrs
 Command-line interface for frontend language system.
 

Detailed Description

Command Line Interface frontend for the byeol language. Provides the main entry point and user interface for interacting with the byeol language system through command line operations.

Typedef Documentation

◆ flagStrs

Command-line interface for frontend language system.

Core class of the frontend module. Uses interpreter from the core module to parse, verify, and evaluate code, coordinating appropriate classes for these processes. Rather than implementing algorithms itself, cli orchestrates well-designed classes.

Receives user-entered arguments to the CLI program as parameters and parses them to perform additional commands. See the flags folder for details.

Core algorithm

When user calls eval() with flagArgs parameter, execution proceeds as follows:

  1. Create interpreter, errReport, starter objects
  2. Set flags on interpreter and starter (refers to worker flags, different from cli's flag. See worker for details)
  3. Parse flagArgs to perform preliminary work (executed by calling take() on flag object)
  4. Execute interpreter
  5. Check interpretation results. If issues exist, output results and terminate
  6. If no issues, put verified AST into starter and execute
  7. Return starter's result
to Top