Débugger de l'assembleur dans son navigateur va être sympa... Remplacer un langage de haut niveau par une vm bas niveau, je n'y crois pas trop. Par contre l'idée de les faire cohabiter est plutôt séduisante, ça ouvre le champ des possibilités.
Du coup, une bonne isolation se fait à coup de processus distincts. Faire du polling actif sur des ressources, ça va quand tu n'es pas pressé mais un navigateur est pressé d'afficher la page. Il devrait donc faire du poll en permanence, c'est un coup à bouffer tout le CPU.
Il y a deux types d'appels disponibles pour faire du polling. Dans les deux cas si la ressource est disponible, tu y accèdes sans soucis. Dans le cas contraire, si l'appel est bloquant ton processus est marqué comme endormi et sera réveillé par l'OS dès qu'une ressource sera disponible, si l'appel est non bloquant c'est que tu as fait un appel asynchrone à ta ressource et un signal réveillera ton processus donc tu peux l'endormir tranquillement. Le risque que je vois c'est que plusieurs processus s'allouent des ressources en même temps pour ensuite se retrouver tous en attente de la disponibilité d'une ressource alors qu'au final on est limité en nombre de CPU...
En gros il n'y a pas d'ambiguïté, elle est morte dans l'oeuf, on n'a même pas appliqué la moindre règle que l'ambiguïté est résolue. Pourquoi parler de grammaire ambigüe ? Pourquoi parler de non context-free ? Pas besoin de backtracking sur l'analyse syntaxique, pas de multithreading, etc. On n'est pas à la limite du ridicule là ?
mais si ! mais si ! je comprends très bien vos arguments ! bon, peut-être certains ici penseront que c'est faire preuve d'intelligence que de dire que la grammaire du C si elle était context-free elle serait ambigüe donc context-sensitive on s'en sort que comme ça et c'est moche, moi non ! je propose juste une alternative car je pense qu'on passe à côté d'une chose essentielle : la base de toute grammaire c'est le lexème, l'unité de sens, le caractère n'en est pas une. je propose juste une approche qui me semble plus élégante et plus juste : pas d'ambigüité, context-free et surtout plus proche de la sémantique que tout le monde verra dans le programme. ya rien d'impossible dans cette démarche (la seule possible d'ailleurs ? l'autre est réalisable ?). c'est l'approche qui me semble la bonne. une grammaire reste un outil, à chacun de savoir l'utiliser correctement. voilà mon point de vue, c'est plus clair ?
Si tu souhaites analyser "x * y;" et que ton lexer retourne identifiant quelque soit le type de x et de y alors ta grammaire est ambigüe et par conséquent impossible à analyser (en tout cas avec l'approche utilisée par tout langage de programmation). Quand tu lis une définition de x tu définis son type. Quand tu lis x tu retournes son type. Une petite pile pour gérer le tout et le tour est joué. C'est le sens du lexème qui joue pas celui de l'arbre syntaxique.
je cite Wikipedia
The languages generated by context-free grammars are known as the context-free languages.
Je pense que ton idée de "langage context-free" n'est ni techniquement (contraintes de mémoire et de cpu) ni même intellectuellement viable (imagine que tu veuilles interdire la définition d'une même variable plusieurs fois avec la même portée, c'est de la folie pure et simple).
'est -à-dire un système totalement opaque dans lequel il devient impossible au nom spécialiste de comprendre ce qui se passe.
Si j'ai bien compris ce que tu dis madame Michu pour tout comprendre, il lui suffit de comprendre inted, le lisp, le système de log sous linux et maitriser le shell.
Peux tu me dire les acquis nécessaires pour être considéré comme un spécialiste sous linux, parce que là j'ai du mal ;)
rholala si on ne peut plus s'amuser à mettre les mains dans le cambouis pour bidouiller son pingouin où est le fun ? et puis quoi de plus flexible qu'un langage de script pour déclarer l'initialisation de ses services, les trucs spécifiques à chaque plateforme tout ça ?
bon ça reste sympa parce que la démarche est trollifère mais à ce compte là quitte à proposer ce genre d'innovation pourquoi pas ne pas faire péter le trollomètre en intégrant systemd au noyau ?
Pourquoi forcément nouvelle génération ? Il me semble que l'ancienne génération répond actuellement à 80% de la demande, non ?
80% de la demande en électricité soit dans les 20% de notre consommation énergétique globale... donc euh si on épuise les ressources en hydrocarbures on va effectivement avoir besoin de quelques centrales nucléaires par-ci par-là...
beurk !! quoi de pire dans un programme que d'avoir une dépendance ?? ça génère des conflits, il faut faire attention aux mises à jour de sécurité, tout casser à chaque fois en rajoutant des bugs, c'est tout sauf passionnant, il faut synchroniser les mises à jour des composants partagés, il faut apprendre le fonctionnement, trouver la doc qui n'existe pas, tâtonner, contourner les limitations et les anomalies... fiou que de contraintes, vive le logiciel LIBRE !
[^] # Re: Encore un langage de "haut"-niveau interprété par le navigateur?!
Posté par tyoup . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 1.
Débugger de l'assembleur dans son navigateur va être sympa... Remplacer un langage de haut niveau par une vm bas niveau, je n'y crois pas trop. Par contre l'idée de les faire cohabiter est plutôt séduisante, ça ouvre le champ des possibilités.
[^] # Re: IDE
Posté par tyoup . En réponse à la dépêche Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ?. Évalué à 0.
Certains préfèrent l'inférence des types
[^] # Re: Toujours pas de multithread ?
Posté par tyoup . En réponse à la dépêche Firefox Sept : consommation mémoire nettement améliorée. Évalué à -1.
Il y a deux types d'appels disponibles pour faire du polling. Dans les deux cas si la ressource est disponible, tu y accèdes sans soucis. Dans le cas contraire, si l'appel est bloquant ton processus est marqué comme endormi et sera réveillé par l'OS dès qu'une ressource sera disponible, si l'appel est non bloquant c'est que tu as fait un appel asynchrone à ta ressource et un signal réveillera ton processus donc tu peux l'endormir tranquillement. Le risque que je vois c'est que plusieurs processus s'allouent des ressources en même temps pour ensuite se retrouver tous en attente de la disponibilité d'une ressource alors qu'au final on est limité en nombre de CPU...
[^] # Re: dénouement alternatif
Posté par tyoup . En réponse à la dépêche Steve Jobs (1955-2011). Évalué à -2.
Quel dogme alternatif nous proposes-tu ?
[^] # Re: Moi j'aime pas (la dépêche)
Posté par tyoup . En réponse à la dépêche Steve Jobs (1955-2011). Évalué à -1.
non c'est caricatural et caritatif
[^] # Re: Embarrassing...
Posté par tyoup . En réponse à la dépêche Les serveurs de kernel.org ont été compromis. Évalué à 0.
c'est ça de ne pas mettre à jour son antivirus :-)
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -5.
En gros il n'y a pas d'ambiguïté, elle est morte dans l'oeuf, on n'a même pas appliqué la moindre règle que l'ambiguïté est résolue. Pourquoi parler de grammaire ambigüe ? Pourquoi parler de non context-free ? Pas besoin de backtracking sur l'analyse syntaxique, pas de multithreading, etc. On n'est pas à la limite du ridicule là ?
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -3.
mais si ! mais si ! je comprends très bien vos arguments ! bon, peut-être certains ici penseront que c'est faire preuve d'intelligence que de dire que la grammaire du C si elle était context-free elle serait ambigüe donc context-sensitive on s'en sort que comme ça et c'est moche, moi non ! je propose juste une alternative car je pense qu'on passe à côté d'une chose essentielle : la base de toute grammaire c'est le lexème, l'unité de sens, le caractère n'en est pas une. je propose juste une approche qui me semble plus élégante et plus juste : pas d'ambigüité, context-free et surtout plus proche de la sémantique que tout le monde verra dans le programme. ya rien d'impossible dans cette démarche (la seule possible d'ailleurs ? l'autre est réalisable ?). c'est l'approche qui me semble la bonne. une grammaire reste un outil, à chacun de savoir l'utiliser correctement. voilà mon point de vue, c'est plus clair ?
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -2.
ambigus, pardon, posté trop vite
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -2.
il y a des langages amibus ?
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -3.
Si tu souhaites analyser "x * y;" et que ton lexer retourne identifiant quelque soit le type de x et de y alors ta grammaire est ambigüe et par conséquent impossible à analyser (en tout cas avec l'approche utilisée par tout langage de programmation). Quand tu lis une définition de x tu définis son type. Quand tu lis x tu retournes son type. Une petite pile pour gérer le tout et le tour est joué. C'est le sens du lexème qui joue pas celui de l'arbre syntaxique.
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -1.
Un exemple avec lex
Un autre avec antlr
Je dirais plutôt que "L'un de nous deux n'a pas dû (encore) faire de projet compil" a plus de chance d'être vrai...
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -2.
je cite Wikipedia
The languages generated by context-free grammars are known as the context-free languages.
Je pense que ton idée de "langage context-free" n'est ni techniquement (contraintes de mémoire et de cpu) ni même intellectuellement viable (imagine que tu veuilles interdire la définition d'une même variable plusieurs fois avec la même portée, c'est de la folie pure et simple).
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -3.
bah le problème est résolu par l'analyse lexicale, certes il y a un contexte mais pas celui de la grammaire.
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -2.
ah ? je n'ai jamais entendu parler de cette différence entre langage context-free et grammaire context-free, aurais-tu des liens ?
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -2.
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -3.
Une vache cuit une grimace sur une locomotive.
[^] # Re: commentaires
Posté par tyoup . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à -1.
Et sous PHP on est sauvés ?
$x * $y;
:-)
[^] # Re: Pourquoi faire simple quand on peut faire compliqué ?
Posté par tyoup . En réponse à la dépêche Évolutions techniques de systemd. Évalué à 1.
rholala si on ne peut plus s'amuser à mettre les mains dans le cambouis pour bidouiller son pingouin où est le fun ? et puis quoi de plus flexible qu'un langage de script pour déclarer l'initialisation de ses services, les trucs spécifiques à chaque plateforme tout ça ?
bon ça reste sympa parce que la démarche est trollifère mais à ce compte là quitte à proposer ce genre d'innovation pourquoi pas ne pas faire péter le trollomètre en intégrant systemd au noyau ?
[^] # Re: •Le titre est obligatoire
Posté par tyoup . En réponse à la dépêche FreeBSD 9 pointe le bout du nez. Évalué à 4.
mets juste "Vous pouvez éditer ce paragraphe en cliquant dessus" et le ticket se remplira tout seul...
[^] # Re: Le nuclaire, une solution ?????
Posté par tyoup . En réponse au sondage Quelle énergie pour demain ?. Évalué à 0.
80% de la demande en électricité soit dans les 20% de notre consommation énergétique globale... donc euh si on épuise les ressources en hydrocarbures on va effectivement avoir besoin de quelques centrales nucléaires par-ci par-là...
[^] # Re: Pourquoi C ?
Posté par tyoup . En réponse à la dépêche Veracity, un nouveau gestionnaire de versions décentralisé. Évalué à -1.
beurk !! quoi de pire dans un programme que d'avoir une dépendance ?? ça génère des conflits, il faut faire attention aux mises à jour de sécurité, tout casser à chaque fois en rajoutant des bugs, c'est tout sauf passionnant, il faut synchroniser les mises à jour des composants partagés, il faut apprendre le fonctionnement, trouver la doc qui n'existe pas, tâtonner, contourner les limitations et les anomalies... fiou que de contraintes, vive le logiciel LIBRE !
[^] # Re: Dépassement de tampon
Posté par tyoup . En réponse à la dépêche Naissance d'un géant : Java. Évalué à -1.
il suffit de corrompre une taille de buffer non ?
[^] # Re: Dépassement de tampon
Posté par tyoup . En réponse à la dépêche Naissance d'un géant : Java. Évalué à -1.
C'est à un sage conseil qu'il nous a donnés ?
[^] # Re: Chacun son style
Posté par tyoup . En réponse à la dépêche Naissance d'un géant : Java. Évalué à 2.
Ben comme pour PHP quoi...