yapp: a pedestrian Yet Another Parser Parser

Version (8.57 KB) by us
YAPP is a highly speed optimized input parser collecting unix-style option(s)/value(s)
Updated 8 May 2010

View License

YAPP: Yet Another Parser Parser

a highly speed optimized subroutine package
- !!!for programmers only!!!
- implements the old-style unix argument parsing model, which allows to assign
any user-definable number of arguments to an option flag and, therefore, differs
slightly from the now common property/value pair philosophy used in MATLAB

- parses a list of arguments, eg, varargin, for the occurrence of
unix-style options
which are defined in a simple option table CELL
and collects a user-definable number of arguments for their value containers
- option tables (minimally) consist of
a header, eg, 'option' '#args' 'defvals'
a body , eg, '+-num' 2 {'a',magic(3)}
they may be expanded by any number of user-definable columns with additional
information for the application, eg, description, function handles for
post-processing, and may, therefore, also serve as convenient vehicles to tune
the behavior of applications/computational engines according to different
initial settings
- option tables are easy to maintain and very versatile, eg, an application
may import a particular option table according to various criteria, eg, user,
task, etc from a specific .ini files
- the output structure returns a multitude of information regarding
options and their values as well as information about the dissected
argument list, which are useful for rapid post-processing, eg, with
MATLAB's inputParser or own models based on, eg, assigned function handles
- the parser's engine itself can be tuned in several ways, eg, bailout by
error or warning

the package contains these M-files
- yapp
the subroutines, which can be added to an application
- fopa
a Fast Option Parser YAPP wrapper stand-alone application, which
can be called from within another application using the simple
YAPP syntax
- fopat
to perform YAPP timing for several user-definable conditions

see also

>> help fopa
and the (partial) screenshot for information about the engine and i/o parameters

>> help fopat
on how to perform YAPP timing on a particular system

note: yapp.m does not contain help information as it is meant to be included as
a subroutine in another application

Cite As

us (2024). yapp: a pedestrian Yet Another Parser Parser (https://www.mathworks.com/matlabcentral/fileexchange/27435-yapp-a-pedestrian-yet-another-parser-parser), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Search Path in Help Center and MATLAB Answers
Tags Add Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

removed legacy code (user requests) with a raw speed-up of ~5%; now only works with r2007a+; version tag 08-May-2010 17:37:30