int pacc_wrap(const char *ign0, char *ign1, off_t ign2, struct s_node **result) { struct s_node *p, *q, *r, *s; /* The ? operator: * * char *S <- 'x' Y 'x' → { ref_str() } * Y :: void ← 'y' ? * */ p = new_node(lit); p->text = "y"; s = p; p = s_text(rep, ",1"); p->first = s; q = p; p = new_node(seq); p->first = q; q = p; p = new_node(type); p->text = "void"; p->next = q; q = p; p = new_node(rule); p->text = "Y"; p->first = q; r = p; p = new_node(expr); p->text = "ref_str()"; q = p; p = new_node(lit); p->text = "x"; p->next = q; q = p; p = new_node(call); p->text = "Y"; p->next = q; q = p; p = new_node(lit); p->text = "x"; p->next = q; q = p; p = new_node(seq); p->first = q; q = p; p = new_node(type); p->text = "char *"; p->next = q; q = p; p = new_node(rule); p->text = "S"; p->first = q; p->next = r; r = p; r = cons(s_text(preamble, 0), r); p = s_kid(grammar, r); *result = p; return 1; }
int pacc_wrap(const char *ign0, char *ign1, off_t ign2, struct s_node **result) { struct s_node *p, *q, *r, *s, *t; /* char *Char ← . { ref_str() } */ p = new_node(expr); p->text = "ref_str()"; q = p; p = new_node(any); p->next = q; q = p; p = new_node(seq); p->first = q; q = p; p = new_node(type); p->text = "char *"; p->next = q; q = p; p = new_node(rule); p->text = "Char"; p->first = q; r = p; /* void IdentCont ← IdentStart / d:Char &{ *d >= '0' && *d <= '9' } */ p = new_node(ident); p->text = "d"; s = p; p = new_node(guard); p->text = "*d >= '0' && *d <= '9'"; p->first = s; q = p; p = new_node(call); p->text = "Char"; s = p; p = new_node(bind); p->text = "d"; p->first = s; p->next = q; q = p; p = new_node(seq); p->first = q; s = p; p = new_node(call); p->text = "IdentStart"; q = p; p = new_node(seq); p->first = q; p->next = s; q = p; p = new_node(alt); p->first = q; q = p; p = new_node(type); p->text = "void"; p->next = q; q = p; p = new_node(rule); p->text = "IdentCont"; p->first = q; p->next = r; r = p; /* void IdentStart ← c:Char &{ *c >= 'a' && *c <= 'z' } */ p = new_node(ident); p->text = "c"; s = p; p = new_node(guard); p->text = "*c >= 'a' && *c <= 'z'"; p->first = s; q = p; p = new_node(call); p->text = "Char"; s = p; p = new_node(bind); p->text = "c"; p->first = s; p->next = q; q = p; p = new_node(seq); p->first = q; q = p; p = new_node(type); p->text = "void"; p->next = q; q = p; p = new_node(rule); p->text = "IdentStart"; p->first = q; p->next = r; r = p; /* Identifier :: char * ← i:(IdentStart IdentCont*) .* { ref_dup(i) } */ p = s_both(expr, "ref_dup(i)", s_text(ident, "i")); p = cons(s_both(rep, 0, s_new(any)), p); q = s_both(rep, 0, s_text(call, "IdentCont")); q = cons(s_text(call, "IdentStart"), q); q = s_both(bind, "i", s_kid(seq, q)); p = cons(q, p); p = cons(s_text(type, "char *"), s_kid(seq, p)); p = s_both(rule, "Identifier", p); r = cons(p, r); r = cons(s_text(preamble, 0), r); p = s_kid(grammar, r); *result = p; return 1; }
int pacc_wrap(const char *ign0, char *ign1, off_t ign2, struct s_node **result) { struct s_node *p, *q, *r, *s; /* A single character with value: * * char *A ← 'a' &( 'b' ) . { ref_str() } * */ p = new_node(expr); p->text = "ref_str()"; q = p; q = cons(s_new(any), q); p = new_node(lit); p->text = "b"; s = p; p = new_node(seq); p->first = s; s = p; p = new_node(and); p->first = s; p->next = q; q = p; p = new_node(lit); p->text = "a"; p->next = q; q = p; p = new_node(seq); p->first = q; q = p; p = new_node(type); p->text = "char *"; p->next = q; q = p; p = new_node(rule); p->text = "A"; p->first = q; r = p; r = cons(s_text(preamble, 0), r); p = s_kid(grammar, r); *result = p; return 1; }
bool INI_Editor::replaceStringInFile(QString s_pattern, QString s_replacement, QString s_filename) { QFile file_ini(s_filename); if (!file_ini.open(QIODevice::ReadWrite)) { return false; } QByteArray b_fileData = file_ini.readAll(); file_ini.close(); QString s_text(b_fileData); s_text.replace(s_pattern, s_replacement); if (!file_ini.open(QIODevice::WriteOnly)) { return false; } file_ini.write(s_text.toUtf8()); file_ini.close(); return true; }
int pacc_wrap(const char *ign0, char *ign1, off_t ign2, struct s_node **result) { struct s_node *p, *q, *r, *s; /* End of input: * * S ← "foo" !. { "yes" } * */ p = new_node(expr); p->text = "\"yes\""; q = p; p = new_node(any); s = p; p = new_node(not); p->first = s; p->next = q; q = p; p = new_node(lit); p->text = "o"; p->next = q; q = p; p = new_node(lit); p->text = "o"; p->next = q; q = p; p = new_node(lit); p->text = "f"; p->next = q; q = p; p = new_node(seq); p->first = q; q = p; p = new_node(type); p->text = "char *"; p->next = q; q = p; p = new_node(rule); p->text = "S"; p->first = q; r = p; r = cons(s_text(preamble, 0), r); p = s_kid(grammar, r); *result = p; return 1; }
static void nemaweaver_s_text (int ignore ATTRIBUTE_UNUSED) { #ifdef OBJ_ELF obj_elf_text (ignore); #else s_text (ignore); #endif }
int pacc_wrap(const char *ign0, char *ign1, off_t ign2, struct s_node **result) { struct s_node *p, *q, *r, *s, *t; /* Char ← . { ref_str() } */ p = s_new(expr); p->text = "ref_str()"; q = p; p = s_new(any); p->next = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(type); p->text = "char *"; p->next = q; q = p; p = s_new(rule); p->text = "Char"; p->first = q; p->next = r; r = p; /* _ ← (" " / "\n" ) * */ p = s_new(lit); p->text = "\\n"; q = p; p = s_new(lit); p->text = " "; p->next = q; q = p; p = s_new(alt); p->first = q; q = p; p = s_new(rep); p->first = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(type); p->text = "void"; p->next = q; q = p; p = s_new(rule); p->text = "_"; p->first = q; p->next = r; r = p; /* RawCode ← "{" ( c:Char &{ *c != 0x7d } )* "}" { ref_str() } _ */ p = s_new(call); p->text = "_"; q = p; p = s_new(expr); p->text = "ref_str()"; p->next = q; q = p; p = s_new(lit); p->text = "}"; p->next = q; t = p; p = s_new(ident); p->text = "c"; s = p; p = s_new(guard); p->text = "*c != 0x7d"; p->first = s; q = p; p = s_new(call); p->text = "Char"; s = p; p = s_new(bind); p->text = "c"; p->first = s; p->next = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(rep); p->first = q; p->next = t; q = p; p = s_new(lit); p->text = "{"; p->next = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(type); p->text = "char *"; p->next = q; q = p; p = s_new(rule); p->text = "RawCode"; p->first = q; p->next = r; r = p; /* Start ← RawCode { ref_str() } */ p = s_new(expr); p->text = "ref_str()"; q = p; p = s_new(call); p->text = "RawCode"; p->next = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(type); p->text = "char *"; p->next = q; q = p; p = s_new(rule); p->text = "Start"; p->first = q; p->next = r; r = p; r = cons(s_text(preamble, 0), r); p = s_kid(grammar, r); *result = p; return 1; }
int pacc_wrap(const char *ign0, char *ign1, off_t ign2, struct s_node **result) { struct s_node *p, *q, *r, *s; /* Type char * with ref_str(): * * char *A <- '5' { ref_str() } * */ /* A <- 'a' */ p = new_node(expr); p->text = "ref_str()"; q = p; p = new_node(lit); p->text = "5"; p->next = q; q = p; p = new_node(seq); p->first = q; q = p; p = new_node(type); p->text = "char *"; p->next = q; q = p; p = new_node(rule); p->text = "A"; p->first = q; r = p; r = cons(s_text(preamble, 0), r); p = s_kid(grammar, r); *result = p; return 1; }
TextInputDialog::TextInputDialog(wxWindow* parent, const std::string& defvalue, const std::string& label) : wxDialog(parent, wxID_ANY, label, wxDefaultPosition) { m_tctrl_text = new wxTextCtrl(this, wxID_ANY, fmt::ToUTF8(defvalue)); wxBoxSizer& s_text(*new wxBoxSizer(wxVERTICAL)); s_text.Add(m_tctrl_text, 1, wxEXPAND); wxBoxSizer& s_btns(*new wxBoxSizer(wxHORIZONTAL)); s_btns.Add(new wxButton(this, wxID_OK)); s_btns.AddSpacer(30); s_btns.Add(new wxButton(this, wxID_CANCEL)); wxBoxSizer& s_main(*new wxBoxSizer(wxVERTICAL)); s_main.Add(&s_text, 1, wxEXPAND | wxUP | wxLEFT | wxRIGHT, 5); s_main.AddSpacer(30); s_main.Add(&s_btns, 0, wxCENTER | wxDOWN | wxLEFT | wxRIGHT, 5); SetSizerAndFit(&s_main); SetSize(250, -1); Connect(wxID_OK, wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TextInputDialog::OnOk)); }
static void s_seg() { if (strncmp(input_line_pointer, "\"text\"", 6) == 0) { input_line_pointer += 6; s_text(); return; } if (strncmp(input_line_pointer, "\"data\"", 6) == 0) { input_line_pointer += 6; s_data(); return; } if (strncmp(input_line_pointer, "\"data1\"", 7) == 0) { input_line_pointer += 7; s_data1(); return; } as_warn("Unknown segment type"); demand_empty_rest_of_line(); return; }
int pacc_wrap(const char *ign0, char *ign1, off_t ign2, struct s_node **result) { struct s_node *p, *q, *r, *s; /* Semantic predicate with binding in guard and expression: * * P <- a:A &{ a == 5 } { a } * A <- '5' { 5 } / '6' { 6 } * */ p = new_node(expr); p->text = "6"; q = p; p = new_node(lit); p->text = "6"; p->next = q; q = p; p = new_node(seq); p->first = q; s = p; p = new_node(expr); p->text = "5"; q = p; p = new_node(lit); p->text = "5"; p->next = q; q = p; p = new_node(seq); p->first = q; p->next = s; q = p; p = new_node(alt); p->first = q; q = p; p = new_node(type); p->text = "int"; p->next = q; q = p; p = new_node(rule); p->text = "A"; p->first = q; r = p; p = s_new(ident); p->text = "a"; q = p; p = new_node(expr); p->text = "a"; p->first = q; q = p; p = new_node(ident); p->text = "a"; s = p; p = new_node(guard); p->text = "a == 5"; p->first = s; p->next = q; q = p; p = new_node(call); p->text = "A"; s = p; p = new_node(bind); p->text = "a"; p->first = s; p->next = q; q = p; p = new_node(seq); p->first = q; q = p; p = new_node(type); p->text = "int"; p->next = q; q = p; p = new_node(rule); p->text = "P"; p->first = q; p->next = r; r = p; r = cons(s_text(preamble, 0), r); p = s_kid(grammar, r); *result = p; return 1; }
int pacc_wrap(const char *ign0, char *ign1, off_t ign2, struct s_node **result) { struct s_node *i, *p, *q, *r, *s, *t; /* Bryan Ford's trivial grammar with integers and spacing: * * int Sum ← Space a:Additive End → a * Additive <- m:Multitive Plus a:Additive { m + a } / Multitive * Multitive <- p:Primary Times m:Multitive { p * m } / Primary * Primary <- Left a:Additive Right -> a / Decimal * Decimal ← Digits1 { atoi(ref_str()) } Space * Digits1 :: void ← Digit Digits1 / Digit * Digit :: void <- '0' / '1' / ... / '9' * void Left ← '(' Space * Right ← ')' Space * Plus ← '+' Space * Times ← '*' Space * Space ← ' ' Space / ε * End ← ! . */ /* void End ← ! . */ p = s_new(any); q = p; p = s_new(not); p->first = q; q = p; p = s_new(type); p->text = "void"; p->next = q; q = p; p = s_new(rule); p->text = "End"; p->first = q; r = p; /* void Space ← ' ' Space / ε */ p = s_new(seq); s = p; p = s_new(call); p->text = "Space"; q = p; p = s_new(lit); p->text = " "; p->next = q; q = p; p = s_new(seq); p->first = q; p->next = s; q = p; p = s_new(alt); p->first = q; p = s_new(type); p->text = "void"; p->next = q; q = p; p = s_new(rule); p->text = "Space"; p->first = q; p->next = r; r = p; /* void Times ← '*' Space */ p = s_new(call); p->text = "Space"; q = p; p = s_new(lit); p->text = "*"; p->next = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(type); p->text = "void"; p->next = q; q = p; p = s_new(rule); p->text = "Times"; p->first = q; p->next = r; r = p; /* void Plus ← '+' Space */ p = s_new(call); p->text = "Space"; q = p; p = s_new(lit); p->text = "+"; p->next = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(type); p->text = "void"; p->next = q; q = p; p = s_new(rule); p->text = "Plus"; p->first = q; p->next = r; r = p; /* void Left ← '(' Space */ p = s_new(call); p->text = "Space"; q = p; p = s_new(lit); p->text = "("; p->next = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(type); p->text = "void"; p->next = q; q = p; p = s_new(rule); p->text = "Left"; p->first = q; p->next = r; r = p; /* void Right ← ')' Space */ p = s_new(call); p->text = "Space"; q = p; p = s_new(lit); p->text = ")"; p->next = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(type); p->text = "void"; p->next = q; q = p; p = s_new(rule); p->text = "Right"; p->first = q; p->next = r; r = p; /* Digit <- '0' / '1' / ... / '9' */ p = s_new(lit); p->text = "9"; q = p; p = s_new(seq); p->first = q; s = p; p = s_new(lit); p->text = "8"; q = p; p = s_new(seq); p->first = q; p->next = s; s = p; p = s_new(lit); p->text = "7"; q = p; p = s_new(seq); p->first = q; p->next = s; s = p; p = s_new(lit); p->text = "6"; q = p; p = s_new(seq); p->first = q; p->next = s; s = p; p = s_new(lit); p->text = "5"; q = p; p = s_new(seq); p->first = q; p->next = s; s = p; p = s_new(lit); p->text = "4"; q = p; p = s_new(seq); p->first = q; p->next = s; s = p; p = s_new(lit); p->text = "3"; q = p; p = s_new(seq); p->first = q; p->next = s; s = p; p = s_new(lit); p->text = "2"; q = p; p = s_new(seq); p->first = q; p->next = s; s = p; p = s_new(lit); p->text = "1"; q = p; p = s_new(seq); p->first = q; p->next = s; s = p; p = s_new(lit); p->text = "0"; q = p; p = s_new(seq); p->first = q; p->next = s; s = p; p = s_new(alt); p->first = s; q = p; p = s_new(type); p->text = "void"; p->next = q; q = p; p = s_new(rule); p->text = "Digit"; p->first = q; p->next = r; r = p; /* Digits1 :: void ← Digit Digits1 / Digit */ p = s_new(call); p->text = "Digit"; s = p; p = s_kid(seq, s); s = p; p = s_new(call); p->text = "Digits1"; q = p; p = s_new(call); p->text = "Digit"; p->next = q; q = p; p = s_new(seq); p->first = q; p->next = s; q = p; p = s_new(alt); p->first = q; q = p; p = s_new(type); p->text = "void"; p->next = q; q = p; p = s_new(rule); p->text = "Digits1"; p->first = q; p->next = r; r = p; /* int Decimal ← Digits1 { atoi(ref_str()) } Space */ p = s_new(call); p->text = "Space"; q = p; p = s_new(expr); p->text = "atoi(ref_str())"; p->next = q; q = p; p = s_new(call); p->text = "Digits1"; p->next = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(type); p->text = "int"; p->next = q; q = p; p = s_new(rule); p->text = "Decimal"; p->first = q; p->next = r; r = p; /* int Primary <- Left a:Additive Right -> a / Decimal */ p = s_new(ident); p->text = "d"; i = p; p = s_new(expr); p->text = "d"; p->first = i; q = p; p = s_new(call); p->text = "Decimal"; s = p; p = s_new(bind); p->text = "d"; p->first = s; p->next = q; q = p; p = s_new(seq); p->first = q; s = p; p = s_new(ident); p->text = "a"; i = p; p = s_new(expr); p->text = "a"; p->first = i; q = p; p = s_new(call); p->text = "Right"; p->next = q; q = p; p = s_new(call); p->text = "Additive"; t = p; p = s_new(bind); p->text = "a"; p->first = t; p->next = q; q = p; p = s_new(call); p->text = "Left"; p->next = q; q = p; p = s_new(seq); p->first = q; p->next = s; q = p; p = s_new(alt); p->first = q; q = p; p = s_new(type); p->text = "int"; p->next = q; q = p; p = s_new(rule); p->text = "Primary"; p->first = q; p->next = r; r = p; /* Multitive <- p:Primary Times m:Multitive { p * m } / Primary */ p = s_new(ident); p->text = "p"; i = p; p = s_new(expr); p->text = "p"; p->first = i; q = p; p = s_new(call); p->text = "Primary"; s = p; p = s_new(bind); p->text = "p"; p->first = s; p->next = q; q = p; p = s_new(seq); p->first = q; s = p; p = s_new(ident); p->text = "m"; i = p; p = s_new(ident); p->text = "p"; p->next = i; i = p; p = s_new(expr); p->text = "p * m"; p->first = i; q = p; p = s_new(call); p->text = "Multitive"; t = p; p = s_new(bind); p->text = "m"; p->first = t; p->next = q; q = p; p = s_new(call); p->text = "Times"; p->next = q; q = p; p = s_new(call); p->text = "Primary"; t = p; p = s_new(bind); p->text = "p"; p->first = t; p->next = q; q = p; p = s_new(seq); p->first = q; p->next = s; q = p; p = s_new(alt); p->first = q; q = p; p = s_new(type); p->text = "int"; p->next = q; q = p; p = s_new(rule); p->text = "Multitive"; p->first = q; p->next = r; r = p; /* Additive <- m:Multitive Plus a:Additive { m + a } / Multitive */ p = s_new(ident); p->text = "m"; i = p; p = s_new(expr); p->text = "m"; p->first = i; q = p; p = s_new(call); p->text = "Multitive"; s = p; p = s_new(bind); p->text = "m"; p->first = s; p->next = q; q = p; p = s_new(seq); p->first = q; s = p; p = s_new(ident); p->text = "a"; i = p; p = s_new(ident); p->text = "m"; p->next = i; i = p; p = s_new(expr); p->text = "m + a"; p->first = i; q = p; p = s_new(call); p->text = "Additive"; t = p; p = s_new(bind); p->text = "a"; p->first = t; p->next = q; q = p; p = s_new(call); p->text = "Plus"; p->next = q; q = p; p = s_new(call); p->text = "Multitive"; t = p; p = s_new(bind); p->text = "m"; p->first = t; p->next = q; q = p; p = s_new(seq); p->first = q; p->next = s; q = p; p = s_new(alt); p->first = q; q = p; p = s_new(type); p->text = "int"; p->next = q; q = p; p = s_new(rule); p->text = "Additive"; p->first = q; p->next = r; r = p; /* int Sum ← Space a:Additive → a */ p = s_new(ident); p->text = "a"; i = p; p = s_new(expr); p->text = "a"; p->first =i; q = p; p = s_new(call); p->text = "End"; p->next = q; q = p; p = s_new(call); p->text = "Additive"; t = p; p = s_new(bind); p->text = "a"; p->first = t; p->next = q; q = p; p = s_new(call); p->text = "Space"; p->next = q; q = p; p = s_new(seq); p->first = q; q = p; p = s_new(type); p->text = "int"; p->next = q; q = p; p = s_new(rule); p->text = "Sum"; p->first = q; p->next = r; r = p; r = cons(s_text(preamble, 0), r); p = s_kid(grammar, r); *result = p; return 1; }