Directory: general/mini/
Contents
.pro files
- calc.pro
Procedure: calc Purpose: This routine takes a string as input and interprets the string as a mini-language.
- csstack.pro
Function: csstack Purpose: This procedure implements the push,pop,& peek methods for a traditional computer science data structure: the stack.
- evaluate.pro
Procedure: evaluate Purpose: This routine performs the actual evaluation of an expression in the mini_language It basically combines an slr shift/reduce parser with an evaluator Description(of how it works, super-concise version): This routine is essentially a table-driven stack machine.
- evaluator_routines.pro
Procedure: evaluator_routines Purpose: When called this routine compiles a library of helper routines for the evaluator of the mini_language $LastChangedBy: egrimes $ $LastChangedDate: 2013-10-28 09:23:38 -0700 (Mon, 28 Oct 2013) $ $LastChangedRevision: 13411 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/mini/evaluator_routines.pro $
- get_token.pro
Function: get_token Purpose: this routine performs the meat of the work for the mini language lexical analyzer.
- is_equal.pro
Function: is_equalPurpose: determines if two inputs are equal like array_equal, but inputs can be structs Will descend structs within structs recursive Requires names of fields within structs to be the same Does not descend pointers to verify targets, if two different pointers have the same destination, it will return false.
- lex.pro
Procedure: lexPurpose: Turns a string into a list of token structs with some basic processing performed, for the mini language.
- mini_predicates.pro
Procedure: mini_predicatesPurpose: mini_predicates compiles a library of type checking predicates for many of the different types used in the mini language.
- mini_routines.pro
Procedure: mini_routinesPurpose: Compiles a bunch of routines used to describe the evaluation rules used by the language.
- parse_table_routines.pro
Procedure: parse_table_routinesPurpose: Compiles a library of helper routines for the parse_table generator It contains general purpose routing routines anything table specific will be stored in slr.pro, lk1.pro & lalr.pro (right now there is only support for slr parse tables) $LastChangedBy: pcruce $ $LastChangedDate: 2012-07-12 15:50:21 -0700 (Thu, 12 Jul 2012) $ $LastChangedRevision: 10702 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/mini/parse_table_routines.pro $
- productions.pro
Procedure: productionsPurpose: generates the grammar for the mini_language.
- save_calc_tables.pro
Procedure: save_calc_tablesPurpose: This simple routine calls the proper procedures to generate the files needed to run the mini language You should run this routine if you've made a change to the mini_language descriptions and you want that change to be reflected in the runtime behavior of calc.pro This routine generates two files: grammar.sav and parse_tables.sav $LastChangedBy: pcruce $ $LastChangedDate: 2012-07-12 15:26:32 -0700 (Thu, 12 Jul 2012) $ $LastChangedRevision: 10700 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/general/mini/save_calc_tables.pro $
- slr.pro
Procedure: slrPurpose: This routine will generate SLR(1) parse tables for a bottom-up shift/ reduce parcer.
- string_glob_preprocess.pro
Procedure: string_glob_preprocess Purpose: Preprocesses tokenized input from the mini-language to add globbing support Each time there is a '?' or '*' character in a tplot variable, it creates another copy of the token list with specific values filled in.