File Exchange

image thumbnail

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 08 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 (2020). yapp: a pedestrian Yet Another Parser Parser (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (0)


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

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Tags Add Tags