Virtual Execution System

The Virtual Execution System (VES) is a run-time system of the Common Language Infrastructure CLI which provides an environment for executing managed code. It provides direct support for a set of built-in data types, defines a hypothetical machine with an associated machine model and state, a set of control flow constructs, and an exception handling model. To a large extent, the purpose of the VES is to provide the support required to execute the Common Intermediate Language CIL instruction set.

Implementations

The Common Language Runtime (CLR) is the .NET Framework's implementation of the VES. Other notable implementations of the CLI such as Mono and Portable.NET include their own VES implementations. The .NET Micro Framework includes the .NET Micro Framework Interpreter as their VES implementation.

gollark: Well, the outsourced `parsedatetime` stuff can probably do it.
gollark: Good luck.
gollark: Fine.```python# from here: https://github.com/Rapptz/RoboDanny/blob/18b92ae2f53927aedebc25fb5eca02c8f6d7a874/cogs/utils/time.pyshort_timedelta_regex = re.compile("""(?:(?P<years>[0-9]{1,8})(?:years?|y))? # e.g. 2y(?:(?P<months>[0-9]{1,8})(?:months?|mo))? # e.g. 2months(?:(?P<weeks>[0-9]{1,8})(?:weeks?|w))? # e.g. 10w(?:(?P<days>[0-9]{1,8})(?:days?|d))? # e.g. 14d(?:(?P<hours>[0-9]{1,8})(?:hours?|h))? # e.g. 12h(?:(?P<minutes>[0-9]{1,8})(?:minutes?|m))? # e.g. 10m(?:(?P<seconds>[0-9]{1,8})(?:seconds?|s))? # e.g. 15s """, re.VERBOSE)def parse_short_timedelta(text): match = short_timedelta_regex.fullmatch(text) if match is None or not match.group(0): raise ValueError("parse failed") data = { k: int(v) for k, v in match.groupdict(default=0).items() } return datetime.datetime.utcnow() + relativedelta(**data)cal = parsedatetime.Calendar()def parse_humantime(text): time_struct, parse_status = cal.parse(text) if parse_status == 1: return datetime.datetime(*time_struct[:6]) else: raise ValueError("parse failed")def parse_time(text): try: return datetime.datetime.strptime(text, "%d/%m/%Y") except: pass try: return parse_short_timedelta(text) except: pass try: return parse_humantime(text) except: pass raise ValueError("could not parse time")```
gollark: ... no.
gollark: The time parsing logic is kind of inconsistent.

See also

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.