Line 103... |
Line 103... |
# Handle a queued ".include" directive.
|
# Handle a queued ".include" directive.
|
if self.pendingInclude:
|
if self.pendingInclude:
|
# Don't open the include file until all previous content has been emitted.
|
# Don't open the include file until all previous content has been emitted.
|
if self.current:
|
if self.current:
|
return self.current;
|
return self.current;
|
if self.pendingInclude in self.included:
|
|
raise AsmException('File "%s" already included' % self.pendingInclude);
|
|
self.included.append(self.pendingInclude);
|
self.included.append(self.pendingInclude);
|
fp_pending = None;
|
fp_pending = None;
|
for path in self.searchPaths:
|
for path in self.searchPaths:
|
fullInclude = os.path.join(path,self.pendingInclude);
|
fullInclude = os.path.join(path,self.pendingInclude);
|
if os.path.exists(fullInclude):
|
if os.path.exists(fullInclude):
|
Line 350... |
Line 348... |
raise AsmException('Repeat count must be positive at %s' % fl_loc2);
|
raise AsmException('Repeat count must be positive at %s' % fl_loc2);
|
for ix in range(repeatCount):
|
for ix in range(repeatCount):
|
tValue.append(tParseNumber);
|
tValue.append(tParseNumber);
|
return dict(type='value', value=tValue, loc=flc_loc);
|
return dict(type='value', value=tValue, loc=flc_loc);
|
# look for a single-byte numeric value
|
# look for a single-byte numeric value
|
a = re.match(r'(0|[+\-]?[1-9]\d*|0[07]+|0x[0-9A-Fa-f]{1,2})$',raw);
|
a = re.match(r'(0|[+\-]?[1-9]\d*|0[07]+|0x[0-9A-Fa-f]+)$',raw);
|
if a:
|
if a:
|
if 'singlevalue' not in allowed:
|
if 'singlevalue' not in allowed:
|
raise AsmException('Value not allowed at %s' % flc_loc);
|
raise AsmException('Value not allowed at %s' % flc_loc);
|
try:
|
try:
|
tParseNumber = ParseNumber(raw);
|
tParseNumber = ParseNumber(raw);
|