Thread: [Notes2-team] * Idéia doida: NXL *
Brought to you by:
andersonrb
From: <no...@ig...> - 2004-01-06 02:17:06
|
Olá meus caros, hoje tive uma *daquelas* idéias doidas e para não enrolar muito, ei-la: por que não fazer a linguagem de macro/script do Notes toda em XML? (Eu avisei que a idéia era doida!) :: Vantagens: - já temos o parser, então, poderíamos ver uma versão "beta" dela funcionado já no 2004 e com o tempo, com as sugestões dos usuários, ela seria uma linguagem bem madura e bem específica para as nessecidades do nosso público; - o parser é muuuiiitto rápido!; - Sendo XML seria muuuuiiittto barbada de aprender. Ou seja, teria uma adoção rápida entre os usuários. Qualquer outra linguagem que adotarmos vai gerar algum tipo de resistência por causa dos muitos bairrismos, porém, xml todo mundo tem que usar um dia; - já estamos indo nesta direção de adotar XML para tudo, então isto se encaixaria perfeitamente no resto. E não apenas por uma questão de padrões! Por exemplo: se formos deixar o usuário especificar os menus/toolbars em XML no Notes 2, como está nos planos, ele poderia "escriptar" os arquivos. - seria muito fácil implementar! hauhahauauha Um exemplo desta "linguagem", que estou chamando provisoriamente de NotesXmlLanguage: temos um campo (uma variável) e quero converter para uma propriedade (de uma classe em delphi): fAlgo: TAlgo; ela precisa ficar assim: property Algo: Talgo read fAlgo write fAlgo; <NXL version="0.1"> <GoToSol /> <!-- vai para o início da linha --> <SelWordAtCursor /> <!-- seleciona a palavra "fAlgo" --> <GoToStartOfWord /> <!-- vai para o início da linha --> <DelChar /> <!-- deleta o "f" --> <SelWordAtCursor /> <!-- seleciona a palavra "Algo" --> <CopyToClipboard /> <!-- temos a palavra "algo" na área de transferência --> <GoToEol /> <!-- vai para o fim da linha --> <GoToPreviusChar /> <!-- vamos para dois caracteres antes do final da linha --> <GoToPreviusChar /> <SelWordAtCursor /> <!-- pegamos a palavra "TAlgo" e colocamos no buffer do Notes --> <CopyToNotesBuffer /> <!-- copia para o buffer do Notes. Talvez tenhamos que ter mais buffers internos para servir como variáveis. Mas para quem já escreveu algo em assembler, com dois buffers dá pra fazer tudo, heheheh --> <DelAllLine /> <InsertText> <ReplaceVars>true</ReplaceVars> <!-- específica se o notes deve processar variáveis no texto a ser inserido --> <Text><![CDATA[ property %Clipboard%: %NotesBuffer% read f%Clipboard% write f%ClipBoard%;]]></Text> </InsertText> </NXL> (Eu sei que eu poderia ter usado funções de pesquisa pra encurtar o script, mas a minha idéia era mostrar um monte de tags! hehehehh) Pronto. Vejam que o que o script faz é algo semelhante ao que o programador faria, para escrever um script basta pensar como você faria isto no editor e reproduzir em script. Claro que você poderia gravar este script fazendo estas ações, huahahahaha Isto seria o básico da linguagem... depois adicionaríamos aos poucos estruturas de controle, loops, procedures, etc. Quem sabe pudéssemos ter um dia um campo <SCRIPT> que possibilitasse usar uma linguagem mais foderosa (e complicada de aprender) para fazer algo. Apesar que não acho que isto vá ser necessário... E então, essa idéia é muito doida??? -- Anderson Rodrigues Barbieri -------------------------------------------- #Equipe do Notes - Coordenador/Desenvolvedor { TAndInfo } ICQ #149391850 / no...@ig... Notes - http://notes.codigolivre.org.br NotesDev - http://notes2.sf.net/dev Fórum - http://notes2.sf.net/forum _________________________________________________________ Voce quer um iGMail protegido contra vírus e spams? Clique aqui: http://www.igmailseguro.ig.com.br Ofertas imperdíveis! Link: http://www.americanas.com.br/ig/ |
From: Jonas R. S. S. <jon...@bo...> - 2004-01-07 00:10:35
|
Achei meio estranho hehe, acho q eh melhor fazer uma linguagem mais parecida com uma linguagem hehe... Para interpretar ateh q eh interessante memo, mas para programar naum achei mto legalzis =3DP Jonas Raoni Soares Silva ----------------------------------- #Equipe do Notes - Desenvolvimento > -----Mensagem original----- > De: not...@li...=20 >=20 > Ol=E1 meus caros,=20 > hoje tive uma *daquelas* id=E9ias doidas e para n=E3o enrolar=20 > muito, ei-la:=20 > por que n=E3o fazer a linguagem de macro/script do Notes toda em XML?=20 > (Eu avisei que a id=E9ia era doida!)=20 >=20 > :: Vantagens:=20 > - j=E1 temos o parser, ent=E3o, poder=EDamos ver uma vers=E3o "beta"=20 > dela funcionado=20 > j=E1 no 2004=20 > e com o tempo, com as sugest=F5es dos usu=E1rios, ela seria uma=20 > linguagem bem=20 > madura=20 > e bem espec=EDfica para as nessecidades do nosso p=FAblico;=20 > - o parser =E9 muuuiiitto r=E1pido!;=20 > - Sendo XML seria muuuuiiittto barbada de aprender. Ou seja,=20 > teria uma=20 > ado=E7=E3o r=E1pida=20 > entre os usu=E1rios. Qualquer outra linguagem que adotarmos vai=20 > gerar algum=20 > tipo de resist=EAncia=20 > por causa dos muitos bairrismos, por=E9m, xml todo mundo tem=20 > que usar um dia;=20 > - j=E1 estamos indo nesta dire=E7=E3o de adotar XML para tudo,=20 > ent=E3o isto se=20 > encaixaria perfeitamente=20 > no resto. E n=E3o apenas por uma quest=E3o de padr=F5es! Por=20 > exemplo: se formos=20 > deixar o usu=E1rio=20 > especificar os menus/toolbars em XML no Notes 2, como est=E1=20 > nos planos, ele=20 > poderia "escriptar"=20 > os arquivos.=20 > - seria muito f=E1cil implementar! hauhahauauha=20 >=20 > Um exemplo desta "linguagem", que estou chamando provisoriamente de=20 > NotesXmlLanguage:=20 >=20 > temos um campo (uma vari=E1vel) e quero converter para uma=20 > propriedade (de uma=20 > classe em delphi):=20 > fAlgo: TAlgo;=20 > ela precisa ficar assim:=20 > property Algo: Talgo read fAlgo write fAlgo;=20 >=20 > <NXL version=3D"0.1">=20 > <GoToSol /> <!-- vai para o in=EDcio da linha -->=20 > <SelWordAtCursor /> <!-- seleciona a palavra "fAlgo" -->=20 > <GoToStartOfWord /> <!-- vai para o in=EDcio da linha -->=20 > <DelChar /> <!-- deleta o "f" -->=20 > <SelWordAtCursor /> <!-- seleciona a palavra "Algo" -->=20 > <CopyToClipboard /> <!-- temos a palavra "algo" na =E1rea de=20 > transfer=EAncia -->=20 > <GoToEol /> <!-- vai para o fim da linha -->=20 > <GoToPreviusChar /> <!-- vamos para dois caracteres antes do=20 > final da linha=20 > -->=20 > <GoToPreviusChar />=20 > <SelWordAtCursor /> <!-- pegamos a palavra "TAlgo" e=20 > colocamos no buffer do=20 > Notes -->=20 > <CopyToNotesBuffer /> <!-- copia para o buffer do Notes.=20 > Talvez tenhamos que=20 > ter mais buffers internos para servir como vari=E1veis. Mas=20 > para quem j=E1=20 > escreveu algo em assembler, com dois buffers d=E1 pra fazer=20 > tudo, heheheh -->=20 > <DelAllLine />=20 > <InsertText>=20 > <ReplaceVars>true</ReplaceVars> <!-- espec=EDfica se o notes=20 > deve processar=20 > vari=E1veis no texto a ser inserido -->=20 > <Text><![CDATA[ property %Clipboard%: %NotesBuffer% read=20 > f%Clipboard%=20 > write f%ClipBoard%;]]></Text>=20 > </InsertText>=20 > </NXL>=20 >=20 > (Eu sei que eu poderia ter usado fun=E7=F5es de pesquisa pra=20 > encurtar o script,=20 > mas=20 > a minha id=E9ia era mostrar um monte de tags! hehehehh)=20 >=20 > Pronto. Vejam que o que o script faz =E9 algo semelhante ao que=20 > o programador=20 > faria, para=20 > escrever um script basta pensar como voc=EA faria isto no=20 > editor e reproduzir=20 > em script. Claro=20 > que voc=EA poderia gravar este script fazendo estas a=E7=F5es, = huahahahaha=20 >=20 > Isto seria o b=E1sico da linguagem... depois adicionar=EDamos aos = poucos=20 > estruturas de controle,=20 > loops, procedures, etc. Quem sabe pud=E9ssemos ter um dia um=20 > campo <SCRIPT>=20 > que possibilitasse=20 > usar uma linguagem mais foderosa (e complicada de aprender)=20 > para fazer algo.=20 > Apesar que=20 > n=E3o acho que isto v=E1 ser necess=E1rio...=20 >=20 > E ent=E3o, essa id=E9ia =E9 muito doida???=20 >=20 > --=20 > Anderson Rodrigues Barbieri=20 > --------------------------------------------=20 > #Equipe do Notes - Coordenador/Desenvolvedor=20 >=20 > { TAndInfo }=20 > ICQ #149391850 / no...@ig...=20 > Notes - http://notes.codigolivre.org.br=20 > NotesDev - http://notes2.sf.net/dev=20 > F=F3rum - http://notes2.sf.net/forum=20 |