VirtualBox

source: vbox/trunk/src/VBox/VMM/testcase/tstAsmStructsAsm-lst.sed@ 8759

Last change on this file since 8759 was 4951, checked in by vboxsync, 17 years ago

leading _ is fine.

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Id
File size: 1000 bytes
Line 
1#
2# Strip stuff lines and spaces we don't care about.
3#
4/ %line /d
5/\[section /d
6/\[bits /d
7/\[absolute /d
8/ times /d
9s/ *[0-9]* //
10/^ *$/d
11s/ *$//g
12s/^ *//g
13/^\.text$/d
14/^\.data$/d
15/^\.bss$/d
16
17#
18# Figure which type of line this is and process it accordingly.
19#
20/^[A-Za-z_][A-Za-z0-9_]*:/b struct
21/<gap>/b member
22/^\.[A-Za-z_][A-Za-z0-9_.:]* res.*$/b member_two
23b error
24b member_two
25
26
27#
28# Struct start / end.
29#
30:struct
31s/:$//
32h
33s/^/global /
34s/$/ ; struct/
35b end
36
37
38#
39# Struct member
40# Note: the 't' command doesn't seem to be working right with 's'.
41#
42:member
43s/[0-9a-fA-Z]* *//
44s/<gap> *//
45/^\.[a-zA-Z0-9_.]*[:]* .*$/!t error
46s/\(\.[a-zA-Z0-9_]*\)[:]* .*$/\1 /
47G
48s/^\([^ ]*\) \(.*\)$/global \2\1 ; member/
49s/\n//m
50
51b end
52
53
54#
55# Struct member, no address. yasm r1842 and later.
56#
57:member_two
58s/[:]* *res[bwdtq] .*$//
59s/$/ /
60/^\.[a-zA-Z0-9_.]* *$/!t error
61G
62s/^\([^ ]*\) \(.*\)$/global \2\1 ; member2/
63s/\n//m
64
65b end
66
67
68:error
69s/^/\nSed script logic error!\nBuffer: /
70s/$/\nHold: /
71G
72q 1
73b end
74
75
76:end
77
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette