You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.9 KiB
49 lines
1.9 KiB
<?xml version="1.0" encoding="UTF-8" ?> |
|
<!-- ==========================================================================\ |
|
| |
|
| To learn how to make your own language parser, please check the following |
|
| link: |
|
| https://npp-user-manual.org/docs/function-list/ |
|
| |
|
\=========================================================================== --> |
|
<NotepadPlus> |
|
<functionList> |
|
<!-- |
|
| Based on: |
|
| https://notepad-plus-plus.org/community/topic/11059/custom-functions-list-rules |
|
| https://notepad-plus-plus.org/community/topic/13553/functionlist-xml-regular-expressions-not-parsing-properly |
|
\--> |
|
<parser |
|
displayName="Fortran Free Form style - FORmula TRANslation" |
|
id ="fortran_freeform" |
|
commentExpr="(?x) # free-spacing (see `RegEx - Pattern Modifiers`) |
|
(?m-s:!.*$) # Single Line Comment |
|
" |
|
> |
|
<function |
|
mainExpr="(?x) # free-spacing (see `RegEx - Pattern Modifiers`) |
|
(?im-s) # case-insensitive, ^ and $ match at line breaks, dot does not |
|
^\h* # optional leading whitespace at start-of-line |
|
(?: |
|
(?: |
|
ELEMENTAL |
|
| (?:IM)?PURE |
|
| MODULE |
|
| (?:NON_)?RECURSIVE |
|
) |
|
\s+ |
|
)* |
|
(?:FUNCTION|SUBROUTINE)\s+ |
|
\K # discard text matched so far |
|
[A-Z]\w{0,62} # valid character combination for identifiers |
|
(?:\s*\([^()]*\))? # optional paramater list |
|
" |
|
> |
|
<!-- comment out the following node to display the method with its parameters --> |
|
<functionName> |
|
<nameExpr expr="\w+" /> |
|
</functionName> |
|
</function> |
|
</parser> |
|
</functionList> |
|
</NotepadPlus> |