File Exchange

image thumbnail

yapp: a pedestrian Yet Another Parser Parser

version 1.1 (8.57 KB) by

YAPP is a highly speed optimized input parser collecting unix-style option(s)/value(s)

1 Download


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

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
MATLAB 7.10 (R2010a)
Tags Add Tags

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video