File tree Expand file tree Collapse file tree 5 files changed +568959
-559724
lines changed Expand file tree Collapse file tree 5 files changed +568959
-559724
lines changed Original file line number Diff line number Diff line change @@ -1078,6 +1078,8 @@ module.exports = grammar({
10781078 $ . associate_statement ,
10791079 $ . file_position_statement ,
10801080 $ . allocate_statement ,
1081+ $ . deallocate_statement ,
1082+ $ . nullify_statement ,
10811083 $ . entry_statement ,
10821084 $ . assign_statement ,
10831085 $ . coarray_statement ,
@@ -1776,6 +1778,21 @@ module.exports = grammar({
17761778 alias ( $ . coarray_index , $ . coarray_size ) ,
17771779 ) ,
17781780
1781+ deallocate_statement : $ => seq (
1782+ caseInsensitive ( 'deallocate' ) ,
1783+ '(' ,
1784+ commaSep1 ( choice ( $ . identifier , $ . derived_type_member_expression ) ) ,
1785+ optional ( seq ( ',' , commaSep1 ( $ . keyword_argument ) ) ) ,
1786+ ')' ,
1787+ ) ,
1788+
1789+ nullify_statement : $ => seq (
1790+ caseInsensitive ( 'nullify' ) ,
1791+ '(' ,
1792+ commaSep1 ( choice ( $ . identifier , $ . derived_type_member_expression ) ) ,
1793+ ')' ,
1794+ ) ,
1795+
17791796 // Obsolescent feature
17801797 entry_statement : $ => seq (
17811798 caseInsensitive ( 'entry' ) ,
Original file line number Diff line number Diff line change 1312513125 "type": "SYMBOL",
1312613126 "name": "allocate_statement"
1312713127 },
13128+ {
13129+ "type": "SYMBOL",
13130+ "name": "deallocate_statement"
13131+ },
13132+ {
13133+ "type": "SYMBOL",
13134+ "name": "nullify_statement"
13135+ },
1312813136 {
1312913137 "type": "SYMBOL",
1313013138 "name": "entry_statement"
@@ -17888,6 +17896,178 @@
1788817896 }
1788917897 ]
1789017898 },
17899+ "deallocate_statement": {
17900+ "type": "SEQ",
17901+ "members": [
17902+ {
17903+ "type": "ALIAS",
17904+ "content": {
17905+ "type": "PATTERN",
17906+ "value": "[dD][eE][aA][lL][lL][oO][cC][aA][tT][eE]"
17907+ },
17908+ "named": false,
17909+ "value": "deallocate"
17910+ },
17911+ {
17912+ "type": "STRING",
17913+ "value": "("
17914+ },
17915+ {
17916+ "type": "SEQ",
17917+ "members": [
17918+ {
17919+ "type": "CHOICE",
17920+ "members": [
17921+ {
17922+ "type": "SYMBOL",
17923+ "name": "identifier"
17924+ },
17925+ {
17926+ "type": "SYMBOL",
17927+ "name": "derived_type_member_expression"
17928+ }
17929+ ]
17930+ },
17931+ {
17932+ "type": "REPEAT",
17933+ "content": {
17934+ "type": "SEQ",
17935+ "members": [
17936+ {
17937+ "type": "STRING",
17938+ "value": ","
17939+ },
17940+ {
17941+ "type": "CHOICE",
17942+ "members": [
17943+ {
17944+ "type": "SYMBOL",
17945+ "name": "identifier"
17946+ },
17947+ {
17948+ "type": "SYMBOL",
17949+ "name": "derived_type_member_expression"
17950+ }
17951+ ]
17952+ }
17953+ ]
17954+ }
17955+ }
17956+ ]
17957+ },
17958+ {
17959+ "type": "CHOICE",
17960+ "members": [
17961+ {
17962+ "type": "SEQ",
17963+ "members": [
17964+ {
17965+ "type": "STRING",
17966+ "value": ","
17967+ },
17968+ {
17969+ "type": "SEQ",
17970+ "members": [
17971+ {
17972+ "type": "SYMBOL",
17973+ "name": "keyword_argument"
17974+ },
17975+ {
17976+ "type": "REPEAT",
17977+ "content": {
17978+ "type": "SEQ",
17979+ "members": [
17980+ {
17981+ "type": "STRING",
17982+ "value": ","
17983+ },
17984+ {
17985+ "type": "SYMBOL",
17986+ "name": "keyword_argument"
17987+ }
17988+ ]
17989+ }
17990+ }
17991+ ]
17992+ }
17993+ ]
17994+ },
17995+ {
17996+ "type": "BLANK"
17997+ }
17998+ ]
17999+ },
18000+ {
18001+ "type": "STRING",
18002+ "value": ")"
18003+ }
18004+ ]
18005+ },
18006+ "nullify_statement": {
18007+ "type": "SEQ",
18008+ "members": [
18009+ {
18010+ "type": "ALIAS",
18011+ "content": {
18012+ "type": "PATTERN",
18013+ "value": "[nN][uU][lL][lL][iI][fF][yY]"
18014+ },
18015+ "named": false,
18016+ "value": "nullify"
18017+ },
18018+ {
18019+ "type": "STRING",
18020+ "value": "("
18021+ },
18022+ {
18023+ "type": "SEQ",
18024+ "members": [
18025+ {
18026+ "type": "CHOICE",
18027+ "members": [
18028+ {
18029+ "type": "SYMBOL",
18030+ "name": "identifier"
18031+ },
18032+ {
18033+ "type": "SYMBOL",
18034+ "name": "derived_type_member_expression"
18035+ }
18036+ ]
18037+ },
18038+ {
18039+ "type": "REPEAT",
18040+ "content": {
18041+ "type": "SEQ",
18042+ "members": [
18043+ {
18044+ "type": "STRING",
18045+ "value": ","
18046+ },
18047+ {
18048+ "type": "CHOICE",
18049+ "members": [
18050+ {
18051+ "type": "SYMBOL",
18052+ "name": "identifier"
18053+ },
18054+ {
18055+ "type": "SYMBOL",
18056+ "name": "derived_type_member_expression"
18057+ }
18058+ ]
18059+ }
18060+ ]
18061+ }
18062+ }
18063+ ]
18064+ },
18065+ {
18066+ "type": "STRING",
18067+ "value": ")"
18068+ }
18069+ ]
18070+ },
1789118071 "entry_statement": {
1789218072 "type": "SEQ",
1789318073 "members": [
You can’t perform that action at this time.
0 commit comments