xie-dongping / modparc Goto Github PK
View Code? Open in Web Editor NEWmodparc is a Modelica parser in Python based on parser combinator
License: GNU General Public License v3.0
modparc is a Modelica parser in Python based on parser combinator
License: GNU General Public License v3.0
class_specifier :
IDENT string_comment composition end IDENT
| IDENT "=" base_prefix name [ array_subscripts ]
[ class_modification ] comment
| IDENT "=" enumeration "(" ( [enum_list] | ":" ) ")" comment
| IDENT "=" der "(" name "," IDENT { "," IDENT } ")" comment
| extends IDENT [ class_modification ] string_comment composition
end IDENT
model_definition.model_declarations()
would give all classes declared in the model
model_definition.model_instances()
would give a list of model objects (and each model object could be called with id()
, type()
, redeclare()
Load the package.mo or modelica directory as a Library class which inihibits similar behaviour as StoredDefintions class
Sometimes we just use the first element in the search function, and therefore it could be made an generator expression.
Currently, there is a LICENSE file and a COPYING file, that seems to be redundant; the COPYING file can probably be deleted (github is looking for a LICENSE file first).
Additionally, the license text seems to be slightly changed, otherwise github would recognize what license is used and display it in the overview (next to the number of contributors):
https://github.com/blog/2252-license-now-displayed-on-repository-overview
https://github.com/blog/2335-open-source-license-descriptions-and-metadata
To fix this, I would recommend deleting both files LICENSE and COPYING and then recreate the LICENSE file using githubs webinterface Create new file
. When you name the new files LICENSE, a dropdown menu appears on the right.
model_definition.connects()
would give the list of connects (with lhs()
, and rhs()
for example)
The part after =
sign is returned as the value of the short_class_specifier, but this value syntax element could itself have additional layers which could be traversed.
Related to #48
To know the name of the class and its type (if it is a package
, model
or a block
)
model_definition.parameters()
would give the list of parameters (with type()
, id()
...)
Printing syntax elements according to the best practices of Modelica
Editting a syntax element might changes the position for all the tokens, so this relates with issue #3
It would be nice to have a higher coverage in the unit test (although it works with MSL)
Instead of name()
we should use name
for the class?
The tests should be changed too.
Roundtripping the StoredDefinition and tokenizer.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.