fb-doc
0.4.0
FreeBASIC documentation tool
fbdoc_emit_lfn.bas
Go to the documentation of this file.
1
13
14
#INCLUDE ONCE
"
fbdoc_options.bi
"
15
#INCLUDE ONCE
"
fbdoc_emit_lfn.bi
"
16
17
18
19
FUNCTION
startLFN
(
BYREF
Path
AS STRING
)
AS INTEGER
20
VAR
fnr =
FREEFILE
21
IF OPEN
(Path & LFN_FILE
FOR OUTPUT
AS
#fnr)
THEN RETURN 0
22
PRINT
#fnr,
"+++ List of Function Names +++"
23
RETURN
fnr
24
END FUNCTION
25
26
27
'SUB lfn_CTOR CDECL(BYVAL P AS Parser PTR)
28
'IF 0 = Ocha THEN
29
'MSG_LINE(OutPath & LFN_FILE)
30
'Ocha = startLFN(OutPath)
31
'IF 0 = Ocha THEN MSG_END("error (couldn't write)") : EXIT SUB
32
'MSG_END("opened")
33
'END IF
34
'END SUB
35
36
37
'SUB lfn_DTOR CDECL(BYVAL P AS Parser PTR)
38
'END SUB
39
40
41
49
SUB
lfn_decl_
CDECL
(
BYVAL
P
AS
Parser
PTR
)
50
WITH
*P
'&Parser* P;
51
SELECT CASE
AS CONST
*.StaTok
52
CASE
.TOK_SUB, .TOK_FUNC, .TOK_PROP
53
CASE ELSE
:
EXIT SUB
54
END SELECT
:
IF 0
= .NamTok
ORELSE 0
= .FunTok
THEN EXIT SUB
55
.PtrCount = 0
56
cNam
(P)
57
Code(LFN_SEP)
58
END WITH
59
END SUB
60
61
62
69
SUB
lfn_class_
CDECL
(
BYVAL
P
AS
Parser
PTR
)
70
WITH
*P
'&Parser* P;
71
IF
OPT->AllCallees
THEN
.
parseBlockTyUn
(@
lfn_decl_
())
72
END WITH
73
END SUB
74
75
76
84
SUB
lfn_func_
CDECL
(
BYVAL
P
AS
Parser
PTR
)
' !!! ToDo member functions
85
WITH
*P
'&Parser* P;
86
SELECT CASE
AS CONST
*.StaTok
87
CASE
.TOK_SUB, .TOK_FUNC, .TOK_PROP
88
CASE
.TOK_CTOR : Code(.
SubStr
(.NamTok) &
"."
)
89
CASE ELSE
:
EXIT SUB
90
END SELECT
91
.PtrCount = 0
92
cNam
(P)
93
Code(LFN_SEP)
94
END WITH
95
END SUB
96
97
98
107
SUB
lfn_include
CDECL
(
BYVAL
P
AS
Parser
PTR
)
108
WITH
*P
'&Parser* P;
109
IF
OPT->InTree
THEN
.
Include
(
TRIM
(.
SubStr
(.NamTok),
""""
))
110
END WITH
111
END SUB
112
113
114
115
122
SUB
init_lfn
(
BYVAL
Emi
AS
EmitterIF
PTR
)
123
WITH
*Emi
124
.Clas_ = @
lfn_class_
()
125
.Unio_ = @
lfn_class_
()
126
.Func_ = @
lfn_func_
()
127
.Decl_ = @
lfn_decl_
()
128
.Incl_ = @
lfn_include
()
129
END WITH
130
END SUB
131
132
src
bas
fbdoc_emit_lfn.bas
Generated on Tue Nov 22 2016 17:50:33 for fb-doc by
1.8.11