Miracle Linux

Miracle Linux is a Linux distribution developed by Miracle Linux Co., Ltd., a company which Oracle Corporation owns 50.5 percent stock. Originally, it was designed to be an OS with good support of Oracle Database. However, since Red Hat Linux's support for Oracle improved, it changed its primary focus to Asian localization, merging efforts with various Asian Linux vendors to produce Asianux.

  Miracle Linux
DeveloperMiracle Linux co., ltd:
OS familyUnix-like
Latest release6.0 / 2011
Package managerRPM
Platformsx86
Official websitewww.miraclelinux.com

Release history

  • Version 1.0: based on Turbolinux
  • Version 2.0: based on Red Hat Linux
  • Version 3.0 (2004): distributed under the name "Miracle Linux V3.0 ‐ Asianux Inside" as well as simply "Asianux Server 1.0"
  • Version 4.0 (2005): final version of Miracle Linux, also called Asianux Server 2.0. New versions from 2008 on are called Asianux only.
gollark: Oh, right, array indexing.
gollark: ```python# parsita-based pseudocode syntax parserfrom stmt import *from parsita import *from parsita.util import constantdef compose(f, g): return lambda x: f(g(x))def map_expr(x): start, end = x if end == "": return start return Op([start, end[1]], end[0])def map_unop_expr(x): return Op(x[1], x[0])def aliases(name, aliases): p = lit(name) for alias in aliases: p |= (lit(alias) > (lambda _: name)) return pclass ExprParser(TextParsers): ε = lit("") IntLit = reg("\-?[0-9]+") > compose(IntLit, int) StrLit = "'" >> reg("[^']*") << "'" > StrLit # TODO escapes (not in "spec" but could be needed) FloatLit = reg("\-?[0-9]+\.[0-9]+") > compose(FloatLit, float) Identifier = reg("[a-zA-Z_]+[a-zA-Z_0-9]*") > Var BracketedExpr = "(" >> Expr << ")" UnaryOperator = lit("NOT") Start = FloatLit | StrLit | IntLit | BracketedExpr | (UnaryOperator & Expr > map_unop_expr) | Identifier # avoid left recursion problems by not doing left recursion # AQA pseudocode does not appear to have a notion of "operator precedence", simplifying parsing logic nicely BinaryOperator = aliases("≤", ["<="]) | aliases("≠", ["!="]) | aliases("≥", [">="]) | lit("DIV") | lit("MOD") | lit("AND") | lit("OR") | reg("[+/*\-=<>]") End = (BinaryOperator & Expr) | ε Expr = (Start & End) > map_exprparse = ExprParser.Expr.parsex = parse("1+2+3 != 6 AND NOT 4 AND x + y")if isinstance(x, Failure): print(x.message)else: print(x.value)```
gollark: <@332271551481118732> Expression parsing is done, I think.
gollark: I wonder if AQA pseudocode *does* have operator precedence. We may need to harvest exam papers.
gollark: This will allow 3% more efficient harnessing of character set anomalies.

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.