public static Chr Parse(char[] buffer, int start, int length) { var unescaped = QStr.Unescape(buffer, start + 1, length - 2); Debug.Assert(unescaped.Length == 1); return(new Chr(unescaped[0])); }
public static Chr Parse(string text) { var unescaped = QStr.Unescape(text.ToCharArray(), 1, text.Length - 2); Debug.Assert(unescaped.Length == 1); return(new Chr(unescaped[0])); }
public CilDocumentSyntax Module(QStr moduleName) { if (moduleName != null) { this.module.Name = moduleName.Text; } return(this); }
public Piece Literal(QStr str) { var nodes = str.Text.Select(ch => CharSetNode.Create(IntSet.Of(ch))); return(new Piece { Node = AstNode.Cat(nodes) }); }
public IntSet Range(QStr charPairs) { var intervals = new List <IntInterval>(); string text = charPairs.Text; int len = text.Length; if (len % 2 != 0) { throw new Exception("Invalid range pairs."); } for (int i = 0; i < len; i += 2) { intervals.Add(new IntInterval(text[i], text[i + 1])); } var cset = IntSet.Ranges(intervals.ToArray()); return(cset); }
public Variant QuotedStringValue(QStr str) { return(new Variant(str.Text)); }
public EmitSyntax Ldstr(QStr str) { il.Emit(OpCodes.Ldstr, str.Text); return(this); }
public WantBranch Literal(QStr literal) { currentAtoms.Add(literal); return(this); }
public SreExpr LiteralMatch(QStr str) { return(new SreExpr { Node = new CatNode(str.Text.Select(ch => CharSetNode.Create(ch))) }); }
public Stmt PrintStmt(QStr message) { return(null); }
public static CharEnumeration Parse(string text) { char[] chars = text.ToCharArray(); return(new CharEnumeration(QStr.Unescape(chars, 1, chars.Length - 2))); }
public StxNode Leaf(QStr str) { return(new StxLeaf <QStr>(str)); }
AssemblyRefSyntax AssemblyRefSyntax.Locale(QStr qstr) { throw new NotImplementedException(); }
PInvAttrSyntax WantMethAttrThen <WantMethAttr> .BeginPinvokeimpl(QStr s) { throw new NotImplementedException(); }
public double Eval(QStr str) { return(Language.Parse(this, str.Text).Result); }
public QStr SingleQuotedString(char[] buffer, int start, int length) { return(QStr.Parse(buffer, start, length)); }
public CSetSreExpr CharSet(QStr str) { return(CSet(IntSet.Of(str.Text))); }
public static CharEnumeration Parse(char[] buffer, int start, int length) { return(new CharEnumeration(QStr.Unescape(buffer, start + 1, length - 2))); }
public QStr Str(char[] buffer, int start, int length) { return(QStr.Parse(buffer, start, length)); }