And the AST (note that not all code is "meaningful" other than as testcode for stressing the AST parsing to recognize the syntax):
(The code below was harvested via screenshots and OCR, so misspellings may exist)
FILE([0-4022][0:0])
- PACKAGE([0-4022] [1:1])
NAME([8-14][1:9]): {NAME = Server)
IMPORT([597-682][19:1])
PACKAGE ([609-614] [20:2]): {NAME =
PACKAGE([617-635][21:2]): {NAME = '../LingualDomain')
PACKAGE([638-666] [22:2]): {ALIAS = mux, NAME = 'github.com/gorilla/mux’>
PACKAGE([669-679][23:2]): {NAME = 'net/http'}
VAR([686-729] [26:1]): {NAME = UnitVariable, TYPE = string, NAME = v, TYPE = int, NAME = row2, TYPE = bool>
- CLASS([733-1309] [29:1])
NAME([738-747] [29:6]): {NAME = Webserver)
PARENT([759-767][30:2]): {NAME = AmObject)
PARENT([770-782][31:2]): {NAME = sys.AmObject)
PARENT([785-799] [32:2]): {NAME = EA_STEREOTYPE)
PARENT([800-806] [32:17]): {NAME = string)
DESCRIPTION([ 1308-1308] [43:1])
- METHOD([1573-1636][52:1])
- DECLARATION([1573-1636][52:1]): {NAME = Init)
BODY([1635-1635][54:1])
- METHOD([1684-2342] [57:1])
- DECLARATION([1684-2342][57:1]): {NAME = GetHandler)
TYPE([1690-1705] [57:7]): {NAME = self, QUALIFIER = "Webserver)
PARAMETER([1718-1739][57:35]): {KIND = in, NAME = w, TYPE = http.ResponseWriter)
PARAMETER([1739-1756][57:56]): {KIND = in, NAME = r, TYPE = "http.Request)
BODY([1790-2339][59:2]): {CODE = ... }
- METHOD([2372-3030][77:1])
- DECLARATION([2372-3030][77:1]): {NAME = PutHandler)
TYPE([2378-2393][77:7]): {NAME = self, QUALIFIER = "Webserver)
PARAMETER([2406-2427][77:35]): {KIND = in, NAME = w, TYPE = http.ResponseWriter)
PARAMETER([2427-2444] [77:56]): {KIND = in, NAME = r, TYPE = "http.Request)
BODY([2478-3027][79:2]): {CODE = ...}
- METHOD([3061-3232] [97:1])
- DECLARATION([3061-3232] [97:1]): {NAME = PostHandler)
TYPE([3067-3082] [97:7]): {NAME = self, QUALIFIER = "Webserver)
PARAMETER([3096-3117][97:36]): {KIND = in, NAME = w, TYPE = http.ResponseWriter)
PARAMETER([3117-3134][97:57]): {KIND = in, ffAME = r, TYPE = "http.Request)
PARAMETER([3137-3141][97:77]): {KIND = returft, TYPE = bool)
PARAMETER([3143-3149] [97:83]): {KIND = return, TYPE = "TType)
BODY([3155-3229] [98:2]): {CODE = ... }
- METHOD([3237-3283] [102:1])
- DECLARATION([3237-3283] [102:1]): {NAME =TestParamA)
TYPE([3243-3258] [102:7]): {NAME = self, QUALIFIER = "Webserver)
PARAMETER([3273-3279][102:37]): {TYPE = TypeAl)
BODY([3282-3282] [102:46])
- METHOD([3285-3333] [103:1])
- DECLARATION([3285-3333] [103:1]): {NAME =TestParamB)
TYPE([3291-3306] [103:7]): {NAME = self, QUALIFIER = "Webserver)
PARAMETER([3322-3328l\103:381): {KIND = return. TYPE = TypeB1)
BODY([3332-3332][10 ...]
- METHOD([3335-3401] [104:1])
- DECLARATION([3335-3401] [104:1]): {NAME = TestParamC}
TYPE([3341-3356][104:7j): {NAME = self, QUALIFIER = "Webserver}
PARAMETER([3372-3378] [104:38]): {KIND = return, TYPE = TypeCl}
PARAMETER([3380-3387] [104:46]): {KIND = return, TYPE = *TypeC2}
PARAMETER([3389-3395][104:55]): {KIND = return, TYPE = TypeC3>
BODY([3400-3400] [105:1])
- METHOD([3404-3491] [106:1])
- DECLARATION([3404-3491] [106:1]): {NAME = TestParamD}
TYPE([3410-3425] [106:7]): {NAME = self, QUALIFIER = "Webserver}
PARAMETER([3441-3454] [106:38]): {KIND = return, NAME = nameDl, TYPE = TypeD2>
PARAMETER([3456-3470][106:53]): {KIND = return, NAME = nameD2, TYPE = "TypeD2>
PARAMETER([3472-3485] [106:69]): {KIND = return, NAME = nameD3, TYPE =TypeD3>
BODY([3490-3490] [107:1])
- METHOD([3579-4022] [111:1])
- DECLARATION([3579-4022] [111:1]): {NAME = Main}
BODY([3596-4019][112:2]): {CODE = ... }
Obviously I have used the wrong IDENTIFIERS in this AST since EA doesn't interpret them as expected on source code import.