Составление программа удаляющий всех комментариев из текст программы написанные на С++

Автор: Пользователь скрыл имя, 16 Февраля 2012 в 17:19, курсовая работа

Описание работы

Эволюция языков программирования с момента появления первых электронных компьютеров, построенных для выполнения расчётов траектории движения артиллерийских снарядов во время второй мировой войны, была довольно драматической. Раньше программисты работали с самыми примитивными компьютерными командами, представлявшими собой часть машинного языка. Эти команды состояли из длинных строк единиц и нулей. Вскоре были изобретены ассемблеры, которые могли отображать машинные команды в мнемоническом представлении, более понятном для человека (например, команды ADD или MOV).

Содержание

ВВЕДЕНИЕ
ГЛАВА I. Комментарии
1.1. О комментариях………………………………………………
1.2. Типы комментариев на языке С++………………………….
1.3.Алгоритм удаление всех комментариев из текста программ написанный на языке С++……………………………………………….
ГЛАВА II. Компоненты Java Swing.
2.1. О Java Swing …………………………………………………..
2.2. Нужные компоненты Java Swing…………………………….
ЗАКЛЮЧЕНИЕ`……………………………………………………………
БИБЛИОГРАФИЧЕСКИЙ СПИСОК………

Работа содержит 1 файл

Введение.doc

— 891.50 Кб (Скачать)

                .addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)

                .addContainerGap())

        );

        jPanel4Layout.setVerticalGroup(

            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()

                .addContainerGap(13, Short.MAX_VALUE)

                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

                    .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)

                    .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)

                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)

                    .addComponent(jButton2)

                    .addComponent(jButton5)

                    .addComponent(jButton6)

                    .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)

                    .addComponent(jButton3))

                .addContainerGap())

        );

        jLabel5.setFont(new java.awt.Font("Tahoma", 1, 12));        jLabel5.setText("Программа удаляюший всех комментариев РёР• текста программ написанный РЅР° РЎ++");

        jLabel6.setFont(new java.awt.Font("Tahoma", 1, 12));

        jLabel6.setText("Количество комментариев"); 

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

        jPanel1.setLayout(jPanel1Layout);

        jPanel1Layout.setHorizontalGroup(

            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(jPanel1Layout.createSequentialGroup()

                .addGap(20, 20, 20)

                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

                    .addComponent(jPanel4, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()

                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                            .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

                            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 468, javax.swing.GroupLayout.PREFERRED_SIZE))

                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel1Layout.createSequentialGroup()

                                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                                    .addGroup(jPanel1Layout.createSequentialGroup()

                                        .addGap(19, 19, 19)

                                        .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                                            .addGroup(jPanel1Layout.createSequentialGroup()

                                                .addGap(18, 18, 18)

                                                .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE))

                                            .addGroup(jPanel1Layout.createSequentialGroup()

                                                .addGap(41, 41, 41)

                                                .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE))))

                                    .addGroup(jPanel1Layout.createSequentialGroup()

                                        .addGap(10, 10, 10)

                                        .addComponent(jLabel6)))

                                .addGap(18, 18, 18)

                                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 518, Short.MAX_VALUE))

                            .addGroup(jPanel1Layout.createSequentialGroup()

                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))

                .addContainerGap())

           .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

                .addContainerGap(349, Short.MAX_VALUE)

                .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 547, javax.swing.GroupLayout.PREFERRED_SIZE)

                .addGap(317, 317, 317))

        );

        jPanel1Layout.setVerticalGroup(

            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addGroup(jPanel1Layout.createSequentialGroup()

                .addContainerGap()

                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                    .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

                    .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

                .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 438, Short.MAX_VALUE)

                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

                        .addGap(194, 194, 194)

                        .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)

                        .addGap(46, 46, 46)

                        .addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)

                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                        .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

                        .addGap(35, 35, 35))

                    .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 433, javax.swing.GroupLayout.PREFERRED_SIZE))

                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

                .addComponent(jLabel5, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

                .addContainerGap())

        );

        jMenu1.setText("File");

        jMenuBar1.add(jMenu1);

        jMenu2.setText("Edit");

        jMenuBar1.add(jMenu2);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

        getContentPane().setLayout(layout);

        layout.setHorizontalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

        );

        layout.setVerticalGroup(

            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

            .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

        ); 

        pack();

    }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

    String ss = "";

    int soni = 0;

    jTextArea2.setText("");

    if (jTextField1.getText()==null || jTextField1.getText().length()==0)

        ss = jTextArea1.getText();

    else {

            try {

                Scanner sc = new Scanner(new File(jTextField1.getText()));

                while (sc.hasNext()) {

                    ss += sc.nextLine()+"\n";

                }

            } catch (FileNotFoundException ex) {

                Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

            }

           

    }

    add = "";

    cnt = 0;

    boolean first_com = false;

    boolean line_com = false;

    boolean string = false;

    boolean[]f = new boolean[100000];

    boolean[]f2 = new boolean[100000];

    for (int i = 0; i < ss.length(); i++) {

        char w = ss.charAt(i);

        if (w==10 || w==13) {

            if (f[cnt] || !f2[cnt]) {

                add += w;

                cnt++;

            }

            line_com = false;

            string = false;

            continue;

        }

        f2[cnt] = true;

        if (w=='/' && i < ss.length()-1 && ss.charAt(i+1)=='*') {

            if (!first_com && !string && !line_com) {

                first_com = true;

                i++;

                soni++;

                continue;

            }

        }

        if (w=='*' && i < ss.length()-1 && ss.charAt(i+1)=='/') {

            if (first_com) {

                first_com = false;

                i++;

Информация о работе Составление программа удаляющий всех комментариев из текст программы написанные на С++