File Exchange

image thumbnail

fparser: a pedestrian m-file parser and tokenizer

version (14.5 KB) by us

us (view profile)

lists ML-tokens and constructs (function, var, struct assignment) in a m-file or from a command line


Updated 12 Dec 2005

View License

FPARSER parses a M-file or command line
and list tokens and constructs:
- functions/keywords
- variables/constants
- struct field assignments

see the accompanying published m-file for an example

Comments and Ratings (4)


Ronan (view profile)

Very useful function. thanks.

Found 1 bug. Comment on lines after a function "end" seem to cause an error.


Charles Tatum

Excellent work! Here's a fresh bug report:

Code 'idx>0' gets tagged as a field rather than an expression.

Andrej Mosat

The file is well commented, some lines are cryptic, but thats good for learning new programming styles :-) Excellent tool for compiling a documentation of your project.
Some remarks:
variable i: (output of the fparser):
i > 11 built-in (C:\install\Matlab\toolbox\matlab\elmat\i)
That is true, but in my context I use it exclusively as a counter (for i=1:N)
And one question: what exactly represents:
.nstok nr of STRUCT.FIELD assignments ?
Thank you.

Fu-Sung Wang

The concept of parsing a MATLAB file is new to me. I guess that can help programmers to analyze the cost of the script, in a manner of minimum number of variables, functions, etc...Anyway, I have to parsing this great work first.


changed a struct assignment issue; ver tag 12-Dec-2005 09:26:17

1) added user requested options (john peach/ by default, run-time display of results is now available via -d option; otherwise, use par.res
2)put very long usage example into html file
3) ver tag: 05-Dec-2004 18:20:34

removed command_line mode restriction (user request); ver_tag: 03-Sep-2003 14:53:14

added option to enter a command line (user request)

added option to enter a command line (user request)

additional parser capabilities

added help, refined output

MATLAB Release Compatibility
Created with R13
Compatible with any release
Platform Compatibility
Windows macOS Linux

Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.

Learn About Live Editor