Be the first to rate this file! 143 downloads (last 30 days) File Size: 19.77 KB File ID: #15924

farg: a pedestrian M-file parser showing all used functions' syntax

by us

 

14 Aug 2007 (Updated 18 Jun 2009)

Code covered by BSD License  

parses an M-file searching for functions and prints their exact, literal syntax

Download Now | Watch this File

File Information
Description

FARG parses an M-file (function or script) searching for function tags and lists their exact, literal syntax.

in addition, FARG displays a wide variety of file statistics.

currently, these functions are detected and listed
- main function
- subfunctions
- nested functions
- anonymous functions
- eval class calls
- unresolved calls

whitespaces and continuation statements are removed for better readability of the function syntax.

if the lex parser encounters fatal errors, it will stop processing and print a list of the offending syntax.

tested under r2007a, older version 7 systems might work as well.

see:
>> help farg
and the accompanying published M-file for information and a few self-explanatory examples.

Acknowledgements
This submission has inspired the following:
ftoc (v1.2), fdep: a pedestrian function dependencies finder
MATLAB release MATLAB 7.4 (R2007a)
Other requirements optimized for R2009a
Zip File Content  
Published M Files farghtml
Other Files farg.m,
fargdemo.m,
fargerrr.m,
fargpart.m,
fargscpt.m,
fargtest.m,
license.txt
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (2)
13 Mar 2009 Justine Walker

Very pedestrian indeed: See M2HTML

14 Mar 2009 us

unlike FARG, M2HTML dose not
- distinguish between subfunctions and nested functions
- extract anonymous functions
- extract f/eval constructs

moreover, it is a standalone function that does not require other files and subfolders nor the web browser to display its result

just a few pedestrian thoughts...
us

Please login to add a comment or rating.
Updates
15 Aug 2007

added option to suppress opentoline format, added an example script with erroneous syntax in the html file; version tag is 15-Aug-2007 03:56:40

18 Aug 2007

small changes in the html for better readability; version tag is 16-Aug-2007 04:17:10

27 Aug 2007

added an example of how FARG deals with parentheses in certain ANONYMOUS functions; version tag 27-Aug-2007 15:15:58

27 Aug 2007

uploading does not seem to work; version tag is 27-Aug-2007 19:27:56

30 Oct 2007

added debug option, which will save the lex parser engine (see help); version tag is 29-Oct-2007 17:49:25

30 Oct 2007

removed an annoying debug printout; version tag still 29-Oct-2007 17:49:25

30 Oct 2007

last update did not seem to work! version tag 29-Oct-2007 17:49:25
file date must be 30-Oct-2007 12:49:10

15 Nov 2007

accepts P/MEX/DLL/MDL files as input and looks for associated M-files; version tag 14-Nov-2007 12:59:41

08 Jun 2009

added more options and file statistics items; shows unresolved and EVAL class calls; version tag 08-Jun-2009 22:24:04

18 Jun 2009

parser now accepts meta method class descriptors; version tag 18-Jun-2009 09:41:48

Tag Activity for this File
Tag Applied By Date/Time
development environment us 22 Oct 2008 09:23:01
argument list us 22 Oct 2008 09:23:01
script us 22 Oct 2008 09:23:01
function us 22 Oct 2008 09:23:01
parser us 22 Oct 2008 09:23:01
anonymous us 22 Oct 2008 09:23:01
lexical us 22 Oct 2008 09:23:01
nested us 22 Oct 2008 09:23:01
syntax us 08 Jun 2009 16:43:13
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com